diff --git a/CHANGELOG.md b/CHANGELOG.md index 475fe68f4..acbc3348c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ ## Unreleased +### Fixed + +- Lock database file with POSIX filesystem advisory lock when database + is opened to prevent concurrent processes from corrupting a file. + Please note that the locking scheme differs from SQLite, which uses + POSIX advisory locks for every transaction. We're defaulting to + locking on open because it's faster. + ### Changed - Install to `~/.limbo/` instead of `CARGO_HOME`. @@ -10,7 +18,8 @@ ### Added -- Partial `SELECT` statement support, including `WHERE`, `LIKE`, `LIMIT`, `CROSS JOIN`, and `INNER JOIN`. +- Partial `SELECT` statement support, including `WHERE`, `LIKE`, + `LIMIT`, `CROSS JOIN`, and `INNER JOIN`. - Aggregate function support. @@ -18,7 +27,8 @@ - Partial `PRAGMA` statement support, including `cache_size`. -- Asynchronous I/O support with Linux io_uring using direct I/O and Darwin kqueue. +- Asynchronous I/O support with Linux io_uring using direct I/O and + Darwin kqueue. - Initial pass on command line shell with following commands: - `.schema` command that describes the database schema.