Jussi Saurio
5bed331505
add Func::is_deterministic()
2025-04-24 11:05:21 +03:00
Pekka Enberg
d67e1b604b
Merge 'Added 'likelihood' scalar function' from Sachin Kumar Singh
...
The `likelihood(X,Y)` function returns argument X unchanged. The value Y
in likelihood(X,Y) must be a floating point constant between 0.0 and
1.0, inclusive.
```
sqlite> explain SELECT likelihood(42, 0.0);
addr opcode p1 p2 p3 p4 p5 comment
---- ------------- ---- ---- ---- ------------- -- -------------
0 Init 0 6 0 0 Start at 6
1 Once 0 3 0 0
2 Integer 42 2 0 0 r[2]=42
3 Copy 2 1 0 0 r[1]=r[2]
4 ResultRow 1 1 0 0 output=r[1]
5 Halt 0 0 0 0
6 Goto 0 1 0 0
```
```
limbo> explain SELECT likelihood(42, 0.0);
addr opcode p1 p2 p3 p4 p5 comment
---- ----------------- ---- ---- ---- ------------- -- -------
0 Init 0 4 0 0 Start at 4
1 Copy 2 1 0 0 r[1]=r[2]
2 ResultRow 1 1 0 0 output=r[1]
3 Halt 0 0 0 0
4 Integer 42 2 0 0 r[2]=42
5 Goto 0 1 0 0
```
Closes #1303
2025-04-11 09:34:36 +03:00
Sachin Singh
482e93bfd0
feat: add likelihood scalar function
2025-04-11 05:54:23 +05:30
Sachin Singh
b7acfa490c
feat: add timediff data and time function
2025-04-11 04:30:57 +05:30
Duncan Lutz
aa7c64cb19
feat: added likely scalar function
2025-04-06 23:14:30 -06:00
Ihor Andrianov
db5e364210
made json an optional module again
2025-03-30 19:01:03 +03:00
Ihor Andrianov
6c126dcd97
add jsonb_set
2025-03-30 18:58:40 +03:00
Ihor Andrianov
101dd51d7c
add jsonb_group_object and array
2025-03-30 18:58:39 +03:00
Ihor Andrianov
568dc54b9e
big cleanup
2025-03-30 18:58:33 +03:00
Ihor Andrianov
a983c979c6
jsonb_merge, json_group_array, json_group_object
2025-03-30 18:47:33 +03:00
Pekka Enberg
e8c0a6e728
Merge 'Various JSON improvements' from Ihor Andrianov
...
Added jsonb_object, jsonb_array, json_insert, jsonb_insert.
MongoDB is sweating now.
Closes #1160
2025-03-24 09:17:40 +02:00
Ihor Andrianov
b7be728d64
fix copypaste typo
2025-03-23 21:15:29 +02:00
Ihor Andrianov
2cab36bfc3
add json_replace, jsonb_replace
2025-03-23 20:52:03 +02:00
Ihor Andrianov
252583cb1e
add jsonb_obj jsonb_array
2025-03-20 15:22:52 +02:00
Pekka Enberg
4142f4f4cb
Merge 'Organize extension library and feature gate VFS' from Preston Thorpe
...
I keep having 3+ PR's in at the same time and always deal with crazy
conflicts because everything in the `ext` library is together in one
file.
This PR moves each category of extension into its own file, and
separates the `vfs` functionality in Core into the `ext/dynamic` module,
so that it can be more easily separated from wasm (or non feature =
"fs") targets to prevent build issues.
The only semantic changes made in this PR is the feature gating of vfs,
the rest is simply organizing and cleaning up imports.
Was unsure if `vfs` should be a feature on the `core` side too, or to
just enable it with the `fs` feature which seemed reasonable, as that
was already the current behavior. But let me know if we want it entirely
behind it's own feature.
Reviewed-by: Pere Diaz Bou <pere-altea@homail.com>
Closes #1124
2025-03-19 19:08:13 +02:00
PThorpe92
57d4aa7216
Reorganize ext library and feature gate vfs to more easily prevent wasm build issues
2025-03-19 10:17:11 -04:00
Ihor Andrianov
b5e86a9e36
remove and replace functions defenitions
2025-03-18 21:43:48 +02:00
Ihor Andrianov
23d7d82b6c
add jsonb_extract function
2025-03-16 15:14:29 +02:00
Ihor Andrianov
04f69220b7
add jsonb function implementation and json now understands blobs
2025-03-12 15:03:40 +02:00
pedrocarlo
8fe71309c0
cargo fmt
2025-02-06 23:46:00 -03:00
pedrocarlo
303a687e65
rebase to main
2025-02-06 23:35:58 -03:00
krishvishal
32080aba5d
Make vector function accessible through Function
op code.
2025-02-06 07:01:50 +05:30
Marcus Nilsson
01492cf46f
add support for json_set
...
Test cases are included.
Related to #127
2025-02-04 19:09:58 +01:00
Pekka Enberg
bf1ef13c91
Merge 'Add Printf Support' from Zaid Humayun
...
Add basic printf function support in limbo

