![]() |
ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
|
On-disk layout of the hash table stored in the mmap file. More...

Public Member Functions | |
| constexpr unsigned long | capacity () |
Maximum number of slots in the table (2^log_size). | |
Static Public Member Functions | |
| static constexpr std::size_t | sizeForLogSize (unsigned ls) |
Compute the file size required for a table with 2^ls slots. | |
| static constexpr unsigned | logSizeForSize (std::size_t size) |
| Compute the log2 of the slot count from the file size. | |
Public Attributes | |
| uint64_t | magic |
| File-type identifier. | |
| uint16_t | version |
| Format version (currently 1). | |
| uint16_t | elem_size |
| sizeof(value_t) at write time | |
| uint32_t | _reserved |
| Padding, must be 0. | |
| unsigned | log_size |
| log2 of the number of slots | |
| unsigned long | nb_elements |
| Current number of stored key-value pairs. | |
| unsigned long | next_value |
| Next integer value to assign to a new UUID. | |
| value_t | t [] |
| Flexible array of hash-table slots. | |
On-disk layout of the hash table stored in the mmap file.
The header fields are followed by a flexible array of value_t slots.
Definition at line 51 of file MMappedUUIDHashTable.h.
|
inlineconstexpr |
Maximum number of slots in the table (2^log_size).
Definition at line 80 of file MMappedUUIDHashTable.h.
|
inlinestaticconstexpr |
Compute the log2 of the slot count from the file size.
| size | File size in bytes. |
size. Definition at line 65 of file MMappedUUIDHashTable.h.

|
inlinestaticconstexpr |
Compute the file size required for a table with 2^ls slots.
| ls | Log2 of the desired slot count. |
Definition at line 57 of file MMappedUUIDHashTable.h.

| uint32_t MMappedUUIDHashTable::table_t::_reserved |
Padding, must be 0.
Definition at line 87 of file MMappedUUIDHashTable.h.
| uint16_t MMappedUUIDHashTable::table_t::elem_size |
sizeof(value_t) at write time
Definition at line 86 of file MMappedUUIDHashTable.h.
| unsigned MMappedUUIDHashTable::table_t::log_size |
log2 of the number of slots
Definition at line 88 of file MMappedUUIDHashTable.h.
| uint64_t MMappedUUIDHashTable::table_t::magic |
File-type identifier.
Definition at line 84 of file MMappedUUIDHashTable.h.
| unsigned long MMappedUUIDHashTable::table_t::nb_elements |
Current number of stored key-value pairs.
Definition at line 89 of file MMappedUUIDHashTable.h.
| unsigned long MMappedUUIDHashTable::table_t::next_value |
Next integer value to assign to a new UUID.
Definition at line 90 of file MMappedUUIDHashTable.h.
| value_t MMappedUUIDHashTable::table_t::t[] |
Flexible array of hash-table slots.
Definition at line 91 of file MMappedUUIDHashTable.h.
| uint16_t MMappedUUIDHashTable::table_t::version |
Format version (currently 1).
Definition at line 85 of file MMappedUUIDHashTable.h.