Previous: Creating database structure, Up: Creating database structure


5.1.1 Accessing meta-scheme

In the case of empty database Meta-scheme contains database super-block and few internal files as “list of all files” - “$file”, list of free-ed blocks “ Adb_Internal_fl_of_blocks”, list of unique identifyers “Adb_Internal_recid” , Adb_Internal_link and Adb_Interal_locks ( the last two are part of alpha quality inheriance mechanism and may be changed/removed in the near future ) Each of internal files are created/red/written by the exactly same interface as user's files etc.

struct $file // avldb
{
        char name[32] ; // idx 0
} ;

struct Adb_Internal_fl_of_blocks // avldb
{
        long long offset ; // idx 0 
        int size ;
} ;

struct Adb_Internal_recid // avldb
{
        unsigned long long recid ; // idx 0
        int mfile ; // idx 1
        long long dst_bh_offset ; // idx 2
        int dst_rec_offset ; // idx 3
} ;

struct Adb_Internal_link // avldb
{
        unsigned long long lid ; // idx 0
        unsigned long long recid ; // idx 1
} ;

struct Adb_Interal_locks // avldb
{
        unsigned long long lid ; // idx 0
} ;