drh
a7e9386e88
Remove some unnecessary code. Report errors for invalid JSONB input on
...
an extract.
FossilOrigin-Name: cbea16c29eb0507f39b5a1cf744a3bb9bb7c71ac156e84a19d03a37cb1816891
2023-10-07 23:35:07 +00:00
drh
de8ccf00fb
The return from sqlite3_value_blob() in jsonFuncArgMightBeBinary() might
...
be a NULL pointer. Check for that case.
FossilOrigin-Name: 7b52b266b066f1385144c1103a3a411306db5f44568366ae1e93cd8cce799bbc
2023-10-07 19:46:22 +00:00
drh
3efb2c4791
Improved detection of malformed JSONB when parsing it into a JsonNode array.
...
FossilOrigin-Name: ed99a788415e1f8375bd5ec004dd18b1cd0fae4aa94558170882ca487f6dff93
2023-10-07 19:40:20 +00:00
drh
f26833d783
Fix the jsonbChangePayloadSize() routine so that it shifts the payload in order
...
to always render the most compact encoding of the payload size. This is
necessary as sometimes (as discovered by dbsqlfuzz) the payload size can
grow significantly due to json_insert() or json_replace().
FossilOrigin-Name: 8d6d04ca975ec55c419d40d8463c433b0db698c9fb4812ab9f16d4ee5bee460e
2023-10-07 19:05:10 +00:00
drh
1244b6cbf6
Improvements to error messages returned when the ->> operator fails.
...
FossilOrigin-Name: 2f3388f14c843f1c02926e8b929365c06c1f1f4ea6fe6316092c3799c14549d3
2023-10-07 17:50:06 +00:00
dan
3b381b4afc
Fix a problem with sqlite3changegroup_schema() and patchsets.
...
FossilOrigin-Name: c4ab4200dc2538e1132d87d70fd309b26b0da8a918fede1cb09b567ea40ec889
2023-10-07 17:29:10 +00:00
dan
4bdcfc6666
Add the sqlite3changegroup_schema() API. To allow changegroup objects to upgrade the schema of a changeset/patchset under some circumstances.
...
FossilOrigin-Name: 03f9e50b15c9c2fb4636dee24c1491c45322578b9fed08c6f4360be07c5c3830
2023-10-07 16:32:02 +00:00
dan
18efe17553
Fix a problem with the changes on this branch and tables that use an implicit primary key.
...
FossilOrigin-Name: 1f9d10235ff32e72074be695049567135b02e681068ce117b66adc14a6214449
2023-10-07 16:07:02 +00:00
drh
502b11c6d3
Merge the memory leak fix from trunk.
...
FossilOrigin-Name: 358de1b09f3d5ec0fe459775b0a2a99dfa235817327016b472aaa1ed56d952e6
2023-10-07 11:37:00 +00:00
drh
bae197c175
Improved error messages from search on JSONB.
...
FossilOrigin-Name: 96cfdc31e305406123f6ef1b920423f71902dc4b34381c3efb720274343d37cc
2023-10-07 11:36:16 +00:00
drh
522e880bc2
Report unknown JSONB element type when parsing JSONB into JsonNode.
...
FossilOrigin-Name: 1f4d3268257bda234c66c3767451b3d39d7b4c7c73a779ad396d9dfc5315905c
2023-10-07 09:13:59 +00:00
drh
8f0634549c
Add a test case to prevent a regression of the leak fixed in the previous
...
trunk check-in.
FossilOrigin-Name: f99ff655d09763c4a22d065041644ece793d84c82c644931e89ccf50c4f4564a
2023-10-07 08:15:47 +00:00
drh
43e232dc47
Fix a resource leak: sqlite3_blob_reopen() was failing to invoke the
...
xDel() distructor on a register when it sets that register to the new
rowid. This was never a problem prior to the large-column cache of
[771fe35074b50b8d] as that destructor was always a no-op.
dbsqlfuzz cd96368deaece480fb94d42427dde053737a650e.
FossilOrigin-Name: 545edd5ecf20a7feb99dc5ce6f338fa1f172c2e17b240cbede497f0729dbd3d7
2023-10-07 08:00:54 +00:00
drh
11aa2adca3
Correct handling of "raw" strings in JSON. This requires three test-case
...
changes in TH3 to add double-quotes to the path outputs from json_tree().
The new behavior is correct, I believe.
FossilOrigin-Name: ab2bf3e3596dfa7566f4a130adeccbef4056c7321181112a875477193583f30c
2023-10-06 23:02:06 +00:00
drh
6b8aa95c3c
Improved error detection for JSONB inputs.
...
FossilOrigin-Name: 6945e11aa441ace52b93cdbb81ac45b6f809987f3dbc522251e63f8cb948fddd
2023-10-06 22:16:09 +00:00
dan
83e43dc757
Add missing source code comments and fix other issues with the new code on this branch.
...
FossilOrigin-Name: df39fbe9ab87937beb77af353cd55602290b185e222e0a92a3ebf9a9a0b9e2e7
2023-10-06 20:39:42 +00:00
dan
9fc208aada
Update this branch with latest changes from the trunk.
...
FossilOrigin-Name: 897e926a5eaa0eab7e09e5003e4c15c974897be298a18ae85345962dc3f410a1
2023-10-06 19:46:19 +00:00
dan
53e91a5e22
Add tests for the sqlite3changegroup_schema() API.
...
FossilOrigin-Name: 5dab481c101b1523b1cfde92678cbc654ea26d946bf29da372d71c1f89cbaf46
2023-10-06 19:01:43 +00:00
drh
7b4349735f
Incremental improvements to the JSONB logic.
...
FossilOrigin-Name: fe326829c27715e249f727ba797c7df6491e874ec205a0a82ee09c78d61c6e1f
2023-10-06 18:21:47 +00:00
drh
98dbfa69d3
Fixes to rendering JSON5 extensions encoded as JSONB.
...
FossilOrigin-Name: 5a17e4479aad2d8313170e5de83a1c52f30b55d9d4fb776024fa6622e175c63b
2023-10-06 15:35:42 +00:00
drh
e690d5ad80
Fix compiler warnings.
...
FossilOrigin-Name: 5227add3c8d509de2e081249163fafdf30ac3173a6d710957f3c3b6f03e7017e
2023-10-06 14:59:40 +00:00
drh
e1e2f2dcc5
Improvements to error handling.
...
FossilOrigin-Name: b41dd237fb6c0dd7daedeaaf81dbc4fdb31cf511fd32cd3d4ee69db34e389915
2023-10-06 14:52:49 +00:00
drh
91f3cd9874
Merge compiler warning fixes from trunk into the jsonb branch.
...
FossilOrigin-Name: 6409d307915f8969f12df2d5ffa961645bd4db7ccfbd6f52237a217b6a867252
2023-10-06 13:05:42 +00:00
drh
00eee7a786
Remove an unused parameter from the recomputeColumnsNotIndexed() routine in
...
order to squash a harmless compiler warning.
FossilOrigin-Name: 9bf4bfd68080367b58594e0d44b110b3ee9766420f648537fd7bc638dacefb72
2023-10-06 12:55:53 +00:00
drh
1935887a68
Ensure that all fields of static sqlite3_module objects are explicitly
...
initialized, in order to hush-up nuisance compiler warnings.
FossilOrigin-Name: f3b3d712d6e58b1cb8fdebd2b6b3125080b6b3ac8c7c849a8cc1e5e778d62fe7
2023-10-06 12:51:05 +00:00
drh
03f7e42538
Remove and unused static variable from shell.c.in in order to silence a
...
harmless compiler warning.
FossilOrigin-Name: 477577120b897bf15edc2a85e220d5c64a1d5a245354939269f6753d8140ac95
2023-10-06 12:22:14 +00:00
drh
568643fd15
Increase the size of some variables associated with the PMA sorter in order
...
to avoid any possibility of a signed integer overflow.
[https://bugs.chromium.org/p/chromium/issues/detail?id=1489025 |Chromium fuzzer issue 1489025].
FossilOrigin-Name: dc3be3af471d90dd810c1e2cc59e83cf6a57f01971b1258ea0da402e4d577ef2
2023-10-06 12:15:01 +00:00
drh
dd7f09e6c0
Improvements to coping with malformed JSONB.
...
FossilOrigin-Name: 563cde404cec4c6559ae0c5fc5edbc878fee874b36562ce2fac5049cc8349343
2023-10-06 00:06:26 +00:00
drh
27401d38d8
Better error detection when doing a lookup on a JSONB.
...
FossilOrigin-Name: 6e8e0eedbf06e175af6ef230f1ce9a5ad84698b1c6dcd2794d878c746e7b6be4
2023-10-05 23:05:35 +00:00
drh
f7af8f3270
Improvements to comments. No changes to code.
...
FossilOrigin-Name: ac74d7877685006e43684edd6a2d22be8c9857f9f9eb52fc5b3c182d5e2fdb8d
2023-10-05 22:52:43 +00:00
drh
dac2707152
Turn an unreachable branch into an assert().
...
FossilOrigin-Name: 0f75199160e48fa8c44f986f1af777adf19e40fbd114a6f58e24d5e6dede779d
2023-10-05 20:17:01 +00:00
dan
16381d062a
Add the sqlite3changegroup_schema() API. To allow changegroups to handle differences in schema created by ALTER TABLE ADD COLUMN.
...
FossilOrigin-Name: 309deee2dd8dd07623fce79f6bb62d5279d140dd0be3b34bc42af20b0507726b
2023-10-05 19:09:23 +00:00
drh
51d507d432
Fix the parsing of non-standard "Infinity" and "NaN" values from text into
...
JSONB.
FossilOrigin-Name: df1fbbeb83a2b4a496c9de0d86c7c8c677f8fe3bc770da163dcc1d338a17b58b
2023-10-05 18:33:19 +00:00
drh
5b6cfb7906
Change the json_valid(X) routine to return true whenever X is a blob that
...
could plausibly be a valid JSONB.
FossilOrigin-Name: 425f0b85a6f8ad0604c4a5faa18efb90436fedb1fe2612a559147c62cff8b7e7
2023-10-05 18:09:12 +00:00
drh
14fce24a9b
Fix the text-to-JSONB parser so that it handles some JSON5 floating point
...
literals correctly.
FossilOrigin-Name: 564edb3b6dd752e09e445e3a25c2f5394ceede2a2cdff251d6433dadc0b3644f
2023-10-05 17:52:39 +00:00
drh
0585d9f08f
Slightly stricter testing for when a BLOB is valid JSONB: If the element
...
is a null, true, or false, its payload size must be zero.
FossilOrigin-Name: 487781be8a93d9b8d870efb9f25822bb4bbcf9d39d571d1017e9c29043ea515d
2023-10-05 16:33:00 +00:00
drh
01acfd5805
Fix a memory leak following a syntax error in jsonb().
...
FossilOrigin-Name: bf4b36eda8e200b67041ebdf60fc31d0325bd84185272f8d390c56a91d6ac1ee
2023-10-05 15:05:33 +00:00
drh
9061e22a05
Allow the PG-style syntax for the PATH operand on the right-hand side of
...
the ->> and -> operators.
FossilOrigin-Name: bae5071b0834aa3b7fd4bd871f863e1b148c6558989c8f6cdd02dc4da4770953
2023-10-05 15:02:00 +00:00
drh
0f921e2bac
Merge trunk enhancements into the jsonb branch.
...
FossilOrigin-Name: be5907b648386e05530d1e321e2a3e563e07e99f08373aaf9a3452adc9228dc3
2023-10-05 11:22:16 +00:00
drh
5d9446d100
Improved detection of corrupt databases in balance_nonroot().
...
dbsqlfuzz d1cf013c50a620b68c2a5bd240d29afd65e5f58e.
FossilOrigin-Name: a2464bbb825b5976ef974a2e6c17ea150f5e6fcd0dd0f144b9f9c1c22a9c9c82
2023-10-05 11:06:10 +00:00
stephan
a357bdbfc4
Do not squelch exceptions from SAHPool VFS importDb() - rethrow them. Problem reported in [forum:c80fc578809b80a3|forum post c80fc578809b80a3].
...
FossilOrigin-Name: 325bcdea4a436e514d83095d3893caf07a714b718e1b643507179b101c108e3b
2023-10-05 11:04:49 +00:00
drh
3a3912f21c
Remove a stray blank line from the beginning of btree.c. No functional
...
code changes.
FossilOrigin-Name: c89983dcfc208faa86b31717144c069572598e9770228264d69a044a84bde277
2023-10-05 10:35:51 +00:00
dan
6d8e91be9d
Allow a session object to generate a changeset, even if columns were added to one of the tables using ALTER TABLE ADD COLUMN while the changeset was being collected.
...
FossilOrigin-Name: a3f435eccf3a2aa11cb7420e94af5efcdfa04e9c169c5aaf61fa5cdcb165ceef
2023-10-04 21:15:24 +00:00
drh
10e751937c
The Makefile distinguishes between tcl8.4 and tcl8.5. Some makefile targets
...
require tcl8.5, but others (ex: "sqlite3.c", "shell.c", and "sqlite3") require
only tcl8.4.
FossilOrigin-Name: 770308db9776b8c0a70b8807463e89a9eddfe5552e25e67324cd303dc974f50e
2023-10-04 12:49:08 +00:00
drh
57996f53e4
Modify the main makefile so that it fails with an error if the tclsh found
...
by ./configure is not tclsh 8.5 or later.
[forum:/forumpost/4380363682708ece|Forum post 4380363682708ece].
FossilOrigin-Name: 1765f3b5a00a8ca20a7b9e18ac7f9d7de0679470b234b83aea83aa5b4d4d34e6
2023-10-04 11:52:44 +00:00
drh
4500d87e76
Fix a memory leak in JSON group-aggregates when the output is JSONB.
...
FossilOrigin-Name: 08e7db138b636890cb29a76d65c2069c6e2ff44470fa4bca14f4526fe5f195ae
2023-10-03 22:40:22 +00:00
drh
f362731c1c
Fix a bug in the jsonReturnFromBlob() function that causes a positive result
...
for a negative value for when a JSON integer is too large and needs to be
converted into double.
FossilOrigin-Name: dca684da0c29ec78460362f972ea7747be42c13c4d1325da9d62c1ea58022e39
2023-10-03 21:54:09 +00:00
drh
51cc3041fe
Fix problems in the "json" output column of the json_tree() virtual table
...
for the case when the input is JSONB.
FossilOrigin-Name: fefa4475c496aab32fe7b9cc203747ce4faf7448da4f29b807e5486c7686238d
2023-10-03 20:58:39 +00:00
drh
6e737b9252
Improved handling of OOM while translating the JsonNode representing into
...
the BLOB representation.
FossilOrigin-Name: ef5956710bb542d6045c82937d02218a7ed45af94cf3959b0c180268e04d14e1
2023-10-03 19:37:19 +00:00
dan
1846de49a4
Fixes for fts5 expression parser module to allow embedded 0x00 bytes in tokens.
...
FossilOrigin-Name: 342c8d0783f449817d3f565ff6b9f010a6c690beeea32f1861640810490a8b5f
2023-10-03 19:06:52 +00:00