Releases: andy-byers/CalicoDB
Releases · andy-byers/CalicoDB
Release list
v0.2.0
Changelog
- Exposes a high-level virtual WAL interface
- Allow general purpose allocation functions to be customized for the process (via
calicodb::configure()API) - Correct the cursor history during upward rebalancing passes, then skip straight to the correct record afterward
- Fixes some concurrency issues and defers creation of the WAL until the first write transaction
- Go back to using memcpy and memcmp for the WAL index headers
- Was copying in chunks of atomic uint64_t, but this takes too long
- Causes readers to fail to read the header too frequently, slowing down the process of connecting
- Fixes issues relating to 32-bit platforms, and files larger than 4 GiB
- Adds CALICODB_DEBUG_DELAY macro (sometimes adds a random-length delay in debug builds) for provoking synchronization problems
- Got the file format fuzzer to work
v0.1.1
Fixes WAL File::sync() behavior
- Fixes a problem in
wal.cthat would have likely resulted in data loss/corruption - Added some tests to
test_crashes.cppthat make sureFile::sync()is being called at the correct locations, and that any unsync'd data can be lost without corrupting the database - Added a fuzzer,
db_format_fuzzer.cppthat tries to run a transaction on a database file made up of fuzzer input data- This will need a lot more work: the fuzzer produces crashes quickly (when provided a corpus of valid database files to start with)
- Fixed a few easy corruption problems revealed by the new fuzzer
- Added to the design docs
v0.1.0
First pre-release 🐱