| Name | Type | Description |
|---|---|---|
| BlockOffset | ajulong | Offset within main index |
| Nkeys | ajuint | Number of keys filled |
| TotLen | ajuint | Total length of keys |
| Left | ajulong | Left Sibling |
| Right | ajulong | Right Sibling |
| Overflow | ajulong | Offset to overflow block |
| PrevNode | ajulong | Previous node |
| NodeType | ajuint | Root, Internal or Leaf |
| Padding | char[4] | Padding to alignment boundary |
| Name | Type | Description |
|---|---|---|
| next | struct AjSBtMem* | next node |
| prev | struct AjSBtMem* | previous node |
| karray | AjPStr* | key array (primary trees) |
| parray | ajulong* | pointer arrays (primary and secondary trees) |
| overflows | ajulong* | overflows (primary) and keys (secondary) |
| used | AjBool | node in use |
| Padding | char[4] | Padding to alignment boundary |
| Name | Type | Description |
|---|---|---|
| id | AjPStr | Unique ID |
| offset | ajulong | Offset within database file (ftello) |
| refoffsets | ajulong* | Offset within reference database file(s) (ftello) |
| dbno | ajuint | Database file number |
| dups | ajuint | Duplicates |
| refcount | ajuint | Number of reference files |
| Padding | char[4] | Padding to alignment boundary |
| Name | Type | Description |
|---|---|---|
| dbno | ajuint | Database file number |
| refcount | ajuint | Number of reference files (zero, for padding) |
| offset | ajulong | Offset within database file (ftello) |
| Name | Type | Description |
|---|---|---|
| dbno | ajuint | Database file number |
| refcount | ajuint | Number of reference files (one, for padding) |
| offset | ajulong | Offset within database file (ftello) |
| refoffset | ajulong | Offset within reference file (ftello) |
| Name | Type | Description |
|---|---|---|
| id | AjPStr | Wildcard ID |
| pagepos | ajulong | Page number of leaf |
| list | AjPList | list of AjPBtIds |
| first | AjBool | true for first search |
| Padding | char[4] | Padding to alignment boundary |
Key, file number, ftell ID, subkey page (char*, ajuint, ajulong, ajulong)
| Name | Type | Description |
|---|---|---|
| NodeType | ajuint | Node type |
| Maxentries | ajuint | Number of entries available |
| Nentries | ajuint | Number of entries |
| Padding | ajuint | Padding to alignment boundary |
| Overflow | ajulong | Offset to overflow block |
| keylen | ajuint* | Key lengths |
| Ids | AjPBtId* | Ids |
| Name | Type | Description |
|---|---|---|
| offset | ajulong | Offset within database file (ftello) |
| refoffsets | ajulong* | Offset within reference database file(s) (ftello) |
| dbno | ajuint | Database file number |
| refcount | ajuint | Number of reference files |
Key, file number, ftell ID, subkey page (char*, ajuint, ajulong, ajulong)
| Name | Type | Description |
|---|---|---|
| NodeType | ajuint | Node type |
| Maxentries | ajuint | Number of entries available |
| Nentries | ajuint | Number of entries |
| Padding | ajuint | Padding to alignment boundary |
| Overflow | ajulong | Offset to overflow block |
| NumId | AjPBtNumId* | secondary tree IDs |
| Name | Type | Description |
|---|---|---|
| pagepos | ajulong | Page number |
| next | struct AjSBtpage* | Next page |
| prev | struct AjSBtpage* | Previous page |
| buf | unsigned char* | Buffer |
| dirty | ajuint | BT_DIRTY if page needs to be written to disc |
| lockfor | ajuint | Reason for last setting of dirty as BT_LOCK |
| Name | Type | Description |
|---|---|---|
| fp | FILE* | Tree index file pointer |
| filename | AjPStr | Filename |
| basename | AjPStr | File base name |
| plru | AjPBtpage | Least recently used primary cache page |
| pmru | AjPBtpage | Most recently used primary cache page |
| slru | AjPBtpage | Least recently used secondary cache page |
| smru | AjPBtpage | Most recently used secondary cache page |
| bmem | AjPBtMem | Primary array allocation MRU bottom |
| tmem | AjPBtMem | Primary array allocation MRU top |
| bsmem | AjPBtMem | Secondary array allocation MRU bottom |
| tsmem | AjPBtMem | Secondary array allocation MRU top |
| replace | AjPStr | Replacement ID |
| pripagetable | AjPTable | Table of cached primary pages |
| secpagetable | AjPTable | Table of cached secondary pages |
| totsize | ajulong | Tree index total length used |
| maxsize | ajulong | Tree index total length available |
| filesize | ajulong | Tree index length after any compression |
| pripagecount | ajulong | Tree index number of primary pages |
| secpagecount | ajulong | Tree index number of secondary pages |
| secrootblock | ajulong | Secondary tree root block |
| numreplace | ajulong | Replacement numeric ID |
| countunique | ajulong | Number of unique tokens indexed |
| countall | ajulong | Number of total tokens indexed |
| pricachehits | ajulong | Number of primnary cached page reads |
| seccachehits | ajulong | Number of secondary cached page reads |
| prireads | ajulong | Number of physical primary page reads from disk |
| secreads | ajulong | Number of physical secondary page reads from disk |
| priwrites | ajulong | Number of physical primary page writes to disk |
| secwrites | ajulong | Number of physical secondary page writes to disk |
| pripagesize | ajuint | Size of primary cache pages |
| secpagesize | ajuint | Size of secondary cache pages |
| prilistLength | ajuint | Number of pages in primary cache |
| seclistLength | ajuint | Number of pages in secondary cache |
| porder | ajuint | Order of primary tree |
| plevel | ajuint | Depth of primary tree |
| pnperbucket | ajuint | Number of entries in a primary bucket |
| pricachesize | ajuint | Maximum number of pages to cache |
| sorder | ajuint | Order of secondary tree |
| slevel | ajuint | Depth of secondary tree |
| snperbucket | ajuint | Number of entries in a secondary bucket |
| seccachesize | ajuint | Maximum number of pages to cache |
| keylimit | ajuint | Max length of primary key |
| idlimit | ajuint | Max length of secondary key |
| refcount | ajuint | Number of extra files for each entry |
| secondary | AjBool | Secondary index |
| readonly | AjBool | Read only flag |
| dodelete | AjBool | Deletion flag |
| compressed | AjBool | Index is compressed |
| Name | Type | Description |
|---|---|---|
| keyword | AjPStr | keyword |
| treeblock | ajulong | root block of secondary tree |
| id | AjPStr | Id string |
| Name | Type | Description |
|---|---|---|
| NodeType | ajuint | Node type |
| Maxentries | ajuint | Number of entries available |
| Nentries | ajuint | Number of entries |
| Padding | ajuint | Padding to alignment boundary |
| Overflow | ajulong | Offset to overflow block |
| keylen | ajuint* | key lengths |
| codes | AjPBtPri* | Primary keywords |
| Name | Type | Description |
|---|---|---|
| NodeType | ajuint | Node type |
| Maxentries | ajuint | Number of entries available |
| Nentries | ajuint | Number of entries |
| Padding | ajuint | Padding to alignment boundary |
| Overflow | ajulong | Offset to overflow block |
| keylen | ajuint* | key lengths |
| SecIds | AjPStr* | Ids |
| Name | Type | Description |
|---|---|---|
| keyword | AjPStr | Wildcard keyword |
| prefix | AjPStr | Wildcard keyword prefix |
| pagepos | ajulong | Page number of primary tree leaf |
| list | AjPList | list of AjPBtPris |
| cache | AjPBtcache | cache for secondary tree |
| idlist | AjPList | list of AjPStr IDs |
| secpagepos | ajulong | Page number of secondary tree leaf |
| first | AjBool | true for first search |
| Padding | char[4] | Padding to alignment boundary |