it's record numbers, not offsets
This commit is contained in:
12
FORMAT
12
FORMAT
@@ -55,12 +55,12 @@ All integers are stored LITTLE ENDIAN.
|
||||
uint32_t hash_table[hash_table_size];
|
||||
uint32_t lists[];
|
||||
/* if a hash table entry is 0, return not found. */
|
||||
/* if a hash table entry points to before this index, there is
|
||||
* exactly one record matching this hash, and the offset points
|
||||
* there. */
|
||||
/* if a hash table entry points somewhere in lists, there were
|
||||
* hash collisions; The first uint32_t at the offset is the
|
||||
* length of the list, the rest are the offsets of the records */
|
||||
/* if a hash table entry is a number smaller than the offset of
|
||||
this index, there is exactly one record matching this hash, and
|
||||
the entry contains the number of the record. */
|
||||
/* if a hash table entry is larger than the offset of this index,
|
||||
there were hash collisions; The first uint32_t at the offset
|
||||
is the length of the list, the rest are the record numbers */
|
||||
}
|
||||
|
||||
The indices are at the end to make it possible to add more indices.
|
||||
|
||||
Reference in New Issue
Block a user