* 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
* diskann vector binary format
* remove changes from another branch
* build bundles
* fix bundle
* add const to the signatures
* build bundles
* slightly change interface for BlobSpot
* build bundles
* add isInitialized flag to the BlobSpot
* fix comment
* fix method name in the header file
* review fixes
* build bundles
* add basic functions for working with f32/f64 vectors
* add header file
* fix comment style
* add generic code for working with vectors
* register vector functions
* fix edge cases in vector extract impl
* add static flag for vector (will be used later)
* add basic TCL-based tests
* guard vector functions with SQLITE_OMIT_VECTOR
* adjust build scripts
* delete libsql_vector_idx from this branch
* add one more test
* update bundles
* fix asserts
* fix constants (#define-s are universal but const int doesn't recognized by all compilers)
* update bundles
* review fixes
* build bundles
* add comment about linking math library
On top of a special VFS, `make wasi` now also compiles-in
a specialized virtual WAL methods module. It doesn't do anything
right now (just falls back to the regular implementation),
but can be used to call back to the host, inject hooks, etc.
It is not directly tested or usable yet, and depends on having
wasi-libc library available at /usr/share/wasi-sysroot.
Still, it compiled, so it's a nice start.
`make wasi` produces `libsql.wasm` module.
Future work includes using this module to run a WebAssembly app
in a runtime that supports WASI, using `libsql.wasm` as the database
implementation.
The patch is based on splitting SQLITE_OMIT_WAL into SQLITE_OMIT_SHARED_MEM,
so that we can still compile WAL mode, just without shared memory,
so still usable with exclusive mode or via libSQL's virtual WAL.