Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
More fine grained versioning of GBPTree format
Previously there was this global FORMAT_VERSION that controlled a single format version of the whole GBPTree (and index component in general). Now with the introduction of dynamic-size format in additional to the fixed-size this required a change because there's now two active formats concurrently. This change goes a bit further than that in that it splits up the version int in four pieces, four different versions of a GBPTree. Two of them are used now, which are format identifier and format version. Only the format identifier is used now, sort of, but soon perhaps the format version will also come into play. The two remaining versions are left as unused for now. Format identifier for fixed-size format is kept at 2, which was the old FORMAT_VERSION and its version set to 0. This keeps backwards compatibility with existing indexes. Any existing dynamic-size indexes created before this commit will have to be recreated, but in practice this will not be a problem because it shouldn't really be used anywhere. Logic for open/create in GBPTree constructor has had some slight face lift to be able to handle this new format diversity, introducing Meta class for reading/writing and also verifying meta page.
- Loading branch information
Showing
19 changed files
with
538 additions
and
148 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.