0
0
mirror of https://github.com/tursodatabase/libsql.git synced 2025-05-20 00:58:25 +00:00

118 Commits

Author SHA1 Message Date
2d325ba8f6 windows compiler complains about operations with void* pointers
- error C2036: 'void *': unknown size ...
2024-08-12 18:46:14 +04:00
405c710736 refine comment 2024-08-12 11:56:04 +04:00
ac60c100d2 build bundles 2024-08-12 11:46:05 +04:00
b1dbaa13bb build bundles 2024-08-11 19:22:44 +04:00
8262d238f5 Merge pull request from tursodatabase/vector-search-compression
vector search: neighbors compression (1bit quantization)
2024-08-11 09:41:58 +00:00
4c38e5f11e build bundles 2024-08-11 12:58:50 +04:00
2aca12b6e1 build bundles 2024-08-09 14:08:07 +04:00
ec996fabf4 build bundles 2024-08-08 19:40:55 +04:00
93caa27367 build bundles 2024-08-08 14:56:42 +04:00
0b41b5aa7c build bundles 2024-08-08 14:46:14 +04:00
7ed14683a1 build bundles 2024-08-07 18:56:40 +04:00
97652c12fe Merge pull request from tursodatabase/lucio/0.5.0-libsql
libsql: release v0.5.0
2024-08-07 14:19:45 +00:00
9d15ebf077 Merge pull request from tursodatabase/vector-search-fix-vacuum
fix behaviour of VACUUM for vector indices to make rowid consistent between shadow tables and base table
2024-08-06 20:00:54 +00:00
a4af6c6455 Merge pull request from tursodatabase/vector-search-fix-error-handling
Vector search fix error handling
2024-08-06 11:08:14 +00:00
2115277f8c fix bug 2024-08-06 14:51:32 +04:00
853143d77b build bundles 2024-08-06 13:48:21 +04:00
fbde879196 libsql-ffi: Update bundled SQLite sources
Mechanical update:

```console
cd libsql-ffi && LIBSQL_DEV=1 cargo build
```
2024-08-06 12:31:51 +03:00
4c223c7785 use lower bits only because with sqlite3_extended_result_codes on we will get more detailed error codes 2024-08-05 16:03:21 +04:00
a68f042914 libsql: release v0.5.0 2024-08-02 09:26:28 -07:00
5c4f79fac4 sqlite: update multiciphers gen c code 2024-08-01 08:38:02 -07:00
c03c00b77e Merge pull request from penberg/merge-sqlite-3.45.1-new
Merge upstream SQLite 3.45.1
2024-08-01 09:09:15 +00:00
7dacca2728 bump rust version, fix warnings 2024-07-31 22:47:53 +02:00
18dd30e30a build bundles 2024-07-29 11:56:09 +04:00
1006f3bfe3 build bundles 2024-07-26 22:59:33 +04:00
f5062f49cf build bundles 2024-07-26 18:56:21 +04:00
86624ef6f3 build bundles 2024-07-25 19:28:36 +04:00
fd328a7d7e libsql-ffi: Update bundled SQLite sources 2024-07-25 13:46:36 +03:00
ccc9f58d51 fix dump and vacuum of vector indices ()
* fix dump and vacuum of vector indices

* fix comment a bit

* build bundles

* slightly improve test

* review fixes

* build bundles
2024-07-25 07:26:41 +00:00
537a3095be set error to pParse and preserve internal invariant about possible error inside the condition ()
* 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
2024-07-24 13:38:56 +00:00
5e6afb386d Vector search respect db idx ()
* 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
2024-07-22 18:29:11 +00:00
37fc1a1d88 integrate diskann to the sqlite code ()
* 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
2024-07-19 16:57:11 +00:00
3263c19246 Vector diskann impl ()
* actuall diskann implementation (finally!)

* add more comments

* fix compilation

* fix bugs with aborted blobs

* fix field name after refactoring

* build bundles

* remove binary

* avoid quadratic inserts and deletes from node edges

* build bundles

* fix bug

* build bundles
2024-07-18 09:59:17 +00:00
e2d12b0ac1 Vector aux functions ()
* implement auxilary functions for vector index

* fix some render method names

* build bundles

* review fixes

* build bundles
2024-07-17 08:11:38 +00:00
d08d663fa3 diskann vector binary format ()
* 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
2024-07-16 09:25:55 +00:00
be1fca578f feat(vector): add basic functions (vector/vector_extract etc) ()
* 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
2024-07-08 08:27:33 +00:00
2402249b5d apply alter column command only to the table ()
* add alter column test

* apply alter column only to the table and ignore indices/triggers/views etc

* fix tests

* update bundle

* add test in rust_suite
2024-07-04 19:48:33 +00:00
b17b6ee0d4 adjust ALTER COLUMN parsing ()
* add basic TCL tests for ALTER COLUMN libsql feature

* propagate length of the new column definition directly from the parser

- this will allow libsql to automatically handle comment and space characters appended to the column definition

* small formatting fixes

* cargo xtask build-bundled

* add test against sqlite3 source in rust_suite

* fix test in rust_suite
2024-07-02 22:02:14 +00:00
355ec0aa16 fix overflow in row counters ()
* replace row read/written with saturating counter

* regenerate bundled sqlite

* fix invalid cast
2024-07-02 09:38:14 +00:00
95216464a1 add CI job to validate that bundle is up to date ()
* add CI job to validate that bundle is up to date

