SQLite

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

145 events for the month beginning 2023-11-01 by user drh

Following month ↑
2023-11-30
23:36
Remove all trace of JsonNode from the JSON implementation. The JSONB format is used as the internal binary encoding for searching and editing. (check-in: 11ebb5f7 user: drh tags: jsonb)
20:57
Convert json_valid() over to using only JSONB as its internal format. (check-in: 7b5756fa user: drh tags: jsonb)
19:29
Convert json_type() to use JSONB internally. (check-in: 83074835 user: drh tags: jsonb)
19:11
Convert json_insert(), json_replace(), and json_set() over to using only JSONB internally. (check-in: 4e2083e8 user: drh tags: jsonb)
19:06
Enhance json_set() and json_insert() so that they create missing substructure. (Closed-Leaf check-in: cc7a641a user: drh tags: jsonb-insert)
16:17
Simplification of the new JSON insert/set test cases. (check-in: 04c0d564 user: drh tags: jsonb-insert)
16:16
New JSON test cases showing insert or set with missing substructure. (check-in: 6802b645 user: drh tags: trunk)
12:04
New test cases for insert/set/replace with paths that indicate substructure that does not yet exist. (check-in: 146c717c user: drh tags: jsonb-insert)
00:52
Convert json_insert(), json_replace(), json_set() to use JSONB internally. Mostly working, but some corner cases are still not quite right. (check-in: 99c8f6bd user: drh tags: jsonb-insert)
2023-11-29
20:06
Convert the json_error_position() routine to use only JSONB internally. (check-in: e7a8ba35 user: drh tags: jsonb)
17:36
The json_patch() function now operates exclusively on JSONB. This patch also includes improvements to JSONB debug printing routines. (check-in: fee19d00 user: drh tags: jsonb)
16:26
Fix a duplicate assert() caused by the second cherrypick in the previous check-in. (check-in: f10d4fc4 user: drh tags: branch-3.28)
16:07
Remove Window objects from the corresponding Select.pWin list when they are deleted, as they are, for example, when the ORDER BY clause is optimized out. (check-in: f9c6e6a7 user: drh tags: branch-3.28)
13:47
In the recovery extension, if a payload size is unreasonably large, it is probably corrupt, so truncate it. (check-in: 988c3179 user: drh tags: trunk)
12:18
Merge all the latest trunk enhancements into the jsonb branch. (check-in: 1a59fcab user: drh tags: jsonb)
02:53
Increase the patch level to 3.44.3. (check-in: bb4d35e2 user: drh tags: branch-3.44)
02:50
Reference count the Table passed into the OP_VCheck opcode. (check-in: 79e6496b user: drh tags: branch-3.44)
02:45
The assertion change at check-in [7946c79567b0ccd3] is insufficient to fix the problem of a Table object being deleted out from under the OP_VCheck opcode. We need to reference count the Table, which is accomplished here. (check-in: cad269d5 user: drh tags: trunk)
01:38
Convert the json_array_length() function to use JSONB instead of JsonNodes. (check-in: 5ab79073 user: drh tags: jsonb)
2023-11-28
23:26
Fix all known problems with JSONB json_extract(). (check-in: d5f48c57 user: drh tags: jsonb)
23:18
Do not set the J subtype when the output is JSONB. (Closed-Leaf check-in: 4f106b64 user: drh tags: jsonb-extract)
20:33
Preserve flexibility in the format of the RHS of -> and ->> operators found in legacy. (check-in: 6231ec43 user: drh tags: jsonb-extract)
20:25
Attempt to get json_extract() working with pure JSONB only, and without the use of JsonNode. Mostly working, but there are some differences from legacy in corner cases. (check-in: 8c324af1 user: drh tags: jsonb-extract)
18:16
The json_remove() function now uses only JSONB, never JsonNodes, internally. (check-in: b69786e7 user: drh tags: jsonb)
13:38
Activate the ability of json_patch() to work on JSONB. (check-in: 11aba347 user: drh tags: jsonb)
13:35
All legacy tests are passing. (Closed-Leaf check-in: 2c436806 user: drh tags: jsonb-patch)
12:28
The json_patch() code for JSONB compiles and works sometimes, but there are still issues. Incremental check-in. (check-in: e0099464 user: drh tags: jsonb-patch)
00:27
More aggressive use of jsonBlobEdit(). Improvements to the MergePatch implementation sketch. (check-in: fbca9570 user: drh tags: jsonb)
2023-11-27
23:46
Add untested (#ifdefed-out) code for the MergePatch algorithm against JSONB. Add (and test) the jsonBlobEdit() routine that is needed by the new MergePatch. (check-in: 4d353387 user: drh tags: jsonb)
17:13
Enhance the (SQLITE_DEBUG-only) json_parse() routine so that it shows a decoding of JSONB when given a BLOB argument. (check-in: af267868 user: drh tags: jsonb)
15:57
Give the json_valid() function an optional second argument that determines what is meant by "valid". (check-in: a4e19ad4 user: drh tags: jsonb)
12:36
Convert the json_tree() and json_each() virtual tables over to use JSONB has their internal representation. (check-in: ec18caa3 user: drh tags: jsonb)
12:30
All tests passing. (Closed-Leaf check-in: b5a5660c user: drh tags: jsonb-tree)
2023-11-26
00:56
Fix corner-case error conditions. (check-in: ec23d34a user: drh tags: jsonb-tree)
00:48
Same results as the legacy JsonNode implementation on a small set of test cases. (check-in: c3da4b07 user: drh tags: jsonb-tree)
2023-11-25
23:00
Remove unused elements from the json_tree() cursor. (check-in: 914a5011 user: drh tags: jsonb-tree)
20:59
Remove the vestigal JsonNode logic from json_tree() and json_each(). (check-in: 66c2ab9e user: drh tags: jsonb-tree)
19:28
Almost working. Path is still not exactly right when Root is defined on json_tree(). (check-in: 92258246 user: drh tags: jsonb-tree)
18:11
Generate the fullkey and path columns of json_tree(). (check-in: ffaa468a user: drh tags: jsonb-tree)
13:40
Handle the path argument to json_tree() and json_each(). (check-in: fded8884 user: drh tags: jsonb-tree)
2023-11-24
21:57
Continuing work on json_tree() against a JSONB. (check-in: 3df891cb user: drh tags: jsonb-tree)
18:44
Incremental progress toward getting json_each() and json_tree() to work directly off of a JSONB blob. (check-in: f8cab41b user: drh tags: jsonb-tree)
14:25
Fix jsonParseReset() to properly clear the JsonParse.aBlob element. (check-in: ab2644aa user: drh tags: jsonb)
14:03
Omit precompiled binaries from the source tree. (check-in: 7dbc2f49 user: drh tags: jsonb)
14:02
Omit precompiled binaries from the source tree. (check-in: 3a8a75bf user: drh tags: console-io-lib)
14:01
Omit the precompiled binary from the source tree. (check-in: 4ff103d2 user: drh tags: trunk)
13:41
Merge the latest trunk enhancements and fixes into the jsonb branch. (check-in: a838ebcb user: drh tags: jsonb)
12:48
Merge 3.44.2 changes into the reuse-schema-3.44 sub-branch. (Leaf check-in: 2b9d5ff7 user: drh tags: reuse-schema-3.44)
12:42
Merge 3.44.2 changes into the bedrock-3.44 sub-branch. (Leaf check-in: 1d9dfad0 user: drh tags: bedrock-3.44)
12:38
Merge 3.44.2 changes into the wal2-3.44 sub-branch. (Leaf check-in: 0118e8c9 user: drh tags: wal2-3.44)
12:33
Merge 3.44.2 changes into the begin-concurrent-3.44 sub-branch. (Leaf check-in: 6d97426f user: drh tags: begin-concurrent-3.44)
11:41
Version 3.44.2 (check-in: ebead0e7 user: drh tags: release, branch-3.44, version-3.44.2)
2023-11-23
12:12
Another assertion fault fix, similar to [a9443dbfbe25e588]. (check-in: f796da62 user: drh tags: branch-3.44)
12:11 Edit [844e05ed82646302|844e05ed]: Move to branch mistake. Mark "Closed". (artifact: 36833d21 user: drh)
11:59
Fix a incomplete assert() statement in sqlite3SubqueryColumnTypes(). (Closed-Leaf check-in: 844e05ed user: drh tags: mistake)
11:45
Fix harmless compiler warnings in debugging code. (check-in: db40272c user: drh tags: branch-3.44)
11:29
Fix an fts5 problem that could occur when mixing regular and secure delete operations on a single table. (check-in: 25fb5a54 user: drh tags: branch-3.44)
11:21
Increase the version number to 3.44.2. (check-in: 73d3cb79 user: drh tags: branch-3.44)
2023-11-22
16:32
Merge the 3.44.1 patches into a new sub-branch of reuse-schema. (check-in: 24fc47af user: drh tags: reuse-schema-3.44)
16:15
Merge the version 3.44.1 patch into a new sub-branch of bedrock. (check-in: 84f42157 user: drh tags: bedrock-3.44)
15:34
Merge the 3.44.1 patches into a sub-branch of wal2. (check-in: 2672572c user: drh tags: wal2-3.44)
15:29
Merge the 3.44.1 patches into a new sub-branch of begin-concurrent. (check-in: 7a1a114b user: drh tags: begin-concurrent-3.44)
14:23 Edit [d295f48e8f367b06|d295f48e]: Add tag "release". Cancel tag "relase". (artifact: 0b64eab7 user: drh)
14:18
Version 3.44.1 (check-in: d295f48e user: drh tags: release, branch-3.44, version-3.44.1)
2023-11-21
22:36
Inserts invalid JSONB should return "malformed JSON", not a json path error. (check-in: 306ee66f user: drh tags: jsonb)
20:13
Direct editing of JSONB using json_insert() and json_set(). (check-in: fffb7a95 user: drh tags: jsonb)
19:05
Correct blob-to-text rendering in some corner cases. (check-in: 7822e0e5 user: drh tags: jsonb)
18:23
Fix the translation of JSON5 numeric values from BLOB into text. (check-in: 40c4fb44 user: drh tags: jsonb)
17:54
Merge all recent trunk fixes and enhancements into the jsonb branch. (check-in: 6d78d50e user: drh tags: jsonb)
17:51
Make edits directly to the JSONB BLOB when the input to json_replace() is a JSONB. (check-in: d69c6ace user: drh tags: jsonb)
12:02
Fix the trace3-4.4 test to be more rebust against timing quirks. (check-in: 8936daa0 user: drh tags: trunk)
2023-11-20
15:58
Back out an incorrect change to the sqlite3ExprCompareSkip() function from long ago. (check-in: 89658abb user: drh tags: branch-3.44)
15:54
Back out an incorrect change to the sqlite3ExprCompareSkip() function that was added way back on 2019-08-22 for [44578865fa7baf97|check-in 44578865fa7ba] and which was only today discovered to be incorrect by forum post 45ec3d9788. (check-in: f5b3eb0f user: drh tags: trunk)
13:12
Convert an assert in OP_VCheck into a branch that aborts the opcode, as this can happen on some very obscure conditions, as discovered by dbsqlfuzz. (check-in: 0d5f6871 user: drh tags: branch-3.44)
13:06
Convert an assert in OP_VCheck into a branch that aborts the opcode, as this can happen on some very obscure conditions, as discovered by dbsqlfuzz. Test case in TH3. (check-in: 7946c795 user: drh tags: trunk)
12:00
Cherry pick additional assert() fixes from trunk into the branch-3.44 branch. (check-in: 6d8a8b70 user: drh tags: branch-3.44)
11:50
Fix an assert() in fts5 that could be true following an OOM or IO error in contentless-delete mode. (check-in: 80a0bd7a user: drh tags: branch-3.44)
2023-11-18
20:24
Correct conditional compilation issue seen with MSVC in the Win32 mutex subsystem. (check-in: 6c069c5d user: drh tags: branch-3.44)
12:06
Adjust an assert() in fts5WritePoslistData() so that it only applies if there have been no prior errors. dbsqlfuzz 25dca9b2568f67dc78a0e32ff280133fe71994bd. (check-in: 257cdbab user: drh tags: trunk)
11:23
Another assertion fault fix, similar to [a9443dbfbe25e588]. dbsqlfuzz 2d9af4e94aca188e0092900eec711401c5d51687. (check-in: 3afaeac5 user: drh tags: trunk)
2023-11-17
17:55
Add the new "run-fuzzcheck" target on the autoconf unix makefile. Requires that FUZZDB be set to the name of the fuzz-data database file. (check-in: 8fa3915d user: drh tags: trunk)
17:25
Add an assert() to prove the sqlite3_prepare() always either returns SQLITE_OK or else leaves *ppStmt set to NULL. See forum post 70bb8576c6c084c2. (check-in: feadd402 user: drh tags: trunk)
17:03
Merge the latest trunk enhancements and fixes into the jsonb branch. (check-in: 162f0509 user: drh tags: jsonb)
12:22
Fix harmless compiler warnings in debugging code. (check-in: ce6a7562 user: drh tags: trunk)
11:58
Fix an incorrect assert() associated with ALTER TABLE where an unknown aggregate function contains an ORDER BY clause. dbsqlfuzz e0900262dadd5c78c2226ad6a435c7f0255be2cd. (check-in: a9443dbf user: drh tags: trunk)
2023-11-15
20:32
Both json_remove() jsonb_remove() work on pure JSONB as long as the input is JSONB. (check-in: 68d55173 user: drh tags: jsonb)
19:21
Some simple test cases for JSONB direct remove. (check-in: 8cb4d2cb user: drh tags: jsonb)
18:55
jsonb_remove() now works without having to use a JsonNode parse, assuming that the input is JSONB. (check-in: 5207679e user: drh tags: jsonb)
18:47
The jsonb_remove() routine now appears to be working. (Closed-Leaf check-in: e76d4813 user: drh tags: jsonb-remove)
16:10
Work toward getting jsonb_remove() to work directly on JSONB blobs. (check-in: a79ff8e5 user: drh tags: jsonb-remove)
14:09
Improvements to the description of sqlite3_errmsg() and sqlite3_errstr(). (check-in: fe5cc416 user: drh tags: trunk)
13:23
Merge all the latest enhancements and fixes from trunk into the jsonb branch. (check-in: ba91408f user: drh tags: jsonb)
2023-11-14
16:54 Edit [6f9eed826f5b3d1c|6f9eed82]: Edit check-in comment. (artifact: 955feab7 user: drh)
16:53
Add NEVER() to a branch made unreachable by [6f9eed826f5b3d1c]. (check-in: 26dcaa34 user: drh tags: trunk)
13:51
Extra PRAGMA vdbe_addoptrace output showing when OP_Column gets translated into OP_Copy due to using a coroutine instead of a cursor. (check-in: eba180e7 user: drh tags: trunk)
2023-11-13
12:05
Remove an incorrect ALWAYS() and NEVER(). (check-in: 94f62093 user: drh tags: branch-3.44)
2023-11-10
21:03
Fix another problem with mixed join types and the RIGHT JOIN strength-reduction optimization. (check-in: 8f01f8b2 user: drh tags: branch-3.44)
20:46
Additional debugging information on the tree-dump of the BETWEEN operator. (check-in: aca31e49 user: drh tags: trunk)
20:35
Remove an incorrect ALWAYS() that was inserted yesterday [1e039b6eb59c0001]. (check-in: 12885e29 user: drh tags: trunk)
18:59
Merge recent trunk enhancements and fixes into the jsonb branch. (check-in: 091a5f05 user: drh tags: jsonb)
17:49
Ensure 8-byte alignment of data structues in sqlite3_database_file_object(). This should have appeared on trunk originally and then be cherry-picked onto the branch. Oh well.... (check-in: ac39800b user: drh tags: trunk)
16:29
Remove a NEVER() from whereAddIndexedExpr() that is reachable if there is an unknown indexed function in the schema. (check-in: a976b720 user: drh tags: trunk)
16:11 Edit [530d10e93a5f63b7|530d10e9]: Edit check-in comment. (artifact: 5777b91b user: drh)
15:20
Fix an obscure problem with the join-strength-reduction optimization that could occur when mixing LEFT and RIGHT joins in the same query. (check-in: dcf1c137 user: drh tags: branch-3.44)
13:13
Fix a potential UAF caused by JSON parser cache spill. (Leaf check-in: ce3fc4fc user: drh tags: bedrock-3.43)
2023-11-09
18:41
Ensure 8-byte alignment of data structues in sqlite3_database_file_object(). (check-in: 3cfcaafa user: drh tags: branch-3.44)
17:42
Add the SQLITE_RESULT_SUBTYPE flag for application-defined functions. Add the -DSQLITE_STRICT_SUBTYPE=1 compile-time option that raises an error if any function invokes sqlite3_result_subtype() without the SQLITE_RESULT_SUBTYPE flag. SQLITE_RESULT_SUBTYPE prevents an indexed value of that function from being used to replace an equivalent expression, since the indexed expression does not carry the subtype. (check-in: 65a9cfc4 user: drh tags: branch-3.44)
17:36
Add the SQLITE_RESULT_SUBTYPE flag for application-defined functions. Add the -DSQLITE_STRICT_SUBTYPE=1 compile-time option that raises an error if any function invokes sqlite3_result_subtype() without the SQLITE_RESULT_SUBTYPE flag. SQLITE_RESULT_SUBTYPE prevents an indexed value of that function from being used to replace an equivalent expression, since the indexed expression does not carry the subtype. Fix for the problem described at forum post 68d284c86b082c3e. (check-in: ba789a78 user: drh tags: trunk)
17:26
Put an ALWAYS on an true branch. (Closed-Leaf check-in: 1e039b6e user: drh tags: func-rw-subtype)
16:52
Futher documentation refinements. (check-in: 311c2eba user: drh tags: func-rw-subtype)
15:01
Fixes: (1) In the ->> function, instead of setting a subtype and clearing it, do not set it in the first place, as doing the set would trigger an error under SQLITE_STRICT_SUBTYPE. (2) Allow the SQLITE_STRICT_SUBTYPE through the property filter on sqlite3_create_function(). (check-in: 6195468b user: drh tags: func-rw-subtype)
12:58
Add the SQLITE_STRICT_SUBTYPE compile-time option. This change reveals that the current SQLITE_RESULT_SUBTYPE design does not work unless we tag the ->> operator with SQLITE_RESULT_SUBTYPE. But that will disable an important optimization. (check-in: e98a9a65 user: drh tags: func-rw-subtype)
12:17
Do not replace expressions that return subtypes with values taken from an index. (check-in: a35d13db user: drh tags: func-rw-subtype)
12:08
Omit the new SQLITE_VALUE_SUBTYPE name. Stay with legacy SQLTIE_SUBTYPE. Add extra documentation to sqlite3_value_subtype() and sqlite3_result_subtype() indicating that the SQLITE_SUBTYPE and SQLITE_RESULT_SUBTYPE properties are required on functions that use those interfaces. (check-in: 563ad3be user: drh tags: func-rw-subtype)
01:56
JSON5 bug fix: Escape double-quotes that occur inside of single-quoted strings. (check-in: 6cc57bb2 user: drh tags: branch-3.44)
01:54
JSON5 bug fix: Escape double-quotes that occur inside of single-quoted strings. Forum post ddcad3e884. (check-in: 1c98d46d user: drh tags: trunk)
2023-11-08
21:38
Make a distinction between functions that consume subtypes and functions that generate subtypes. (check-in: 48a92e3a user: drh tags: func-rw-subtype)
18:08
Do not cover expressions using an indexed expression if the indexed expression is a function that might set a subtype. (Closed-Leaf check-in: e908b26a user: drh tags: idx-expr-fix)
17:11
Merge recent trunk enhancements into the jsonb branch, and especially the finer-grain characterization of JSON function properties. (check-in: 72393b00 user: drh tags: jsonb)
16:37
More precise characterization of JSON functions. Indicate when functions might return JSON (subtype 'J') and when they make use of the function argument cache. (check-in: b2b62546 user: drh tags: trunk)
00:45
Suppress harmless UBSAN warnings about memory overflow in OP_AddImm. The exact same machine code is generated by GCC. (check-in: b0594383 user: drh tags: trunk)
00:12
Changes a no-op call to freeP4() into an assert(). (check-in: 32a7b1bd user: drh tags: trunk)
2023-11-07
19:15
Update the documentation to the sqlite3_set_auxdata() and sqlite3_get_auxdata() routines to make it clear that they do not work as one might expect when they are called during query planning, instead of during query execution. The JSON routines misuse those interfaces, so add a special flag to JSON routines that prevents them from being invoked during query planning. (check-in: 36259009 user: drh tags: branch-3.44)
19:03
Update the documentation to the sqlite3_set_auxdata() and sqlite3_get_auxdata() routines to make it clear that they do not work as one might expect when they are called during query planning, instead of during query execution. The JSON routines misuse those interfaces, so add a special flag to JSON routines that prevents them from being invoked during query planning. Fix for the problem in forum post a655ee159eca1ea5. (check-in: 796a23f9 user: drh tags: trunk)
2023-11-06
19:08
Update the srctree-check.tcl script and child script so that they can be run on a read-only source tree and so that if any inconsistencies are found, the script returns a non-zero exit code and thus halts the build. (check-in: a0cc7e81 user: drh tags: branch-3.44)
19:01
Fix an fts5 problem where a transaction consisting of (a) a DELETE on rowid X, (b) a prefix query, and (c) an INSERT on rowid X, could corrupt the index. (check-in: 34af510a user: drh tags: branch-3.44)
2023-11-04
21:44
Ensure that the YYYY-MM-DD input to date and time functions has been normalized prior to returning a result. Forum post 6bb476897e. (check-in: b692eb8c user: drh tags: trunk)
2023-11-03
18:45
Back out the ALWAYS inserted late yesterday. The fuzzer discovered a counter-example. (check-in: 57063557 user: drh tags: trunk)
12:09
Enhance the JSONB lookup routine with logic to apply edits. The new logic is currently unused and hence untested but does not create any regressions. (check-in: b1211027 user: drh tags: jsonb)
11:41
Update the tool/srctree-check.tcl script so that it verifies that autoconf has been run following edits to VERSION. (check-in: 52ab3deb user: drh tags: trunk)
11:35
Merge all the latest trunk fixes and enhancements into the jsonb branch. (check-in: b089bf46 user: drh tags: jsonb)
10:15
Update the version number to 3.45.0 to begin the next development cycle. (check-in: 15b618e9 user: drh tags: trunk)
2023-11-02
22:39
Mark a branch made always-true by the penultimate check-in with ALWAYS(). (check-in: 268b5984 user: drh tags: trunk)
22:11
In the previous check-in, use a u32 instead of an int, to make it easier to prove that the integer will never overflow. (check-in: 51002079 user: drh tags: trunk)
13:10
One more tweak to tool/srctree-check.tcl so that a complete build can be accomplished from a read-only source tree. (check-in: cba9f060 user: drh tags: trunk)
12:05
Update the srctree-check.tcl script and child script so that they can be run on a read-only source tree and so that if any inconsistencies are found, the script returns a non-zero exit code and thus halts the build. (check-in: 58eb5440 user: drh tags: trunk)
11:14
Update the version number to 3.44.1 (check-in: 34f23c3d user: drh tags: branch-3.44)
11:08
CLI to compile with older MSVC compiler. (check-in: c8bf4f7a user: drh tags: branch-3.44)
2023-11-01
19:35
Update the windows build documentation to provide the exact command used to build the DLLs that appear on the download page. (check-in: 3524a891 user: drh tags: trunk)
14:12
Bring the jsonb branch up-to-date with version 3.44.0 changes. (check-in: a420a4f7 user: drh tags: jsonb)
12:50
Version 3.44.0 for the reuse-schema branch. (check-in: 30403ce2 user: drh tags: reuse-schema)
12:45
Version 3.44.0 for the bedrock branch. (check-in: 827cf67f user: drh tags: bedrock)
12:41
Version 3.44.0 for the wal2 branch (check-in: 470152fd user: drh tags: wal2)
12:38
Version 3.44.0 for the begin-concurrent branch. (check-in: 291d6b44 user: drh tags: begin-concurrent)
11:23
Version 3.44.0 (check-in: 17129ba1 user: drh tags: trunk, release, major-release, version-3.44.0)
Previous month ↓