/* * The open chapter tracks the newest records in memory. Like the index as a whole, each open * chapter is divided into a number of independent zones which are interleaved when the chapter is * committed to the volume.
*/
enum {
OPEN_CHAPTER_RECORD_NUMBER_BITS = 23,
};
struct open_chapter_zone_slot { /* If non-zero, the record number addressed by this hash slot */ unsignedint record_number : OPEN_CHAPTER_RECORD_NUMBER_BITS; /* If true, the record at the index of this hash slot was deleted */ bool deleted : 1;
} __packed;
struct open_chapter_zone { /* The maximum number of records that can be stored */ unsignedint capacity; /* The number of records stored */ unsignedint size; /* The number of deleted records */ unsignedint deletions; /* Array of chunk records, 1-based */ struct uds_volume_record *records; /* The number of slots in the hash table */ unsignedint slot_count; /* The hash table slots, referencing virtual record numbers */ struct open_chapter_zone_slot slots[];
};
int __must_check uds_make_open_chapter(conststruct index_geometry *geometry, unsignedint zone_count, struct open_chapter_zone **open_chapter_ptr);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.