* set error to pParse and preserve internal invariant about possible error inside the condition
* fix potential memory leak
* slightly adjust code
* small fix
* avoid pKey leak and simplify code
* build bundles
* propagate schema name (iDb) for vector index to support working not only with main DB
* add basic test
* sometimes zDbSName can be null and this is fine
* avoid test from writing files to disk
* build bundles
* integrate diskann to the sqlite code
* cleanup code a bit and add more comments
* make parsing code resilient to spaces inside FLOAT typename
* fixup
* fix bugs related to deletes in diskann
* small cleanup
* rename macro
* slightly cleanup vtab code
* slightly improve vectorIndex code
* make code less hacky
* add strange test
* build bundles
* return unit test for diskann pieces
* add one more test
* don't run search on first insertion
* review fixes
* disable index creation in non-normal parse modes
* build bundles
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.