Skip to content

v0.0.2

Latest

Choose a tag to compare

@timson timson released this 15 Apr 21:20
· 2 commits to master since this release
b8aae5f

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.