minovakovi / akdb

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

fix: refactor ak_print_block function and fix memory leak and code fi… #271

Closed Marko2407 closed 5 months ago

Marko2407 commented 1 year ago

u dbman.c file je u funkciji AK_print_block razdvojen dio za print header, tuple i data u posebne funkcije koje se zove

void printHeader(FILE fp, AK_block block), void printTuple(FILE fp, AK_block block), void printData(FILE fp, AK_block block)

rade isto kao i u prethodnoj implementaciji ali je sada citkije puno, ostatak file nije diran osim sto se formatiranje cijelog file napravio da odgovara c++ jeziku pa je zato cijeli fajl izmijenjen iako nema promjena.

u table.c provjerena je svaka funkcija, u nekoliko funkcija je dodana provjera vrijednosti koje su ulazni parametar u funkciju isto tako dealokacija memorije gdje je potrebno sa AK_free();

Kod while petlji nekoliko puta se zvalo while(1) sto izaziva beskonacnu petlju to je popravljeno. funckije (AK_num_attr() i AK_get_header()).

kod nekoliko funkcija se nakon fp = fopen(FILEPATH, "a") dodala provjera da nije null kako bi se hendlao error.

Overall: dbman.c se samo jedna funkcija poboljsala a to je AK_print_bloc(), ostalo je lint format. table.c je provjerena svaka funckija, tamo gdje je bilo mjesta za poboljsanjem se poboljsalo u smisli error hendlinga, sprjecavanja memmory leaka ili provjera vrijednosti.

I dalje sve funckionira nakon promjena kako je bilo i prije promjena.