Levy A.
77a412f6af
refactor: remove unsafe reference semantics from RefValue
...
also renames `RefValue` to `ValueRef`, to align with rusqlite and other
crates
2025-10-07 10:43:44 -03:00
Mikaël Francoeur
3e915d9868
implement json_tree
2025-09-23 14:22:02 -04:00
Samuel Marks
e333f151ba
[*.rs] Resolve warnings (mostly "hiding a lifetime that's elided elsewhere is confusing")
2025-09-18 22:47:43 -05:00
Pekka Enberg
5ebf6cd128
core/vtab: Wrap InternalVirtualTable with RwLock
2025-09-17 15:43:33 +03:00
Pekka Enberg
a3d23c2738
Merge 'Fix jsonb functions check valid json string binary' from
...
closes : #2820
```
turso> select user->>'age' as age from json_user;
┌─────┐
│ age │
├─────┤
│ 30 │
└─────┘
```
Closes #2821
2025-09-10 14:44:54 +03:00
Mikaël Francoeur
b480b526bc
implement 2-args json_each
2025-09-08 11:34:17 -04:00
Mikaël Francoeur
cf034dbabd
fix rebase
2025-09-05 14:56:09 -04:00
Mikaël Francoeur
54719f4eac
use new internal virtual table type
2025-09-05 14:56:05 -04:00
Mikaël Francoeur
e6d3d6ea54
1-arg json_each implementation
2025-09-05 14:47:40 -04:00
themixednuts
b6e64587cb
fix: jsonb functions to check if binary is json string
...
chore: match sqlite error
chore: use existing slice variable
add better parsing logic, and validation
see sqlite source code @ sqlite/src/json.c -> static int jsonArgIsJsonb
chore: clippy
2025-09-01 19:52:57 -05:00
Mikaël Francoeur
5ed2abf23f
remove Result from signature
2025-08-21 14:45:00 -04:00
Mikaël Francoeur
2ee0132afe
rename functions
2025-08-15 17:08:53 -04:00
Mikaël Francoeur
4a986080d2
add documentation
2025-08-15 14:59:37 -04:00
Nikita Sivukhin
c9e7271eaf
properly pass subtype
2025-07-14 11:20:49 +04:00
Nikita Sivukhin
bf25a0e3f1
fix clippy
2025-07-14 11:20:16 +04:00
Nikita Sivukhin
81cd04dd65
add bin_record_json_object and table_columns_json_array functions
2025-07-14 11:19:45 +04:00
Nils Koch
828d4f5016
fix clippy errors for rust 1.88.0 (auto fix)
2025-07-12 18:58:41 +03:00
Nils Koch
2827b86917
chore: fix clippy warnings
2025-06-23 19:52:13 +01:00
Pekka Enberg
e3f71259d8
Rename OwnedValue -> Value
...
We have not had enough merge conflicts for a while so let's do a
tree-wide rename.
2025-05-15 09:59:46 +03:00
Pekka Enberg
5a60815484
core/json: Remove redundant conditional compilation
...
The top-level `json` module declaration is already conditional on "json"
feature so no need to do it here.
2025-03-31 09:40:01 +03:00
Pekka Enberg
6258dda5f1
core/json: Rename json_path.rs to path.rs
2025-03-31 09:40:01 +03:00
Pekka Enberg
4a91988755
core/json: Rename json_operations.rs to ops.rs
2025-03-31 09:33:30 +03:00
Pekka Enberg
4b77f52bac
core/json: Rename json_cache.rs to cache.rs
2025-03-31 09:32:34 +03: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
dba82b40e3
add compat tests
2025-03-30 18:58:40 +03:00
Ihor Andrianov
92a745ca49
fix tests
2025-03-30 18:58:39 +03:00
Ihor Andrianov
101dd51d7c
add jsonb_group_object and array
2025-03-30 18:58:39 +03:00
Ihor Andrianov
c426c13763
make tests pass
2025-03-30 18:58:38 +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
Pere Diaz Bou
a13b33fec9
clippy again
2025-03-29 22:07:43 +01:00
Pere Diaz Bou
d9f5cd870d
clippy
2025-03-29 22:04:08 +01:00
Pere Diaz Bou
5b7fcd27bd
make column reuse blob/text fields
2025-03-29 22:02:49 +01:00
Pere Diaz Bou
9291f60722
Introduce Register struct
...
OwnedValue has become a powerhouse of madness, mainly because I decided
to do it like that when I first introduced AggContext. I decided it was
enough and I introduced a `Register` struct that contains `OwnedValue`,
`Record` and `Aggregation`, this way we don't use `OwnedValue` for
everything make everyone's life harder.
This is the next step towards making ImmutableRecords the default
because I want to remove unnecessary allocations. Right now we clone
OwnedValues when we generate a record more than needed.
2025-03-27 17:53:02 +01:00
Ihor Andrianov
59f00ff0c3
fix not removing lock if cache did not exist
2025-03-24 15:09:18 +02:00
Ihor Andrianov
d8e070a360
moved json_cache to state
2025-03-24 14:48:40 +02:00
Ihor Andrianov
e5199b0f1a
add tests
2025-03-24 13:17:59 +02:00
Ihor Andrianov
1511c9b3bf
add json cache to json functions and fix tests
2025-03-24 13:17:58 +02:00
Ihor Andrianov
615de2a0d3
add json_cache struct
2025-03-24 13:17:57 +02:00
Ihor Andrianov
479dd9c35a
clippy
2025-03-23 21:11:35 +02:00
Ihor Andrianov
2cab36bfc3
add json_replace, jsonb_replace
2025-03-23 20:52:03 +02:00
Ihor Andrianov
c4549ad2cd
split json traversal and mutation operation logic
2025-03-23 20:37:12 +02:00
Ihor Andrianov
252583cb1e
add jsonb_obj jsonb_array
2025-03-20 15:22:52 +02:00
Ihor Andrianov
ca0be110ec
fix big number parsing for json functions
2025-03-19 12:53:34 +02:00
Ihor Andrianov
62916f3a97
cargo clippy
2025-03-19 11:59:20 +02:00
Ihor Andrianov
32ea972151
make tests pass
2025-03-19 11:29:46 +02:00
Ihor Andrianov
b5e86a9e36
remove and replace functions defenitions
2025-03-18 21:43:48 +02:00
Ihor Andrianov
779e2c9e97
high order functions for remove and replace
2025-03-18 21:43:14 +02:00
Ihor Andrianov
403d0e8c21
implemented remove and replace in jsonb struct
2025-03-18 21:42:27 +02:00