mirror of
https://github.com/tursodatabase/libsql.git
synced 2024-12-15 07:29:41 +00:00
217ecb84b5
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.