mirror of
https://github.com/tursodatabase/libsql.git
synced 2025-06-07 15:02:10 +00:00
Refactor of the virtual wal API. Drop global wals in favor of passing the wal implementation as an argument to libsql_open. The WAL interface is split in two sets of virtual methods: - `create_wal` is passed when opening a sqlite connection. It's role is to instantiate a wal. - `libql_wal` is the wal itself, created by the `create_wal`. The sqlite3_wal and `sqlite3_create_wal` implementation are completely decoupled from the wal implementation. They are the default implementation when using the traditional open methods, and sqlite3_create_wal is exposed as a global variable, and can be composed with other wal implementations.
Loadable Extensions
Various loadable extensions for SQLite are found in subfolders.
Most subfolders are dedicated to a single loadable extension (for example FTS5, or RTREE). But the misc/ subfolder contains a collection of smaller single-file extensions.