AILab-FOI/akdb

Refaktorirati SQL executor

Opened this issue · 4 comments

Ispraviti SQL executor kako bi se funkcije izvodile u serveru. Baciti pogled na napomene opisane u #176

  1. Refaktorirati funkcije u paketu kalashnikovDB tako da jednoj sql naredbi odgovara jedna funkcija. Svaka bi funkcija trebala primati argumente specifične za tu sql naredbu, a ne cijeli sql string.
  2. Svaka funkcija bi trebala vraćati rezultat, a ne ispisivati ga (kao što radi AK_print_table).
  3. Kreirati parser sql naredbi za svaku funkciju. Svaka funkcija u parseru bi trebala primati sql string, a vraćati dictionary argumenata za funkciju. Zajedno bi trebalo raditi ovako:

kwargs = kalashnikovDB.parse_create_table(sql)
kalashnikovDB.create_table(**kwargs)

Ideja je da sql_executor samo na osnovu unesenog sql-a odredi o kojoj je naredbi riječ, provjeri sintaksu, pozove određenu parser-funkciju i funkciju koja obavlja traženu operaciju.

Klase iz skripte sql_executor.py razdvojiti te napisati dodatnu
klasu koja koristi ostale -> clean code

Popraviti imenovanje u skripti sql_tokenizer.py (ime klase
započinje malim slovom, uskladiti AK i Ak u svim
datotekama...)

Odvojiti testne metode u skripti sql_tokenizer.py kao što je to
napravljeno i kod sql_executor.py + sql_executor_test.py (obratiti pozornost na #218)

Javljam se za rješavanje ovog zadatka

Javljam se za rješavanje ovog zadatka