|
static void | throw_database_closed () |
| Throw an exception indicating that the database is closed. More...
|
|
bool | find (Glass::Cursor *) const |
| find(C_) searches for the key of B->kt in the B-tree. More...
|
|
int | delete_kt () |
|
void | read_block (uint4 n, uint8_t *p) const |
| read_block(n, p) reads block n of the DB file to address p. More...
|
|
void | write_block (uint4 n, const uint8_t *p, bool appending=false) const |
| write_block(n, p, appending) writes block n in the DB file from address p. More...
|
|
void | set_overwritten () const |
|
void | block_to_cursor (Glass::Cursor *C_, int j, uint4 n) const |
|
void | alter () |
| Btree::alter(); is called when the B-tree is to be altered. More...
|
|
void | compact (uint8_t *p) |
| compact(p) compact the block at p by shuffling all the items up to the end. More...
|
|
void | enter_key_above_leaf (Glass::LeafItem previtem, Glass::LeafItem newitem) |
| enter_key_above_leaf(previtem, newitem) is called after a leaf block split. More...
|
|
void | enter_key_above_branch (int j, Glass::BItem newitem) |
| enter_key_above_branch(j, newkey) is called after a branch block split. More...
|
|
int | mid_point (uint8_t *p) const |
| mid_point(p) finds the directory entry in c that determines the approximate mid point of the data in the block at p. More...
|
|
void | add_item_to_leaf (uint8_t *p, Glass::LeafItem kt, int c) |
| add_item_to_leaf(p, kt_, c) adds item kt_ to the leaf block at p. More...
|
|
void | add_item_to_branch (uint8_t *p, Glass::BItem kt, int c) |
| add_item_to_branch(p, kt_, c) adds item kt_ to the branch block at p. More...
|
|
void | add_leaf_item (Glass::LeafItem kt) |
| GlassTable::add_leaf_item(kt_) adds item kt_ to the leaf block. More...
|
|
void | add_branch_item (Glass::BItem kt, int j) |
| GlassTable::add_item(kt_, j) adds item kt_ to the block at cursor level C[j]. More...
|
|
void | delete_leaf_item (bool repeatedly) |
| GlassTable::delete_leaf_item(repeatedly) is (almost) the converse of add_leaf_item. More...
|
|
void | delete_branch_item (int j) |
| GlassTable::delete_branch_item(j, repeatedly) is (almost) the converse of add_branch_item. More...
|
|
int | add_kt (bool found) |
| add_kt(found) adds the item (key-tag pair) at B->kt into the B-tree, using cursor C. More...
|
|
void | read_root () |
|
void | split_root (uint4 split_n) |
| Btree needs to gain a new level to insert more items: so split root block and construct a new one. More...
|
|
void | form_key (const std::string &key) const |
|
bool | single_file () const |
|
bool | prev (Glass::Cursor *C_, int j) const |
|
bool | next (Glass::Cursor *C_, int j) const |
|
bool | prev_default (Glass::Cursor *C_, int j) const |
|
bool | next_default (Glass::Cursor *C_, int j) const |
|
bool | prev_for_sequential (Glass::Cursor *C_, int dummy) const |
|
bool | next_for_sequential (Glass::Cursor *C_, int dummy) const |
|
static int | find_in_leaf (const uint8_t *p, Glass::LeafItem item, int c, bool &exact) |
| find_in_leaf(p, key, c, exact) searches for the key in the leaf block at p. More...
|
|
static int | find_in_branch (const uint8_t *p, Glass::LeafItem item, int c) |
|
static int | find_in_branch (const uint8_t *p, Glass::BItem item, int c) |
|
static uint4 | block_given_by (const uint8_t *p, int c) |
| block_given_by(p, c) finds the item at block address p, directory offset c, and returns its tag value as an integer. More...
|
|
const char * | tablename |
| The name of the table (used when writing changesets). More...
|
|
glass_revision_number_t | revision_number |
| revision number of the opened B-tree. More...
|
|
glass_tablesize_t | item_count |
| keeps a count of the number of items in the B-tree. More...
|
|
unsigned int | block_size |
| block size of the B tree in bytes More...
|
|
int | flags |
| Flags like DB_NO_SYNC and DB_DANGEROUS. More...
|
|
bool | faked_root_block |
| true if the root block is faked (not written to disk). More...
|
|
bool | sequential |
| true iff the data has been written in a single write in sequential order. More...
|
|
int | handle |
| File descriptor of the table. More...
|
|
int | level |
| number of levels, counting from 0 More...
|
|
uint4 | root |
| the root block of the B-tree More...
|
|
Glass::LeafItem_wr | kt |
| buffer of size block_size for making up key-tag items More...
|
|
uint8_t * | buffer |
| buffer of size block_size for reforming blocks More...
|
|
GlassFreeList | free_list |
| List of free blocks. More...
|
|
std::string | name |
| The path name of the B tree. More...
|
|
int | seq_count |
| count of the number of successive instances of purely sequential addition, starting at SEQ_START_POINT (neg) and going up to zero. More...
|
|
uint4 | changed_n |
| the last block to be changed by an addition More...
|
|
int | changed_c |
| directory offset corresponding to last block to be changed by an addition More...
|
|
size_t | max_item_size |
| maximum size of an item (key-tag pair) More...
|
|
bool | Btree_modified |
| Set to true the first time the B-tree is modified. More...
|
|
bool | full_compaction |
| set to true when full compaction is to be achieved More...
|
|
bool | writable |
| Set to true when the database is opened to write. More...
|
|
bool | cursor_created_since_last_modification |
| Flag for tracking when cursors need to rebuild. More...
|
|
unsigned long | cursor_version |
| Version count for tracking when cursors need to rebuild. More...
|
|
GlassChanges * | changes_obj |
| The GlassChanges object to write block changes to. More...
|
|
Glass::Cursor | C [GLASS_BTREE_CURSOR_LEVELS] |
|
uint8_t * | split_p |
| Buffer used when splitting a block. More...
|
|
uint4 | compress_min |
| Minimum size tag to try compressing (0 for no compression). More...
|
|
CompressionStream | comp_stream |
|
bool | lazy |
| If true, don't create the table until it's needed. More...
|
|
uint4 | last_readahead |
| Last block readahead_key() preread. More...
|
|
off_t | offset |
| offset to start of table in file. More...
|
|