Repository navigation
This release introduces some improvements to durability.
Added
- Transactional Log (Double Write): A write-ahead log that records modified pages with CRC checksums before applying them to the main storage. Enables crash recovery and stronger ACID guarantees.
- Freelist Dirty Flag: Prevents redundant writes by tracking whether the freelist has changed. (Note: Further optimization planned — only modified freelist pages will be written.)
- New Database Options: You can now configure runtime behavior with the following:
- fileMode: File opening mode (permissions)
- recoveryLogPath: Custom path to the transaction log
- recovery: Toggle recovery mode on startup
Changed
- I/O Backend: Switched from mmap to manual read/write file access to improve control over when data is flushed to disk, allowing better durability semantics.
Fixed
- Write Transaction Deadlocks: Fixed a locking issue that could cause deadlocks if write transaction failed.