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
PThorpe92
f13d035965
Enable wasm to static link extensions
2025-01-21 09:36:49 -05:00
PThorpe92
c1152670a3
Remove manual extension registration
2025-01-21 09:32:43 -05:00
PThorpe92
3d188eba0f
Enable staticly linking with builtin extensions
2025-01-21 09:32:43 -05:00
PThorpe92
bcd3ae2bd7
Add documentation to core/ext and relevant macros
2025-01-18 16:04:28 -05:00
PThorpe92
9c47379927
Fix deref null ptr in Debug impl on external types
2025-01-18 15:23:33 -05:00
PThorpe92
956320b7d0
Fix scalar API in extensions, add some error handling
2025-01-18 15:19:35 -05:00
Jussi Saurio
a48c9033e2
Merge pull request #724 from PThorpe92/extdocs
...
Add documentation for extensions/core
2025-01-18 11:08:35 +02:00
PThorpe92
b57308003e
Handle freeing memory in finalize, remove unused free fn
2025-01-17 21:54:25 -05:00
PThorpe92
fc82461eff
Complete percentile extension, enable col+delimeter args
2025-01-17 21:15:09 -05:00
PThorpe92
dc16ed1ef6
Add documentation for extensions/core
2025-01-17 20:43:10 -05:00
PThorpe92
5dfc3b8787
Create simple extension for testing aggregate functions, add tests
2025-01-17 14:30:12 -05:00
PThorpe92
44374b9e69
Clean up scalar trait remove unnecessary args method
2025-01-17 14:13:57 -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
PThorpe92
9b7b794e07
Begin sketching out aggregates api
2025-01-17 14:13:42 -05:00
psvri
e43271f53b
Implement regexp extension
2025-01-16 23:15:59 +05:30
Pekka Enberg
9209641a07
cargo fmt
2025-01-16 14:43:23 +02:00
Pekka Enberg
93903555aa
Rename limbo_extension crate to limbo_ext
2025-01-16 14:40:52 +02:00