![]() |
ProvSQL C/C++ API
Adding support for provenance and uncertainty management to PostgreSQL databases
|
Open-addressing hash table mapping UUIDs to integers, backed by an mmap file. More...


Go to the source code of this file.
Classes | |
| class | MMappedUUIDHashTable |
| Persistent open-addressing hash table mapping UUIDs to integers. More... | |
| struct | MMappedUUIDHashTable::value_t |
| One slot in the hash table: a UUID key and its associated integer value. More... | |
| struct | MMappedUUIDHashTable::table_t |
| On-disk layout of the hash table stored in the mmap file. More... | |
Open-addressing hash table mapping UUIDs to integers, backed by an mmap file.
MMappedUUIDHashTable provides a persistent hash table that maps 128-bit UUID keys to sequential unsigned-long integers (used as gate indices into the MMappedVector of GateInformation). The table is stored in a memory-mapped file so that it survives PostgreSQL restarts and is accessible by multiple processes.
Design constraints:
MAXIMUM_LOAD_FACTOR the table is doubled in size and rehashed.Access to the table from multiple processes is serialised via the ProvSQL LWLock in provsqlSharedState.
Definition in file MMappedUUIDHashTable.h.