Pekka Enberg
8ac09b73bf
extensions/uuid: Fix mimalloc version
2025-02-18 20:08:30 +02:00
Pekka Enberg
a783a4d17c
extensions/time: Fix mimalloc version
2025-02-18 20:08:17 +02:00
Pekka Enberg
11a93900e3
extensions/core: Fix mimalloc version in README.md
2025-02-18 20:07:45 +02:00
Pekka Enberg
25f0694dfc
extensions/series: Fix mimalloc version
2025-02-18 20:07:09 +02:00
Pekka Enberg
bd6083c66d
extensions/regexp: Fix mimalloc version
2025-02-18 20:06:43 +02:00
Pekka Enberg
89202f0be3
extensions/percentile: Fix mimalloc version
2025-02-18 20:05:51 +02:00
Pekka Enberg
45a015f5c2
extensions/crypto: Fix mimalloc version
2025-02-18 20:05:10 +02:00
Pekka Enberg
19903bbe5f
extensions/uuid: Add description to Cargo.toml
2025-02-18 19:38:25 +02:00
Pekka Enberg
6cb6f6308f
extensions/time: Add description to Cargo.toml
2025-02-18 19:38:04 +02:00
Pekka Enberg
e8d98250c2
extensions/series: Add description to Cargo.toml
2025-02-18 19:37:42 +02:00
Pekka Enberg
215fc66360
extensions/regexp: Add description to Cargo.toml
2025-02-18 19:36:36 +02:00
Pekka Enberg
38c76f1831
extensions/percentile: Add description to Cargo.toml
2025-02-18 19:36:10 +02:00
Pekka Enberg
237246b3ca
extensions/crypto: Add description to Cargo.toml
2025-02-18 19:35:42 +02:00
Pekka Enberg
9b84e7e919
extensions/core: Add description to Cargo.toml
2025-02-18 19:34:32 +02:00
Pekka Enberg
43574528c9
Merge 'Switch to workspace dependencies' from Pekka Enberg
...
...makes it easier to specify a version, which is needed for `cargo
publish`.
Closes #991
2025-02-14 12:21:24 +02:00
meteorgan
744df6eedf
fix some typo
2025-02-13 23:03:41 +08:00
Pekka Enberg
ac54c35f92
Switch to workspace dependencies
...
...makes it easier to specify a version, which is needed for `cargo publish`.
2025-02-12 17:28:04 +02:00
l.gualtieri
6bd40f0507
Add support for REGEXP_REPLACE in limbo extension #740
2025-02-11 20:04:59 +01:00
Aarni Koskela
eaea02c567
Fix a handful of typos
2025-02-09 18:08:29 +02:00
meteorgan
a99d9a8988
chore: remove unused dependencies
2025-02-09 21:05:06 +08:00
Jussi Saurio
49e08c43b7
remove invalid comments
2025-02-07 10:11:31 +02:00
Jussi Saurio
cb9d929eab
call cursor methods instead of duplicating logic
2025-02-07 10:09:42 +02:00
Jussi Saurio
93c3689070
make tests better and fix more edge cases
2025-02-06 23:41:31 +02:00
Jussi Saurio
d5f58f5fea
Add quickcheck tests for generate_series() and refine implementation
2025-02-06 18:36:21 +02:00
PThorpe92
cd83ac6146
Remove error from vcursor trait in extensions
2025-02-06 09:15:39 -05:00
PThorpe92
a8ae957162
Add tests for series extension, finish initial vtable impl
2025-02-06 09:15:39 -05:00
PThorpe92
ad30ccdc0e
Add docs in extension README for vtable modules
2025-02-06 09:15:39 -05:00
PThorpe92
d4c06545e1
Refactor vtable impl and remove Rc Refcell from module
2025-02-06 09:15:39 -05:00
PThorpe92
661c74e338
Apply new planner structure to virtual table impl
2025-02-06 09:15:28 -05:00
Jussi Saurio
f5f77c0bd1
Initial virtual table implementation
2025-02-06 07:51:50 -05:00
Pekka Enberg
238fb9c977
Merge 'Sqlean Crypto extension' from Diego Reis
...
Introduces a new `crypto` extension, compatible with the Sqlean [crypto
extension](https://github.com/nalgeon/sqlean/blob/main/docs/crypto.md ).
Closes #903
2025-02-06 13:46:01 +02:00
Diego Reis
05057a04ac
completes crypto extension
...
It aims to be compatible with https://github.com/nalgeon/sqlean/blob/main/docs/crypto.md
2025-02-06 01:42:47 -03:00
Diego Reis
846d5ed414
add md5 and encode to extension
2025-02-06 00:04:36 -03:00
Diego Reis
dd58be3b60
Add basic structure for crypto extension
2025-02-05 23:09:26 -03:00
krishvishal
7c86ac71da
Move vector out of extensions
2025-02-06 06:57:53 +05:30
pedrocarlo
a4251e0448
add dynamic linking in extensions/time/Cargo.toml
2025-02-01 20:14:23 -03:00
pedrocarlo
26f24f93ad
cargo clippy
2025-02-01 16:28:40 -03:00
pedrocarlo
9acba9c140
added tests
2025-02-01 16:13:37 -03:00
pedrocarlo
7b801f38de
cleanup up error messages
2025-01-31 23:37:26 -03:00
pedrocarlo
309591044b
Merge branch 'main' into feature/time-ext
2025-01-31 22:54:14 -03:00
pedrocarlo
e1733ca31e
all functions implemented
2025-01-31 22:44:00 -03:00
pedrocarlo
65b43614e3
checkpoint: implemented function up to time_trunc
2025-01-31 21:18:06 -03:00
Pekka Enberg
3a4cb34606
Merge 'Fix memory leaks, make extension types more efficient' from Preston Thorpe
...
I was baffled previously, because any time that `free` was called on a
type from an extension, it would hang even when I knew it wasn't in use
any longer, and hadn't been double free'd.
After #737 was merged, I tried it again and noticed that it would no
longer hang... but only for extensions that were staticly linked.
Then I realized that we are using a global allocator, that likely wasn't
getting used in the shared library that is built separately that won't
inherit from our global allocator in core, causing some symbol mismatch
and the subsequent hanging on calls to `free`.
This PR adds the global allocator to extensions behind a feature flag in
the macro that will prevent it from being used in `wasm` and staticly
linked environments where it would conflict with limbos normal global
allocator. This allows us to properly free the memory from returning
extension functions over FFI.
This PR also changes the Extension type to a union field so we can store
int + float values inline without boxing them.
any additional tips or thoughts anyone else has on improving this would
be appreciated 👍
Closes #803
2025-01-30 13:31:17 +02:00
pedrocarlo
643ad147c0
checkpoint: implemented time_now, time_fmt_iso, time_date
2025-01-30 01:26:47 -03:00
Jussi Saurio
c950b177aa
Add test for property: vector -> text -> vector produces an equal vector
2025-01-28 16:09:48 +02:00
Jussi Saurio
e01555467f
Add quickcheck property tests for vector extension
2025-01-28 15:53:11 +02:00
Pekka Enberg
ee05ad172b
core: Bundle vector extension by default
2025-01-28 14:24:09 +02:00
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
PThorpe92
793cdf8bad
Fix memory issues, make extension types more efficient
2025-01-27 22:30:31 -05:00
PThorpe92
c5e60d8e08
Enable only uuid by default, change tests back to account for this
2025-01-21 10:20:01 -05:00