X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=db.h;h=28bf84d9df60a6a003618931854e9b6fc36c3b5d;hb=fd6198891d6fd9642effc0843fef6f23b991af3e;hp=d4baf530096f0f640628b86b03623f6d168dfa24;hpb=c41f998855416a8619751653f3cedd9bc6f0f4c0;p=plocate diff --git a/db.h b/db.h index d4baf53..28bf84d 100644 --- a/db.h +++ b/db.h @@ -4,13 +4,30 @@ #include struct Header { - char magic[8]; // "\0plocate"; - uint32_t version; // 0. + char magic[8]; // "\0plocate"; + uint32_t version; // 2 is the current version. uint32_t hashtable_size; uint32_t extra_ht_slots; + uint32_t num_docids; uint64_t hash_table_offset_bytes; uint64_t filename_index_offset_bytes; -}; + + // Version 1 and up only. + uint32_t max_version; // Nominally 1 or 2, but can be increased if more features are added in a backward-compatible way. + uint32_t zstd_dictionary_length_bytes; + uint64_t zstd_dictionary_offset_bytes; + + // Only if max_version >= 2, and only relevant for updatedb. + uint64_t directory_data_length_bytes; + uint64_t directory_data_offset_bytes; + uint64_t next_zstd_dictionary_length_bytes; + uint64_t next_zstd_dictionary_offset_bytes; + uint64_t conf_block_length_bytes; + uint64_t conf_block_offset_bytes; + + // Only if max_version >= 2. + bool check_visibility; +}; struct Trigram { uint32_t trgm;