minovakovi / akdb

An experimental relational DBMS developed by students @ Faculty of Organization and Informatics, University of Zagreb
6 stars 16 forks source link

Testirati SQL u serveru/klijentu i popisati nedostatke #161

Open minovakovi opened 2 years ago

minovakovi commented 2 years ago

U klijentskom sučelju testirati sve SQL naredbe i popisati ih. Provjeriti koje još naredbe su implementirane na strani C koda (bilo u obliku konkretne naredbe, bilo u obliku funkcionalnosti koja se može upotrijebiti), a nisu u Pythonu te ih također popisati. Na kraju, provjeriti koje standardne SQL naredbe nisu obuhvaćene niti prvim niti drugim dijelom, te ih također popisati. Sve popise poslati ovamo u komentar.

Link(https://github.com/AILab-FOI/akdb/issues/176)

kmedenjak commented 2 years ago

Javljam se za ovaj issue.

kmedenjak commented 2 years ago

Nakon pokretanja servera i klijenta te korištenja uputa na koji se način testovi provode javljaju se greške. Priložene su fotografije s greškama i načinom pokretanja. Klijent i upute FOBP1 Greška kod servera FOBP2

ghost commented 1 year ago

Javljam se za ovaj issue

ghost commented 1 year ago

Popis naredbi koje se nalaze na strani klijenta:

\p – print table command \ps – print system table command \d – table details command \t – table exists command \? - Help will appear, with instructions \q - Disconnect from the server and quit akdb client history - List all previously typed commands create sequence command create table command create index command create trigger command insert into command create group command grant command drop command update command select command

Popis naredbi koje se nalaze u sučelju klijenta i testiranje naredbi prema datoteci sql_executor.py u srv mapi:

\? – Naredba bi trebala ispisati sve naredbe podržane u akdb image

Naredba ne radi jer se pojavljuje sljedeća greška: image

create table – naredba za stvaranje tablice Nakon izvršavanja naredbe prikazuje se poruka da je tablica kreirana: image

\t – Naredba bi trebala provjeriti postoji li određena tablica u bazi podataka Naredba ne radi i greška je prikazana ispod: image

\p – Naredba bi trebala ispisati tablice, ali ne radi: image

\d – Naredba bi trebala ispisati pojedinosti za određenu tablicu, a nakon što se izvrši prikazuje sljedeće: image

\ps – Naredba bi trebala ispisati tablice sustava, ali postoji greška: image

\q – Naredba bi trebala prekinuti vezu s poslužiteljem i zatvoriti akdb klijenta, ali ne radi: image

history – Naredba bi trebala ispisati sve prethodno napisane naredbe u terminalu, ali ne radi: image

create index – stvaranje ideksa Nakon izvršavanja naredbe pojavljuje se sljedeća greška: image

create sequence – stvaranje sekvence, ne radi i postoji ista greška kao i za create index naredbu create trigger – stvaranje okidača, ali ne radi i postoji ista greška kao i za create index i create sequence naredbe insert into – naredba za unos vrijednosti u tablicu koja ne radi jer postoji ista greška kao i kod prethodnih naredbi create group – naredba za kreiranje grupe koja ne radi jer je zakomentiran kod u sql_executor.py datoteci drop table – naredba za brisanje tablica koja ne radi jer postoji ista greška kao u prethodnim naredbama select – naredba za dohvaćanje podataka u tablici Nakon upisivanja naredbe ispisuje se sljedeće: image

update – naredba koja se koristi za izmjenu postojećih zapisa u tablici Nakon izvršavanja ispisuje se sljedeće: image

grant – naredba za dodijelu povlastica nad tablicama koja ne radi: image

Testiranje naredbi unutar servera:

stop – naredba koja gasi server i nakon upisivanja naredbe server se gasi start – naredba za pokretanje servera i nakon upisivanja naredbe server se pokreće: 14

Testovi:

Nakon što se upiše naredba testme provode se testovi i postoji dosta grešaka: 15

Naredbe koje su implementirane na strani C koda, a nisu u Pythonu:

int AK_trigger_edit() int AK_trigger_rename() int AK_revoke_privilege_group() int Ak_delete_row() int AK_function_change_return_type() int AK_user_rename()
int AK_revoke_priviledge_user() int AK_check_privilege() int AK_check_user_privilege() int AK_funtion_rename()

Standardne SQL naredbe koje nisu obuhvaćene niti jednim dijelom:

CREATE DATABASE ALTER DATABASE BACKUP DATABASE DROP DATABASE ABORT CREATE DOMAIN DROP DOMAIN COMMENT TRUNCATE VACUUM LOCK CLUSTER CHECKPOINT ANALYZE SAVEPOINT

ababic20 commented 5 months ago

Javljam se za ovaj issue.