Closes #886
2025-02-04 17:53:27 +02:00
Zaid Humayun
6a863b3da9
printf: this commit adds support for https://github.com/tursodatabase/limbo/issues/885 tracking printf functionality
...
this commit introduces basic support for printf functionality and doesn't include advanced modifiers like width etc.
2025-02-04 20:05:14 +05:30
pedrocarlo
2e115d948d
implement json_pretty
2025-02-01 23:04:46 -03:00
Ihor Andrianov
d57d9bef6f
add function definition
2025-01-29 22:37:04 +02:00
Pekka Enberg
06edf33878
Merge 'json_patch() function implementation' from Ihor Andrianov
...
First review #820
The function follows RFC 7386 JSON Merge Patch semantics:
* If the patch is null, the target is replaced with null
* If the patch contains a scalar value, the target is replaced with that
value
* If both target and patch are objects, the patch is recursively applied
* null values in the patch result in property removal from the target
Closes #821
2025-01-29 19:54:12 +02:00
Ihor Andrianov
70396d7425
add function definition
2025-01-29 18:05:38 +02:00
Glauber Costa
8f24d18ad8
implement sqlite_source_id function
2025-01-28 14:55:38 -05:00
Harin
0903b9b019
Implemented JSON valid function
2025-01-26 23:35:47 +05:30
pedrocarlo
a316ab51ac
feature: implement strftime function
2025-01-25 16:22:53 -03:00
Pekka Enberg
bda1e4e6ab
Merge 'Add support for json_object
function' from Jorge Hermo
...
Relates to #127 . This PR is still in draft and I have a few left things
to do (tests, improve implementation), just opening it so anyone can
track this work meanwhile.
Closes #664
2025-01-20 09:36:56 +02:00
Pekka Enberg
f5e5428d45
Merge 'Syntactic improvements' from Jorge López Tello
...
This is a purely syntactic PR. It doesn't change behavior, just rewrites
some loops and removes unneeded parts, like lifetime annotations and
references. Mainly because the Clippy and IDE warnings get annoying.
Don't worry about the number of commits, I just separated based on type
of change.
Closes #732
2025-01-19 12:17:28 +02:00
Krishna Vishal
fa0503f0ce
1. Changes to extension.py
...
2. chore: cargo fmt
2025-01-19 04:58:05 +05:30
Krishna Vishal
6173aeeb3b
1. Fix merge conflicts
...
2. change tests for extensions to return error instead of null (Preston)
2025-01-19 04:39:25 +05:30
Jorge López
86a4714711
syntactic changes: remove unneeded paths when the type is already imported
2025-01-18 18:29:12 +01:00
PThorpe92
0c737d88f7
Support aggregate functions in Extensions
2025-01-17 14:13:57 -05:00
Pekka Enberg
93903555aa
Rename limbo_extension crate to limbo_ext
2025-01-16 14:40:52 +02:00
Jorge Hermo
fa8eb9549a
Merge with main
2025-01-15 22:10:35 +01:00
PThorpe92
23d9d09b70
Add load_extension function, resolve shared lib extensions
2025-01-14 12:01:07 -05: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
Jorge Hermo
c1702b34eb
Merge with main
2025-01-13 22:21:13 +01:00
Pekka Enberg
1e94dbffcc
Merge branch 'main' into json-error-position
2025-01-13 18:21:37 +02:00
Jorge Hermo
3785e7c7f8
feat: initial json_object implementation
2025-01-13 01:09:48 +01:00
Jorge Hermo
c7b831515e
feat: initial json_object implementation
2025-01-12 22:29:48 +01:00
Peter Sooley
b5fed15997
implement json_error_position
2025-01-10 11:12:30 -08:00
Kacper Madej
743a8b2d94
Merge branch 'main' into right-arrow-json
2025-01-10 11:28:13 +07:00
Kacper Madej
dd533414ef
Implement -> and ->> operators for json
2025-01-09 15:38:32 +07:00