Pekka Enberg
9462426685
Vector extension functions
...
This patch adds some libSQL vector extension functions such as
`vector()` and `vector_distance_cos()`, which can be used for exact
nearest neighbor search as follows:
```
limbo> SELECT embedding, vector_distance_cos(embedding, '[9, 9, 9]')
...> FROM movies ORDER BY vector_distance_cos(embedding, '[9, 9, 9]');
[4, 5, 6]|0.013072490692138672
[1, 2, 3]|0.07417994737625122
```
2025-01-28 14:24:09 +02:00
Pekka Enberg
17e7e03423
Revert "cargo: Disable LTO.."
...
This reverts commit 4943217045 to get 5%
of performance back.
Before:
```
limbo/Execute prepared statement: 'SELECT 1'
time: [111.45 ns 111.52 ns 111.61 ns]
thrpt: [8.9594 Melem/s 8.9667 Melem/s 8.9727 Melem/s]
Found 8 outliers among 100 measurements (8.00%)
2 (2.00%) low mild
2 (2.00%) high mild
4 (4.00%) high severe
```
```
limbo/Execute prepared statement: 'SELECT 1'
time: [106.22 ns 106.48 ns 106.85 ns]
thrpt: [9.3587 Melem/s 9.3911 Melem/s 9.4142 Melem/s]
change:
time: [-4.8335% -4.6750% -4.5222%] (p = 0.00 < 0.05)
thrpt: [+4.7364% +4.9043% +5.0790%]
Performance has improved.
```
2025-01-26 10:31:35 +02:00
PThorpe92
4be1f9c3cc
Begin work on Go bindings (purego)
2025-01-25 11:37:12 -05:00
sonhmai
a090fb927a
centralize Rust integration and regression tests
2025-01-21 15:41:09 +07:00
Pekka Enberg
0abb917604
Limbo 0.0.13
2025-01-19 13:30:56 +02:00
PThorpe92
fc82461eff
Complete percentile extension, enable col+delimeter args
2025-01-17 21:15:09 -05:00
PThorpe92
5dfc3b8787
Create simple extension for testing aggregate functions, add tests
2025-01-17 14:30:12 -05:00
PThorpe92
a1b1c01e9a
Alter existing extensions to match new API
2025-01-17 14:13:57 -05:00
PThorpe92
0c737d88f7
Support aggregate functions in Extensions
2025-01-17 14:13:57 -05:00
Pekka Enberg
02d410eb79
Merge 'Add regexp extension' from Vrishabh
...
Implements some of the regexp functions as an extension from
[sqlean](https://github.com/nalgeon/sqlean/blob/main/docs/regexp.md )
Reviewed-by: Preston Thorpe (@PThorpe92)
Closes #717
2025-01-17 19:49:22 +02:00
Pekka Enberg
21c5fe2909
cargo: Switch to "line-tables-only" debug symbols
...
...reduces size of `liblimbo_sqlite3.a` to 15 MB.
Suggested by @psvri
2025-01-17 11:52:17 +02:00
Pekka Enberg
4943217045
cargo: Disable LTO..
...
..to reduce `liblimbo_sqlite3.a` size from 37M to 20M. As it turns out,
LLVM emits its bitcode into static libraries when LTO is enabled to be
"more aggressive" in optimizations
Refs #714
2025-01-17 11:52:17 +02:00
psvri
e43271f53b
Implement regexp extension
2025-01-16 23:15:59 +05:30
Pekka Enberg
f83b34287e
Move limbo_extension crate to extensions/core
2025-01-16 14:39:12 +02:00
PThorpe92
3412a3d4c2
Rough design for extension api/draft extension
2025-01-14 07:20:48 -05:00
PThorpe92
0a10d893d9
Sketch out runtime extension loading
2025-01-14 07:18:07 -05:00
Pekka Enberg
b6ae8990e3
Limbo 0.0.12
2025-01-14 11:39:17 +02:00
Pekka Enberg
af020c27d6
Initial take on Rust bindings
...
This implements libSQL compatible Rust API on top of Limbo's core. The
purpose of this is to allow libraries and apps that build on libSQL to
use Limbo.
2025-01-14 09:16:46 +02:00
sonhmai
d5eb41a0e5
chore: update repository link in Cargo.toml
2025-01-11 15:30:54 +07:00
김선우
370e1ca5c2
Add support Java bindings
...
This add support for Java bindings in the bindings/java directory.
2025-01-05 10:28:05 +02:00
Pekka Enberg
c4b0eb398c
Limbo 0.0.11
2024-12-31 10:43:24 +02:00
vignesh-j-shetty
a43a1d204c
renamed macro crate
2024-12-21 13:19:04 +05:30
vignesh-j-shetty
1e72fee343
Implemented proc_macro_derive extract description from rust docs and generate get_description function
2024-12-21 12:23:04 +05:30
Pekka Enberg
69e3dd28f7
Limbo 0.0.10
2024-12-18 20:45:55 +02:00
Pere Diaz Bou
1a663a6ed7
cargo stuff rm
2024-12-13 13:09:13 +01:00
Pekka Enberg
3023d228c7
Limbo 0.0.9
2024-12-12 18:49:05 +02:00
Pekka Enberg
e1b2d043be
Limbo 0.0.8
2024-11-20 19:16:11 +02:00
Pekka Enberg
81b68b7047
Limbo 0.0.7
2024-11-20 18:15:36 +02:00
Pekka Enberg
0fb1e59c9a
Limbo 0.0.6
2024-11-18 19:16:15 +02:00
Pekka Enberg
a83e62f6f4
Limbo 0.0.5
2024-11-18 14:57:00 +02:00
Pekka Enberg
8afad9f79b
core: Reduce library text size some more
...
Apply some more tricks from to reduce text size by 1 MB:
https://github.com/johnthagen/min-sized-rust
Before:
penberg@vonneumann sqlite3 % ls -lh ../target/release/liblimbo_sqlite3.a
-rw-r--r-- 1 penberg staff 6,7M 16 Mar 09:52 ../target/release/liblimbo_sqlite3.a
After:
penberg@vonneumann sqlite3 % ls -lh ../target/release/liblimbo_sqlite3.a
-rw-r--r-- 1 penberg staff 5,6M 16 Mar 09:50 ../target/release/liblimbo_sqlite3.a
2024-11-16 09:53:24 +02:00
Pekka Enberg
c3da75d260
build: Enable LTO for release builds
...
This reduces `liblimbo_sqlite3.a` binary size from 25 MB to 10 MB:
Before:
$ -lh ../target/release/liblimbo_sqlite3.a
-rw-r--r-- 1 penberg staff 25M 15 Mar 18:36 ../target/release/liblimbo_sqlite3.a
After:
$ penberg@vonneumann sqlite3 % ls -lh ../target/release/liblimbo_sqlite3.a
-rw-r--r-- 1 penberg staff 9,9M 15 Mar 18:59 ../target/release/liblimbo_sqlite3.a
2024-11-15 19:06:17 +02:00
Pere Diaz Bou
acd0298ce9
rename core tester in cargo.toml
2024-09-13 07:56:21 +02:00
Pere Diaz Bou
1ea496a169
core_tester: sequential btree write test
...
Signed-off-by: Pere Diaz Bou <pere-altea@hotmail.com >
2024-09-05 20:50:30 +02:00
Pekka Enberg
d11dd9d06c
cargo dist: Disable static library installation
...
Looks to be broke on Windows:
https://github.com/axodotdev/cargo-dist/issues/1356
2024-08-22 18:06:36 +03:00
Pekka Enberg
b1f508db87
Limbo 0.0.4
2024-08-22 17:44:28 +03:00
Pekka Enberg
a5bdfb62b8
Bump cargo-dist to 0.21.0
2024-08-16 14:42:24 +03:00
Pekka Enberg
f633fc91cf
sqlite3: Add to cargo dist bundle
2024-08-11 12:14:43 +03:00
JeanArhancet
7c362b129f
feat: impl python binding
...
refactor: pep-0249
refactor: rust comment and requirements-dev.txt
fix: name conflict
2024-08-11 08:58:18 +02:00
Ashley Williams
c9c96f01f8
feat(dist): enable github attestations
2024-08-02 09:30:45 -05:00
Ashley Williams
88964e691a
feat(dist): update and add PS installer
2024-08-02 09:25:03 -05:00
Pekka Enberg
cb34deef09
Limbo 0.0.3
2024-08-01 18:57:13 +03:00
Pekka Enberg
6108c9ca55
Limbo 0.0.2
2024-07-24 11:14:31 +03:00
Joan Martinez
642603b6c7
perf-latency: fix enabling to build multitenancy
2024-07-21 19:13:02 +02:00
Pekka Enberg
a6369982fe
Enable cargo dist explicitly for the CLI only
2024-07-17 20:23:41 +03:00
Pekka Enberg
013b634c5f
Fix cargo dist install target path
2024-07-17 16:51:01 +03:00
Pekka Enberg
6f00a406dd
0.0.1
2024-07-17 08:40:32 +03:00
Pekka Enberg
a0c92f6d80
Switch to workspace versioning
2024-07-17 08:39:36 +03:00
Pekka Enberg
f3585e4a45
Configure cargo dist for the project
2024-07-17 08:34:13 +03:00
Pekka Enberg
2684341bac
Initial pass on deterministic simulator
...
The simulator does not do much, but does discover failures on Linux with
io_uring, though, so it's a start.
2024-06-27 18:32:04 +03:00