Commit graph

48 commits

Author SHA1 Message Date
Nuno Gonçalves
f21387efe7 fix(json): properly serialize infinite values 2025-12-16 10:15:29 +00:00
Mikaël Francoeur
b3f0947acd
fix: JSON_INSERT now correctly inserts new keys in nested objects
When using JSON_INSERT with a path like '$.a.b.d' on an object like
'{"a": {"b": {"c": 5}}}', the function was incorrectly returning the
input unchanged instead of inserting the new key.

The root cause was that InsertNew mode was being applied to all path
segments. The fix uses Upsert mode for intermediate segments and only
applies InsertNew for the final segment.

🤖 Generated with [Claude Code](https://claude.com/claude-code), and cleaned up by Mikaël
2025-12-10 13:58:58 -05:00
Duy Dang
8fba4659c8
Stop blob json parsing at null terminator 2025-11-04 23:04:33 +07:00
Mikaël Francoeur
3e915d9868
implement json_tree 2025-09-23 14:22:02 -04: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
e6d3d6ea54
1-arg json_each implementation 2025-09-05 14:47:40 -04:00
themixednuts
fa19ba4993 chore: add tests 2025-09-02 10:58:00 -05: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
Ihor Andrianov
c426c13763
make tests pass 2025-03-30 18:58:38 +03:00
Ihor Andrianov
bf649f98be
add tests 2025-03-19 11:29:23 +02:00
Ihor Andrianov
a3a9376347
unblock some tests 2025-03-16 03:36:02 +02:00
Ihor Andrianov
39c2481ce3
add e2e tests 2025-03-12 15:34:58 +02:00
l.gualtieri
3487969c40 fix floating point numbers get truncated in json #877 2025-02-10 12:23:43 +01:00
Aarni Koskela
eaea02c567 Fix a handful of typos 2025-02-09 18:08:29 +02:00
pedrocarlo
eb40505c31 some tests in sqlite rely on commands not implemented in limbo yet 2025-02-06 23:36:02 -03:00
pedrocarlo
303a687e65 rebase to main 2025-02-06 23:35:58 -03:00
Marcus Nilsson
01492cf46f add support for json_set
Test cases are included.
Related to #127
2025-02-04 19:09:58 +01:00
pedrocarlo
2e115d948d implement json_pretty 2025-02-01 23:04:46 -03:00
Ihor Andrianov
d66329343b
add tests 2025-01-30 02:41:05 +02:00
Ihor Andrianov
166d0a7165
add more tests and fixed test for latest sqlite v 2025-01-29 18:05:41 +02:00
Ihor Andrianov
0714ab64af
add tests for tricky edge cases 2025-01-29 18:05:40 +02:00
Ihor Andrianov
f164dbdb1e
fix case where first patched value applied wins 2025-01-29 18:05:40 +02:00
Ihor Andrianov
8ba43bfc17
add tests for duplicate preservation and first-one-win behavior 2025-01-29 18:05:40 +02:00
Ihor Andrianov
3f7458faef
add general tests 2025-01-29 18:05:39 +02:00
Harin
0903b9b019 Implemented JSON valid function 2025-01-26 23:35:47 +05:30
Jorge Hermo
fea8d19359
test: add TCL tests for json_object 2025-01-14 00:00:31 +01:00
Pekka Enberg
1e94dbffcc
Merge branch 'main' into json-error-position 2025-01-13 18:21:37 +02:00
Peter Sooley
b5fed15997
implement json_error_position 2025-01-10 11:12:30 -08:00
Kacper Madej
002d2e3dde Uncomment failing tests 2025-01-10 19:26:39 +07:00
Kacper Madej
91d4ac3ac0 Fix expression chaining 2025-01-10 12:14:57 +07:00
Kacper Madej
0f4e5ad26d Implement simplified json path 2025-01-10 11:50:43 +07:00
Kacper Madej
743a8b2d94 Merge branch 'main' into right-arrow-json 2025-01-10 11:28:13 +07:00
Kacper Madej
f4e331231b More tests 2025-01-09 17:22:19 +07:00
Kacper Madej
74e19e2148 Optimization 2025-01-09 17:16:58 +07:00
Kacper Madej
dd533414ef Implement -> and ->> operators for json 2025-01-09 15:38:32 +07:00
Kacper Madej
eebf9bfaac Implement json_type 2025-01-09 11:29:17 +07:00
Kacper Madej
f27f873804 PR remarks #2 2025-01-02 15:09:16 +07:00
Kacper Madej
7d7d202ffe PR remarks 2025-01-02 14:41:47 +07:00
Kacper Madej
719eda7cf7 Mark tests to fix for newer SQLite version 2024-12-31 15:56:35 +07:00
Kacper Madej
692301e72c Merge branch 'main' into json-extract 2024-12-31 15:53:08 +07:00
Kacper Madej
2e730ead25 Merge branch 'main' into json-extract 2024-12-31 15:41:18 +07:00
Kacper Madej
ad9acf7400 Add support for json_extract 2024-12-31 15:11:36 +07:00
Peter Sooley
28244b10d6
implement json_array_length 2024-12-26 15:08:11 -08:00
Kacper Madej
cdb24d3de1 Handle issues with nested arguments 2024-12-20 11:32:57 +01:00
Kacper Madej
19ae42dfa3 Implement json_array 2024-12-20 11:15:48 +01:00
JeanArhancet
4050a3ebe2 refactor: impl json5 direclty 2024-08-04 12:47:08 +02:00
JeanArhancet
4d0a25c1b4 test: add json tcl test 2024-08-04 10:56:52 +02:00