* cargo xtask build-bundled
2024-06-27 15:28:21 +00:00
e349a06961 Make libsql-ffi's build more friendly to sandboxed environments. ()
fix: prevent out_path from inheriting the mode of source bindgen.rs
2024-06-18 12:55:36 +00:00
43ec7b378c libsql: prepare v0.4.0 release () 2024-06-11 14:27:13 +00:00
cb89097a57 ffi, build: Don't use UNC paths on Windows ()
Windows build fails with "The network name cannot be found" error when
built with encryption. That's because the std::fs::canocalize() function
returns UNC paths on Windows, which confuses CMake to fail.

Switch to std::env::current_dir() instead, which returns paths that
CMake can deal with.
2024-06-07 18:02:29 +00:00
17a687b0bb Fix cross build ()
* Revert "libsql-ffi: Make CC and CXX configurable ()"

This reverts commit 897ae8beac, because
it's bogus and completely ignores the environment variables in a cross
environment.

* ffi: Fix cross builds

Let's use the `TARGET` environment variable to determine what the
build target is to fix cross build falures in libsql-js.git:

```
error: linking with `aarch64-linux-gnu-gcc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/rust/lib/rustlib/x86_64-unknown-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/rust/bin" VSLANG="1033" "aarch64-linux-gnu-gcc" "-Wl,--version-script=/tmp/rustcualN23/list" "-Wl,--no-undefined-version" "/tmp/rustcualN23/symbols.o" "/target/aarch64-unknown-linux-gnu/release/deps/libsql_js.libsql_js.daf3718404b8afc6-cgu.0.rcgu.o" "-Wl,--as-needed" "-L" "/target/aarch64-unknown-linux-gnu/release/deps" "-L" "/target/release/deps" "-L" "/target/aarch64-unknown-linux-gnu/release/build/ring-87b9427ec69caec7/out" "-L" "/target/aarch64-unknown-linux-gnu/release/build/libsql-ffi-f019579845159c8e/out" "-L" "/rust/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/tmp/rustcualN23/libring-d3d989c5f3051615.rlib" "/tmp/rustcualN23/liblibsql_ffi-54e0e58458c35432.rlib" "/rust/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcompiler_builtins-6043da066acc1466.rlib" "-Wl,-Bdynamic" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/rust/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-o" "/target/aarch64-unknown-linux-gnu/release/deps/liblibsql_js.so" "-Wl,--gc-sections" "-shared" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-Wl,--strip-all" "-nodefaultlibs"
  = note: /usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: /tmp/rustcualN23/liblibsql_ffi-54e0e58458c35432.rlib(sqlite3mc.c.o): Relocations in generic ELF (EM: 62)
          /usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: /tmp/rustcualN23/liblibsql_ffi-54e0e58458c35432.rlib(sqlite3mc.c.o): Relocations in generic ELF (EM: 62)
          /usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: /tmp/rustcualN23/liblibsql_ffi-54e0e58458c35432.rlib(sqlite3mc.c.o): Relocations in generic ELF (EM: 62)
          /usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: /tmp/rustcualN23/liblibsql_ffi-54e0e58458c35432.rlib(sqlite3mc.c.o): Relocations in generic ELF (EM: 62)
          /usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: /tmp/rustcualN23/liblibsql_ffi-54e0e58458c35432.rlib(sqlite3mc.c.o): Relocations in generic ELF (EM: 62)
          /usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: /tmp/rustcualN23/liblibsql_ffi-54e0e58458c35432.rlib(sqlite3mc.c.o): Relocations in generic ELF (EM: 62)
          /usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: /tmp/rustcualN23/liblibsql_ffi-54e0e58458c35432.rlib(sqlite3mc.c.o): Relocations in generic ELF (EM: 62)
          /usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: /tmp/rustcualN23/liblibsql_ffi-54e0e58458c35432.rlib(sqlite3mc.c.o): Relocations in generic ELF (EM: 62)
          /usr/lib/gcc-cross/aarch64-linux-gnu/5/../../../../aarch64-linux-gnu/bin/ld: /tmp/rustcualN23/liblibsql_ffi-54e0e58458c35432.rlib(sqlite3mc.c.o): Relocations in generic ELF (EM: 62)
          /tmp/rustcualN23/liblibsql_ffi-54e0e58458c35432.rlib: error adding symbols: File in wrong format
          collect2: error: ld returned 1 exit status
```
2024-06-07 16:39:39 +00:00
5129bdb2a3 libsq wal integration ()
* integrate libsql-wal

* fix wal bug

* shutdown registry on shutdown

* fmt
2024-06-03 09:30:40 +00:00
897ae8beac libsql-ffi: Make CC and CXX configurable ()
Make CC and CXX configurable for the build process. Allows us to, for
example, make sure we're building with just clang on macOS.
2024-04-02 14:40:30 +00:00
c45e72d0a6 libsql-ffi: Fix sqlite3mc build output directory ()
Don't build inside the source tree because `cargo clean` won't clean up
after it...
2024-03-25 16:45:26 +00:00
234e5d4871 Fixed function make_amalgamation naming typo ()
Use `amalgamation` instead of `amalgation`.

Ref: https://www.merriam-webster.com/dictionary/amalgamation
2024-03-12 10:27:42 +00:00
d75b3f4975 ffi: bump to 0.2.1 () 2024-03-08 15:32:01 +00:00
47fef88f19 ffi: blocklist wasm fns from bindgen () 2024-03-07 20:13:39 +00:00
0d6f3177b9 libsql: add ignores () 2024-03-07 19:33:44 +00:00