Releases: andy-byers/CalicoDB
Releases 路 andy-byers/CalicoDB
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.c
that would have likely resulted in data loss/corruption - Added some tests to
test_crashes.cpp
that 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.cpp
that 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 馃惐