Compile: make
The main task of this project is the implementation of generic 2-field disk file, using B+ tree, based on a given BlockFile library. For better file management Access method - AM - functions were implemented. It supports string, integer and floating point data. Specifically, the functions asked:
AM_Init(): initialize a global internal data structures.AM_CreateIndex(): create a file , based on a B+ tree index.AM_DestroyIndex(): destroy a file , based on a B+ tree.AM_OpenIndex(): open a previously created file , based on a B+ tree.AM_CloseIndex (): close an opened file , based on a B+ tree.AM_InsertEntry(): insert a new entry to a file, based on a B+ tree.AM_OpenIndexScan(): open a scan of the file, in order to find the entries that, satisfy a relationship between them indicated by a comparison operator. An example of comparison operator isEQUAL(key field == value of value).AM_FindNextEntry(): find the next entry that satisfies the comparison operator of a previous scan.AM_CloseIndexScan(): close a scan of the file, based on a B+ tree.AM_PrintError(): print the text shown by the errString parameter and then prints the message corresponding to the last error resulting from any of the AM level routines.AM_Close(): destroy any data structures created.
- bin: The code of the executables that are created.
- build: Contains all object files created during compilation.
- include: Contains all the header files project has.
- lib: Contains all the libraries you needed for project. It includes the libbf.so file, which is the library for the BF level.
- src: The code files (.c) of the application.
- examples: It contains a main file (bf_main.c) that uses the BF level as well as the main (main1.c, main2.c, main3.c) which use the AM level.
© Myrto Iglezou && Konstantinos Nikoletos