SQLite

Timeline
Login

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

710 check-ins using file src/parse.y version 020d8038

2024-02-17
03:36
Fix rounding in zero-precision %f and %g printf conversions. (Leaf check-in: 1ebea57f user: drh tags: branch-3.45)
2024-02-16
21:34
Fix the subtype on the value column from json_each/json_tree for cases when the value is an array or object. (check-in: b278ae39 user: drh tags: branch-3.45)
2024-02-13
18:44
Fix a bug in PRAGMA integrity_check introduced by enhancement (8a) in release 3.42.0. (check-in: 60dccb23 user: drh tags: branch-3.45)
2024-02-12
17:01
Have rtree avoid keeping a blob handle open following an error. (check-in: 26978f34 user: drh tags: branch-3.45)
2024-02-11
23:25
Cherrypick multiple fixes for trifling faults from trunk, so that all 834 dbsqlfuzz run clean with ASAN on branch-3.45. dbsqlfuzz. (check-in: c080560c user: drh tags: branch-3.45)
2024-02-10
03:12
Further clarify sqlite3_exec() callback parameter lifetime. (check-in: 044ce823 user: larrybr tags: branch-3.45)
2024-02-08
01:23
Mention limited lifetime of string arrays passed to sqlite3_exec() callback. (check-in: d14a9d81 user: larrybr tags: branch-3.45)
2024-02-07
19:09
Checked into the wrong branch. (Closed-Leaf check-in: 81bd7aee user: drh tags: mistake)
14:16
Detect and respond to an OOM on the jsonStringTerminate() call of jsonReturnStringAsBlob() routine. (check-in: 77431aca user: drh tags: branch-3.45)
2024-02-06
13:36
Return SQLITE_ABORT if the underlying shadow tables change in the middle of an rtree query in such a way as to invalidate an rtree internal priority queue entry. This replaces the SQLITE_ABORT_ROLLBACK mechanism added in [97cffff331b]. (check-in: 061af0d7 user: drh tags: branch-3.45)
2024-02-03
19:41
Following a ROLLBACK that reverts changes to an RTREE, any pending queries against that same RTREE abort with code SQLITE_ABORT_ROLLBACK. (check-in: 97cffff3 user: drh tags: branch-3.45)
2024-01-30
17:02
Merge the 3.45.1 patches into the reuse-schema branch. (Leaf check-in: f98a99fc user: drh tags: reuse-schema-3.45)
16:53
Merge the changes from the 3.45.1 patch release into the wal2 branch. (Leaf check-in: 5e980265 user: drh tags: wal2-3.45)
16:01
Version 3.45.1 (check-in: e876e51a user: drh tags: release, branch-3.45, version-3.45.1)
2024-01-29
21:29
Detect malformed nested JSONB earlier and stop rendering to avoid long delays. (check-in: ab40e282 user: drh tags: branch-3.45)
16:49
Avoid a potential buffer overread when handling corrupt json blobs. (check-in: ac402cc5 user: drh tags: branch-3.45)
12:58
When rendering JSONB back into text JSON, report an error if a zero-length integer or floating-point node is encountered. Otherwise, if the node occurs at the very end of the JSONB, the rendering logic might read one byte past the end of the initialized part of the BLOB byte array. OSSFuzz 66284. (check-in: 3ab08ac7 user: drh tags: branch-3.45)
2024-01-28
17:44
Automatically disable the DISTINCT optimization during query planning if the ORDER BY clause exceeds 63 terms. (check-in: 6edbdcc0 user: drh tags: branch-3.45)
00:35
Apply the same fix found in [99057383acc8f920] to descending scans. (check-in: 593d6a1c user: drh tags: branch-3.45)
2024-01-24
21:08
Add NEVER() to a branch that is no longer reachable. (check-in: 9411337a user: drh tags: trunk)
19:54
Update ext/wasm/SQLTester for recent internal-API reorgs. (check-in: 996cfdf9 user: stephan tags: trunk)
2024-01-23
21:10
Slight adjustment to test results for Windows in mmap1.test due to the previous check-in. (check-in: a8043eae user: drh tags: branch-3.45)
21:10
Slight adjustment to test results for Windows in mmap1.test due to the previous check-in. (check-in: 5cf9ea9b user: drh tags: trunk)
16:21
In os_unix.c and os_win.c, do not allow xFetch() to return a pointer to a page buffer that is right at the end of the mapped region - if the database is corrupted in a specific way such a page buffer might be overread by several bytes. (Leaf check-in: 198a1daa user: drh tags: branch-3.44)
16:17
In os_unix.c and os_win.c, do not allow xFetch() to return a pointer to a page buffer that is right at the end of the mapped region - if the database is corrupted in a specific way such a page buffer might be overread by several bytes. (check-in: d131cab6 user: drh tags: branch-3.45)
16:09
In os_unix.c and os_win.c, do not allow xFetch() to return a pointer to a page buffer that is right at the end of the mapped region - if the database is corrupted in a specific way such a page buffer might be overread by several bytes. (check-in: 2684feac user: dan tags: trunk)
15:04
Fix harmless "unused parameter" compiler warning in the new fts3IntegrityMethod implementation. (check-in: 9d459f6b user: drh tags: branch-3.45)
14:45
Improved error message when a double-quoted identifier name cannot be resolved - ask the user if they intended to use a string literal. (check-in: efc5c3c5 user: drh tags: trunk)
13:58
Bump the version number to 3.45.1 (check-in: 54d34edb user: drh tags: branch-3.45)
13:53
When a JSON input is a blob, but it looks like valid JSON when cast to text, then accept it as valid JSON. This replicates a long-standing bug in the behavior of JSON routines, and thus avoids breaking legacy apps. (check-in: 4c2c1b97 user: drh tags: branch-3.45)
13:51
When a JSON input is a blob, but it looks like valid JSON when cast to text, then accept it as valid JSON. This replicates a long-standing bug in the behavior of JSON routines, and thus avoids breaking legacy apps. Forum thread 012136abd5292b8d. (check-in: e5dc81d5 user: drh tags: trunk)
13:28
Fix typo in the tag-20240123-a in a comment. (Closed-Leaf check-in: 1f09541e user: drh tags: blob-as-json)
13:21
If a BLOB looks like JSON when cast to text, then treat it as if it really were JSON. This replicates a long-standing bug in the JSON processing routines, and thereby avoids breaking legacy. (check-in: d79a3769 user: drh tags: blob-as-json)
12:51
Change the shell's --help flag to exit with code 0 instead of 1, per /forum and /chat discussions. (check-in: df563a18 user: stephan tags: trunk)
10:47
Ensure that the xIntegrity methods of fts3 and fts5 work on read-only databases. (check-in: e79b9736 user: dan tags: branch-3.45)
2024-01-22
20:49
Simplification of the error reporting logic. (Closed-Leaf check-in: 59eb9d29 user: drh tags: improved-dqs-error-msg, blob-as-json)
15:26
Improved error message when a double-quoted string is used and it seems likely that the user wanted a single-quoted string literal. (check-in: 0a834bd8 user: drh tags: improved-dqs-error-msg, blob-as-json)
14:16
The -DSQLITE_JSON_BLOB_INPUT_BUG_COMPATIBLE compile-time option causes blob inputs to JSON functions that are not JSONB to be processed as if they where text, immulating historical bugging behavior which some applications have come to rely upon. See forum thread 012136abd5292b8d for discussion. (check-in: 65572223 user: drh tags: blob-as-json)
14:01
Fix test script literal.test so that it works with SQLITE_OMIT_ALTER_TABLE builds. (check-in: 4dc00f57 user: dan tags: trunk)
12:56
Fix userauth so that it works together with SQLITE_OMIT_SHARED_CACHE. (Forum post 0bfc5888a384d430). However, also change to code to issue a deprecation warning whenever SQLITE_USER_AUTHENTICATION is used. (check-in: 249048b0 user: drh tags: trunk)
12:30
Add a notice to the user-authentication documentation to say that the extension is deprecated and may disappear in the future. (check-in: fe6fc7b9 user: drh tags: trunk)
01:11
Make CLI .dump immune to pragma reverse_unordered_selects, as reported in Forum thread c42be01880e961eb. (check-in: 488caed2 user: larrybr tags: trunk)
2024-01-21
21:20
Fix a harmless typo in a comment. (check-in: 382a8f94 user: drh tags: trunk)
2024-01-20
18:41
Ensure that values generated by DEFAULT clauses that specify real numbers that can be expressed as 64-bit integers (e.g. -1234.0) are not silently converted to integers. (check-in: 298d6977 user: dan tags: trunk)
18:26
Simplifications to the strftime() logic. (check-in: aaa5a044 user: drh tags: trunk)
18:21
Fix a memory leak in new memdb1.test test cases that were added by [e638d5e408ea2e18]. No changes to SQLite itself. (check-in: bb2b7a65 user: drh tags: trunk)
16:38
Make sure that %V and %G are testing for every since day in between 1970-01-01 and 2023-01-19. (check-in: 39c475f5 user: drh tags: trunk)
16:29
Rig sqlite3_serialize() so that it will initialize a previously uninitialized database prior to serializing it, so that it does not have a zero-byte size and does not return NULL (except for OOM). Forum thread 498777780e16880a. (check-in: e638d5e4 user: drh tags: trunk)
15:13
When doing a text-affinity comparison between two values where one or both have both a text and a numeric type, make sure the numeric type does not confuse the answer. This is a deeper fix to the problem observed by forum pose 3776b48e71. The problem bisects to [25f2246be404f38b] on 2014-08-24, prior to version 3.8.7. (check-in: 709841f8 user: drh tags: trunk)
13:18
Ensure that the replace() SQL function always returns a TEXT value even when its first argument is numeric and its second argument is an empty string. Fix for the issue reported by forum post 3776b48e71. (check-in: 01868ebc user: drh tags: trunk)
12:19
When backing out a character in a constructed string in JSON, first make sure the string has not been reset by on OOM. (check-in: 950bf9fe user: drh tags: branch-3.45)
12:13
When backing out a character in a constructed string in JSON, first make sure the string has not been reset by on OOM. dbsqlfuzz 2fffbea91a5376526ea118d4fe4188c8dd35e317. (check-in: 666690eb user: drh tags: trunk)
12:00
Fix the version number in the TEA configure script. This should have been changed by [1481baf3d55effcc] three check-ins ago. It is unclear how testing missed this. (check-in: eaf2cf73 user: drh tags: trunk)
00:31
Implement a new algorithm for computing ISO week values in strftime() based on the idea (from Nuno Cruces) of shifting the date being tested to the Thursday of the same week. (check-in: b06ab46a user: drh tags: trunk)
2024-01-19
16:51
Allow large hexadecimal literals to be used as DEFAULT values. (check-in: 8cccc1f2 user: dan tags: trunk)
2024-01-18
16:52
Increase the version number to 3.46.0 to begin the next development cycle. (check-in: 1481baf3 user: drh tags: trunk)
16:50
Add support in the strftime() SQL function for conversion letters %G, %g, %U, and %V. (check-in: e1155d6a user: drh tags: trunk)
2024-01-16
16:14
Fix harmless "unused parameter" compiler warning in the new fts3IntegrityMethod implementation. (check-in: bb1fe53a user: drh tags: trunk)
16:05
Ensure that the xIntegrity methods of fts3 and fts5 work on read-only databases. (check-in: b855886c user: dan tags: trunk)
15:04
Clutter the code with "fall-through" comments in order to suppress nuisance compiler warnings. No logic changes. (check-in: 05d2cf5e user: drh tags: trunk)
14:54
Remove the LLONG_MAX preprocessor macro from the series.c extension as it is apparently only C99 and later. Forum post 4af649419b. (check-in: f106bc0d user: drh tags: trunk)
14:28
wasm build: reformulate an awk invocation to account for awks which do not support the -e flag. Problem reported on the forum via a docker-hosted build. (check-in: 90dd5115 user: stephan tags: branch-3.45)
14:24
Various build- and code-reorg cleanups for ext/wasm. No functional changes. (check-in: 835bd4a1 user: stephan tags: trunk)
2024-01-15
17:01
Version 3.45.0 (check-in: 1066602b user: drh tags: trunk, release, version-3.45.0)
2024-01-13
20:38
Merge latest trunk changes into this branch. (Leaf check-in: bb9a7157 user: dan tags: reuse-schema)
20:21
Merge latest trunk changes into this branch. (Leaf check-in: 68c2b8d0 user: dan tags: wal2)
2024-01-12
11:44
Have the shell tool automatically enable SQLITE_CONFIG_DQS_DDL when executing a ".dump" script against an empty db. (check-in: f47a5f4e user: dan tags: trunk)
2024-01-11
16:10
wasm build: reformulate an awk invocation to account for awks which do not support the -e flag. Problem reported on the forum via a docker-hosted build. (Closed-Leaf check-in: 58366579 user: stephan tags: wasm-post-3.45)
14:21
Internal JS doc cleanups. (check-in: c8284170 user: stephan tags: wasm-post-3.45)
14:13
Fix a comment in sessions. No functional changes. Forum post 8c20dc935b. (check-in: b0eb6d36 user: drh tags: trunk)
14:03
In fts5, flush the contents of the in-memory hash table whenever the secure-delete option is toggled. This prevents spurious corruption reports under some circumstances. (check-in: ccf55231 user: dan tags: trunk)
12:56
Remove some dead JS code. Minor doc cleanups. (check-in: bf23cf20 user: stephan tags: wasm-post-3.45)
12:31
Split the JS vfs/vtab helper code into discreet units as a step towards a build which optionally elides those pieces. This is an internal restructuring change and does not affect the API. (check-in: ede945fd user: stephan tags: wasm-post-3.45)
2024-01-10
20:13
Fix a few compiler gripes. (Leaf check-in: 2e74a938 user: larrybr tags: win-dupe-crt-fio)
05:52
For CLI shell and other utilities, optionally avoid C runtime file I/O on Windows in favor of WIN32 calls, while nominally preserving FILE* API interfaces. (a WIP, awaiting build and testing) (check-in: 6be68be1 user: larrybr tags: win-dupe-crt-fio)
2024-01-09
23:15
Put an SQLITE_ENABLE_SETLK_TIMEOUT branch inside the appropriate ifdef with an assert on the else since the condition is always false if SETLK_TIMEOUT is not available. (check-in: d81e7a03 user: drh tags: trunk)
12:28
Improved resolution of unqualified names in the REINDEX command. Forum thread 74cd0ceabd. (check-in: 97709ce2 user: drh tags: trunk)
2024-01-08
19:55
Automatically turn off DEFENSIVE mode in the shell tool when executing scripts generated by the ".dump" command against an empty database. Add a warning to the top of generated ".dump" scripts that populate virtual tables. (check-in: cd016f26 user: dan tags: trunk)
18:53
Fix date on new file shell9.test. (Closed-Leaf check-in: c82da712 user: dan tags: shell-dump-fix)
18:46
Automatically turn off DEFENSIVE mode in the shell tool when executing scripts generated by the ".dump" command against an empty database. Add a warning to the top of generated ".dump" scripts that populate virtual tables. (check-in: 6e9e96b7 user: dan tags: shell-dump-fix)
15:23
Minor change to os_unix.c to facilitate 100% MC/DC testing. (check-in: 0dfa7b4d user: drh tags: trunk)
13:38
Ensure that SQLITE_PROTOCOL is not returned too early when a SQLITE_ENABLE_SETLK_TIMEOUT build fails to open a transaction on a wal mode database in cases where blocking locks are not being used. (check-in: a8e9af13 user: dan tags: trunk)
07:52
Make explicit which JS APIs are for internal use only by moving the JS-bound internal-use-only functions out of client-visible reach and renaming the WASM-exported ones from sqlite3_wasm... to sqlite3__wasm... (with two underscores). These have always been documented as internal-use-only, so this is not a breaking change except for clients which have ignored the docs. (check-in: 0eddc20f user: stephan tags: wasm-post-3.45)
2024-01-07
20:27
Remove an ALWAYS() from RTREE. Dbsqlfuzz found a way to make it false. (check-in: 40f0a29e user: drh tags: trunk)
00:45
Updates to RTREE to facility testing. (check-in: 7a5b42ff user: drh tags: trunk)
2024-01-06
19:16
Ensure that SQLITE_PROTOCOL is not returned too early when a SQLITE_ENABLE_SETLK_TIMEOUT build fails to open a transaction on a wal mode database in cases where blocking locks are not being used. (Closed-Leaf check-in: b934a336 user: dan tags: enable-setlk-fix)
15:22
Update JSON performance testing procedures for clarity and to describe how to do performance testing of JSONB. (check-in: b115b4f7 user: drh tags: trunk)
13:58
Update extension ext/misc/totext.c to avoid both ubsan warnings and dubious real->integer conversions. (check-in: 54143600 user: dan tags: trunk)
2024-01-05
15:53
Update extension ext/misc/totext.c to avoid both ubsan warnings and dubious real->integer conversions. (Closed-Leaf check-in: c626aa10 user: dan tags: totype-fix)
2024-01-04
17:33
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: e07f2451 user: drh tags: reuse-schema)
17:13
Avoid errors with SQLITE_OMIT_VIRTUALTABLE builds in json106.test and unionall.test. (check-in: 8940e2a1 user: drh tags: trunk)
16:16
Merge the latest trunk enhancements into the wal2 branch. (check-in: 8fb42df8 user: drh tags: wal2)
16:15
Testing code left in by accident. (Closed-Leaf check-in: 90e8a233 user: dan tags: mistake)
13:01
Restructure some code to fix what appears to be a false-positive UBSAN warning. (check-in: fe952c12 user: drh tags: trunk)
2024-01-03
20:40
Fix a #ifdef in sqlite3_test_control() that was preventing builds with SQLITE_OMIT_WSD. (check-in: d546a9c9 user: drh tags: trunk)
16:41
Convert the JSON functions to use lookaside memory allocation whenever feasible, to avoid hitting the global memory allocator mutex. (check-in: a79a2449 user: drh tags: trunk)
15:49
Change a constant from decimal to hex to avoid a compiler warning on Mac. (check-in: e3acb8a4 user: drh tags: trunk)
14:13
Enhance sqlite3_analyzer.exe so that it uses the ext/consio extension. (check-in: 769de0b9 user: drh tags: trunk)
12:26
Update the sqldiff.exe utility program so that it uses the sqlite3_str string interface, and so that it does console output using the ext/consio extension. (check-in: 4443b7e5 user: drh tags: trunk)
2024-01-02
22:49
Back out [b517a52fa36df0a0] which is no longer reachable due to early error detection enhancements in [166e82dd20efbfd3]. (check-in: 704943e9 user: drh tags: trunk)
21:37
Adjust the sqlite3PagerDirectReadOk() routine (part of the SQLITE_DIRECT_OVERFLOW_READ optimization) to use less code and to be more easily testable. (check-in: eed670ea user: drh tags: trunk)
21:08
Fix a problem in fts5 caused by a COMMIT involving fts5 data that immediately follows a ROLLBACK TO that does not. (check-in: 55c61f6a user: dan tags: trunk)
20:34
Increase the default "max_page_count" to its theoretical maximum of 4294967294. (check-in: ffb35f17 user: drh tags: trunk)
09:20
Elaborate on the various build flavors used by ext/wasm/. Doc changes only. (check-in: d489232a user: stephan tags: trunk)
09:03
Update and clean up the in-makefile docs for ext/wasm. (check-in: 7a7b295e user: stephan tags: trunk)
2024-01-01
23:28
Back out [99d11e6d0ae6] (enabling of STAT4 in WASM/JNI), per /chat discussion. (check-in: cd7929ee user: stephan tags: trunk)
19:20
New logic to avoid using indexes that ANALYZE has identified as of little practical use. Also a performance optimization in ANALYZE. (check-in: bcac9375 user: drh tags: trunk)
17:58
Remove some unnecessary computations from ANALYZE so that ANALYZE runs with fewer CPU cycles. These changes were spotted while working on the nearby enhanced-stat1 branch. So even if enhanced-stat1 is abandoned, that effort put into it will not have been in vain. (Closed-Leaf check-in: 5527e8c4 user: drh tags: avoid-low-quality-indexes)
17:48
Extra steps taken to avoid using low-quality indexes in a query plan. This branch accomplishes the same end as the nearby enhanced-stat1 branch, but with much less change and hence less risk. (check-in: c030e646 user: drh tags: avoid-low-quality-indexes)
15:49
Improved defenses against deliberately corrupted sqlite_stat1 tables. (Closed-Leaf check-in: ee34db31 user: drh tags: enhanced-stat1)
15:35
Fix a harmless compiler warning. (check-in: b5aa1aea user: drh tags: enhanced-stat1)
14:13
Omit the uneven=N argument in sqlite_stat1 and replace it with var=N1,N2,... so that the variation in each column is reported separately. Omit the "slow" argument from sqlite_stat1, computing that flag internally. PRAGMA stats is enhanced with a new column "est" that shows the aiRowLogEst array for each index after it has been modified by "var=..." and also the "slow" flag. (check-in: 4a8fc173 user: drh tags: enhanced-stat1)
06:58
JNI: move the ByteBuffer-using APIs from public to package visibility for the time being because they have UB-inducing possibilities which need to be worked out. Update test code to account for a change in custom FTS5 columntext() impls. (check-in: dc501275 user: stephan tags: trunk)
05:58
WASM: various build cleanups and add initial infrastructure for a build which elides the oo1 API and its dependents (worker1 and promiser). Sidebar: an attempt was made to move generation of the build rules to an external script, but the mixed-mode make/script was even less legible than the $(eval) indirection going on in the makefile. (check-in: 563d3131 user: stephan tags: trunk)
2023-12-31
20:04
Better comments. Slight tuning of parameters. (check-in: 1cc32ecc user: drh tags: enhanced-stat1)
12:38
Ensure that all elements of aiRowLogEst[] have been initialized even if the stat entry is truncated. (check-in: c216921b user: drh tags: enhanced-stat1)
04:01
Use SQLITE_ENABLE_STAT4 in both the WASM and JNI builds. (check-in: 99d11e6d user: stephan tags: trunk)
2023-12-30
22:00
In sqlite_stat1, revert the number of rows to the average, not adjusted for the maximum. Instead add "uneven=NNN" where NNN is a multiplier to apply to the average to get the maximum. "uneven" is only reported if NNN is 10 or more. Also add the "slow" argument is the maximum number of rows reported by a full equality match is so large that a table scan seems likely to be faster. (check-in: 41773fa7 user: drh tags: enhanced-stat1)
15:07
Omit the "noquery" argument in sqlite_stat1. Instead, add the "uneven" argument for indexes that have an uneven distribution of values. Modify the query planner to avoid doing equality look-ups on uneven indexes. (check-in: 0ec4b880 user: drh tags: enhanced-stat1)
2023-12-29
21:07
Revise the "noquery" decision algorithm again. The index now must select more than 150 rows on average, and the number of rows select must be enough that it seems faster to do a full scan of the associated table. (check-in: f516ef80 user: drh tags: enhanced-stat1)
20:31
Fix an issue in the "noquery" decision in the previous check-in. Also add comments explaining the algorithm. (check-in: 6aaa65ad user: drh tags: enhanced-stat1)
20:08
Add the "noquery" argument as an option for the stat column of sqlite_stat1. If set, then the index will not be used to optimize a query. Enhance ANALYZE to set that argument on very low selectivity indexes. (check-in: e514d3fa user: drh tags: enhanced-stat1)
19:03
Attempt to improve the ANALYZE command so that it does a better job of detecting lopsided indexes and makes appropriate changes to the sqlite_stat1 table. (check-in: 4b70b946 user: drh tags: enhanced-stat1)
04:29
Minor doc touchup in the JS bits. (check-in: 8d2120c3 user: stephan tags: trunk)
2023-12-28
21:02
Enable SQLITE_DIRECT_OVERFLOW_READ unless it is specifically disabled using the -DSQLITE_DIRECT_OVERFLOW_READ=0 compile-time option. (check-in: 630604a4 user: drh tags: trunk)
20:54
Update fts5origintext4.test to work with SQLITE_DIRECT_OVERFLOW_READ. (check-in: 15ed002a user: dan tags: trunk)
19:18
Performance improvement by unwinding a loop in jsonAppendString(). (check-in: 190ab3c0 user: drh tags: trunk)
16:25
Fix harmless compiler warnings in FTS5. (check-in: 3cd5ef44 user: drh tags: trunk)
16:21
Enhance the (undocumented, debug-only) json_parse() SQL function so that it returns the text rendering of the JSONB parse of the input, rather than printing the rendering on stdout. (check-in: 056de8d5 user: drh tags: trunk)
14:07
Merge the latest trunk changes into the reuse-schema branch. (check-in: 3d1b0403 user: drh tags: reuse-schema)
13:44
Merge the latest trunk enhancements into the wal2 branch. (check-in: 1f592dd3 user: drh tags: wal2)
2023-12-27
16:24
Fix a problem in the shell tool (not library) causing an out-of-bounds write if an ".open" command failed, then the user pressed ctrl-c to interrupt a query running on the substitute in-memory database. (check-in: 026618b9 user: dan tags: trunk)
2023-12-26
15:52
Ensure that the xColumnText(), xQueryPhrase() and xPhraseFirstColumn() APIs all return SQLITE_RANGE if they are passed a bad column or phrase number. (check-in: 1a8a9b1c user: dan tags: trunk)
13:20
Improved handling of malformed unicode within JSON strings. (check-in: e252bdf5 user: drh tags: trunk)
2023-12-24
12:02
Remove an ALWAYS() added in [c50e6c2ace49d092] because it is sometimes false. dbsqlfuzz c393a4f783d42efd9552772110aff7e5d937f15e. (check-in: b9daf37e user: drh tags: trunk)
11:43
Fix harmless compiler warnings associated with [5db30bcc338aac1c] (check-in: e55d1c23 user: drh tags: trunk)
11:31
Avoid signed integer overflow during integrity_check of FTS5. (check-in: 5937df3b user: drh tags: trunk)
2023-12-23
19:03
Improvements to the query planner to address the inefficiency described by forum post 2568d1f6e6. (check-in: 72fcc12c user: drh tags: trunk)
11:31
Add debugging output routines sqlite3ShowWhereLoop(X) and sqlite3ShowWhereLoopList(X) that can be invoked from a debugger to show a summary of the content of a single WhereLoop object or a list of WhereLoop objects. No change in release builds. (check-in: 5db30bcc user: drh tags: trunk)
2023-12-22
21:22
Change parameters on a debugging function to include "const". (check-in: 94c3e111 user: drh tags: trunk)
16:03
Add the -fno-sanitize-recover=undefined to the sanitizer builds used for sdevtest and release testing. To ensure that any test that provokes undefined behaviour fails. (check-in: 89563311 user: dan tags: trunk)
15:42
Update #ifdef checks in pager.c and util.c to account for [0462a2612d1fc1d0] to resolve the build problem reported in forum post 9819032aac. (check-in: 7374c234 user: stephan tags: branch-3.44)
15:41
Update #ifdef checks in pager.c and util.c to account for [0462a2612d1fc1d0] to resolve the build problem reported in forum post 9819032aac. (check-in: 0f22d809 user: stephan tags: trunk)
14:47
Fix a usan complaint about signed integer overflow. (check-in: e65907e0 user: dan tags: trunk)
12:57
Add a new comment to debugging output routine sqlite3WhereLoopPrint() to remind us of what the various fields of the debug output mean. No changes to code. (check-in: da5f34fd user: drh tags: trunk)
2023-12-21
18:08
Add internal core-developer-only documentation of the JSONB format. (check-in: 4d304788 user: drh tags: trunk)
2023-12-20
19:33
Fix SQLITE_ENABLE_SETLK_TIMEOUT assert() statements in os_unix.c to avoid reading past the end of the unixShmNode.aMutex[] array. (check-in: 029a05cd user: dan tags: trunk)
11:34
Avoid harmless integer overflow in pager status statistics gathering. Response to forum post 7f4cdf23f9. (check-in: 206d8c65 user: drh tags: trunk)
2023-12-19
21:39
In JSON - minor code cleanup and refactoring with a small size reduction and performance increase. (check-in: 215fabda user: drh tags: trunk)
15:51
Remove redundant conditional from sqlite3ExprCanBeNull(). (check-in: 257f96a2 user: drh tags: trunk)
15:10
On second thought, we don't really need sqlite_dbdata accessible to the CLI. (check-in: 36fe6a61 user: drh tags: trunk)
15:06
Fix harmless compiler warning in the randomjson.c extension. (check-in: debe7060 user: drh tags: trunk)
14:54
More precise computation of the size of data structures in the query planner. Response to Forum post 7d8685d49d. (check-in: 0c8d88e4 user: drh tags: trunk)
14:53
Add ALWAYS() and NEVER() on branches made unreachable by recent changes. (check-in: c50e6c2a user: drh tags: trunk)
13:45
Ignore COLLATE operators when determining whether the result of a subexpression should be shallow-copied or deep-copied. (check-in: 34ae36a4 user: drh tags: trunk)
13:00
Test case for the previous check-in. (check-in: df5a07e1 user: drh tags: trunk)
13:00
When unable to resolve an identifier, change the Expr node into TK_NULL rather than TK_COLUMN, to prevent any downstream misuse of the non-existent column. (check-in: 8f770d14 user: drh tags: branch-3.44)
12:49
When unable to resolve an identifier, change the Expr node into TK_NULL rather than TK_COLUMN, to prevent any downstream misuse of the non-existent column. dbsqlfuzz 71869261db80a95e4733afa10ff5724bf3c78592. (check-in: d2e6117e user: drh tags: trunk)
12:23
Always make the sqlite_dbdata virtual table available in the CLI. (check-in: e5fd3b32 user: drh tags: trunk)
11:57
Extra ALWAYS() macros to verify state in the sqlite3ExprCanBeNull() routine. (check-in: be19b84c user: drh tags: trunk)
00:07
Remove a stray comment in the JSON code. (check-in: 6618bdf0 user: drh tags: trunk)
2023-12-18
19:18
New JSON invariant test cases. (check-in: a6a1367b user: drh tags: trunk)
18:50
Add NEVER() to an unfalsifiable branch. (check-in: 9a0c67db user: drh tags: trunk)
18:31
Fix JSON to JSONB translation so that it deals correctly with Infinity and NaN. (check-in: 178cb84f user: drh tags: trunk)
15:53
Ensure that the insert/delete size delta on JSONB objects in the JSON cache are always set to zero. (check-in: 4b458166 user: drh tags: trunk)
14:24
Add randomjson.c to testfixture. Use it for a new set of invariant tests against JSON functions. (check-in: f1c04060 user: drh tags: trunk)
14:16
Ensure that all object labels for individual objects generated by randomjson.c are unique. (check-in: 29c46aca user: drh tags: trunk)
13:51
Bug fix in the randomjson.c extension. (check-in: 1f3a33df user: drh tags: trunk)
12:18
Enhancements to ext/misc/randomjson.c. (check-in: a4e6d1f8 user: drh tags: trunk)
2023-12-17
20:41
Enhancements to the "randomjson.c" extension. Automatically load that extension into fuzzcheck. (check-in: 70620405 user: drh tags: trunk)
2023-12-16
15:48
Enable SQLITE_STRICT_SUBTYPE for default builds of the shell, fuzzcheck, and testfixture. (check-in: 5a0c517e user: drh tags: trunk)
10:50
New test case based on Chromium bug report 1511689. (check-in: 2c7ef4b4 user: drh tags: trunk)
2023-12-15
20:13
In the count-of-view optimization, deferring freeing obsolete parts of the parse tree, on the off-chance that some other part of the code might be holding a pointer to those parts. (check-in: da442578 user: drh tags: trunk)
19:26
Avoid expiring prepared statements in the middle of an integrity-check. (check-in: 88beb484 user: dan tags: trunk)
16:28
Add mention of --buildonly and --dryrun to the testrunner.tcl usage screen. (check-in: 23b92d91 user: drh tags: trunk)
15:22
Fix a new JSON test case so that it works even if SQLITE_OMIT_VIRTUALTABLE is defined. (check-in: b995aae5 user: drh tags: trunk)
15:17
Do not run test script fts5origintest4.test with either "memsubsys1" or "mmap" permutations. (check-in: 05a63d96 user: dan tags: trunk)
14:33
Avoid running the "no_mutex_try" tests with SQLITE_ENABLE_SETLK_TIMEOUT builds as part of the release test. (check-in: 6b4e1344 user: dan tags: trunk)
13:38
Correct --enable-sab flag in ext/wasm/GNUmakefile to fix a silent alhttpd args-parsing error. (check-in: 7b9b757d user: stephan tags: trunk)
2023-12-14
22:01
Use SQLITE_STRICT_SUBTYPE=1 by default for the JNI and WASM builds unless they're explicitly built with SQLITE_STRICT_SUBTYPE=0. (check-in: 99021135 user: stephan tags: trunk)
16:34
Add assert()s to FTS5 to fix static analyzer warnings. (check-in: 27d4a89a user: drh tags: trunk)
15:38
Fix harmless compiler warnings in JSON and FTS5. (check-in: 90135efc user: drh tags: trunk)
15:31
Improve the error message returned by an fts5 'rebuild' command on an external content table if there is a problem with the content table or view. (check-in: 0fbf4b8a user: dan tags: trunk)
15:11
Enhance aggregate order-by so that it transmits subtype information through the sorter. Fix for the deficiency reported by forum post 87347ad2fb5a8f76. (check-in: d302a389 user: drh tags: trunk)
13:58
Pass subtype information through the aggregate ORDER BY sorter for aggregate functions that use subtype information. (Closed-Leaf check-in: 3536f403 user: drh tags: agg-orderby-subtype)
2023-12-13
20:37
In CLI, fix .read inability to open 2GB+ files on WIN32. (check-in: 56c80a62 user: larrybr tags: trunk)
16:50
Avoid invoking sqlite3ExprColUsage() on an unresolve column reference. (check-in: 6e0e2ee7 user: drh tags: branch-3.44)
16:45
Avoid invoking sqlite3ExprColUsage() on an unresolve column reference. dbsqlfuzz fc34aa62df4de103705d11b807074687ffafbda5. (check-in: ac9314c0 user: drh tags: trunk)
15:27
Bug fix in the JSONB validator. dbsqlfuzz ac6fa521a08609a642198e7decf64180e750b3c4 (check-in: 3e940a6a user: drh tags: trunk)
14:31
Improvements to UTF8 handling, and especially the handling of invalid UTF8, in the JSON routines. (check-in: 1b229c11 user: drh tags: trunk)
2023-12-12
18:38
Fix the JSON object label comparison object so that it works correctly even if the label ends with escaped whitespace. (check-in: 4d5353ca user: drh tags: trunk)
17:55
Worker1 Promiser API: when multiple db connections are active then use the requested connection instead of always the first-opened connection. Bug reported in forum post 894c330e7f23b177. (check-in: 3874e5a3 user: stephan tags: branch-3.44)
17:52
Worker1 Promiser API: when multiple db connections are active then use the requested connection instead of always the first-opened connection. Bug reported in forum post 894c330e7f23b177. (check-in: 194276e1 user: stephan tags: trunk)
17:31
The json_valid(*,8) function does a much better check of the validity of the JSONB input. The json_error_position() function returns an approximate byte offset to the point of the first detected error in the JSONB. (check-in: 840efb33 user: drh tags: trunk)
17:13
Add NEVER to two unreachable branches in JSON. (Closed-Leaf check-in: c96ebb08 user: drh tags: jsonb-valid)
14:33
Improvements to JSONB validation - catch more cases where the input does not conform to spec. (check-in: be1864ea user: drh tags: jsonb-valid)
02:31
Validity checking of text nodes in JSONB. (check-in: fa516068 user: drh tags: jsonb-valid)
2023-12-11
21:00
The json_error_position() function now reports an approximate byte offset to the problem in a JSONB if there is a problem. (check-in: 80d5d94d user: drh tags: jsonb-valid)
20:44
json_error_position() now uses jsonValidityCheck() to find the approximate position of an error in a JSONB blob. (check-in: c3d60cf7 user: drh tags: jsonb-valid)
20:19
json_valid(*,8) allows minus-signs on hexadecimal literals. (check-in: c0d7f452 user: drh tags: jsonb-valid)
19:21
Activate JSON_SELFCHECK within fuzzcheck. (check-in: 4d14e733 user: drh tags: jsonb-valid)
19:00
Rename the new test-control to SQLITE_TESTCTRL_JSON_SELFCHECK. Make it so that the current value of the setting can be interrogated. (check-in: 7aff1d9a user: drh tags: jsonb-valid)
17:03
Add SQLITE_TESTCTRL_VALIDATE_JSONB, which if enabled under SQLITE_DEBUG causes cross-checking of generate JSONB. (check-in: b410a4db user: drh tags: jsonb-valid)
14:01
Work toward enhanced functionality for json_valid() with deep checking of the JSONB (second argument has bit 0x08). (check-in: c370d573 user: drh tags: jsonb-valid)
13:48
Different fix for the fts5 COMMIT-following-OOM problem first fixed by [fba3129d]. This one does not cause problems if an fts5 table is renamed and then dropped within the same transaction. (check-in: 67da596d user: dan tags: branch-3.44)
02:39
Fix a potential use of uninitialized value in json_valid() with 2nd argument of 8. (check-in: fa102036 user: drh tags: trunk)
2023-12-08
16:56
Fix a harmless UBSAN warning. (check-in: 1503cba6 user: drh tags: trunk)
14:54
Fix a potential problem RCStr access on a JsonString object that is not really and RCStr. Fuzzer/UBSAN find. (check-in: d2f2174c user: drh tags: trunk)
12:58
Fix a harmless compiler warning about "confusing indentation". (check-in: 34f9e9a8 user: drh tags: trunk)
12:04
Avoid dropping an error code in new fts5 tokendata=1 code. (check-in: a66596e3 user: dan tags: trunk)
2023-12-07
21:09
Ensure an fts5vocab table never uses a special tokendata=1 merge cursor. (check-in: 1e26510e user: dan tags: trunk)
20:46
Avoid an assert() failure when querying an fts5vocab table that accesses a tokendata=1 fts5 table with corrupt %_data records. (check-in: 386ba9e2 user: dan tags: trunk)
19:08
Fix a null-pointer dereference in fts5 tokendata=1 code. (check-in: d69fa8f0 user: dan tags: trunk)
18:41
Fix a problem with handling OOM and other errors in fts5 when querying tokendata=1 tables. (check-in: bc911ab5 user: dan tags: trunk)
14:41
Different fix for the fts5 COMMIT-following-OOM problem first fixed by [fba3129d]. This one does not cause problems if an fts5 table is renamed and then dropped within the same transaction. (check-in: d8c6b246 user: dan tags: trunk)
14:09
Rework the jsonEachPathLength() routine in json_tree() so that it is less susceptible to problems due to goofy object labels. (check-in: 858b76a0 user: drh tags: trunk)
13:14
Add ALWAYS() on branches added in [ec0ae4030968c782] that are always true. (check-in: 451cef86 user: drh tags: trunk)
12:55
Improved detection of corrupt JSONB in the jsonReturnFromBlob() function. (check-in: b014736c user: drh tags: trunk)
2023-12-06
22:22
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 5c36819c user: drh tags: reuse-schema)
21:11
Merge the latest trunk enhancements into the wal2 branch. (check-in: 457724e7 user: drh tags: wal2)
18:34
Fix compiler warning about shadowed variable in fts5_index.c. (check-in: ee70e4c1 user: dan tags: trunk)
18:25
Work around LLVM's newfound hatred of function pointer casts. Forum post 1a7d257346636292. (check-in: ec0ae403 user: drh tags: trunk)
18:10
Update documentation comments in fts5.h. (check-in: 38c50e22 user: dan tags: trunk)
17:50
Do correct comparisons between object labels in JSON even when the two labels contain different JSON escapes. (check-in: bda2e30c user: drh tags: trunk)
17:39
Correctly handle 8-byte sizes in the JSONB format. Forum post 283daf08e91183fc. (check-in: 73d390f3 user: drh tags: trunk)
16:57
Fix the routine that determines the json_tree.path value for the first row so that it correctly takes into account escape sequences in the path argument. (Closed-Leaf check-in: b9243ee8 user: drh tags: json-label-compare)
16:27
In CLI, move -interactive flag handling back to arg-loop pass 2. (check-in: 63cb05a8 user: larrybr tags: trunk)
15:50
Test cases for object label matching with escape sequences. (check-in: c6f2aa38 user: drh tags: json-label-compare)
15:35
The rule for the RHS of the ->> and -> operators when the RHS does not begin with $ is that it must be (1) all digits, or (2) all alphanumerics, or (3) contained within [..] or else it will become a quoted label. (check-in: 0e059a54 user: drh tags: json-label-compare)
14:50
Increased rigor in comparisons between object labels in JSON. (check-in: 2bc86d14 user: drh tags: json-label-compare)
14:36
Add the tokendata=1 option and related APIs to fts5. (check-in: a76a636b user: dan tags: trunk)
14:30
Merge trunk changes into this branch. (Closed-Leaf check-in: 8f46eace user: dan tags: fts5-token-data)
12:30
README.md typo fix reported in the forum and update all links from http: to https:. (check-in: 5c48acdb user: stephan tags: trunk)
2023-12-05
19:45
Rework the JSON functions so that they use the JSONB format internally. The original JsonNode parse tree design is removed. All JSON functions that accept text JSON also accept JSONB. New functions generate JSONB. (check-in: 7f0c79b9 user: drh tags: trunk)
19:24
Use extra assert() statement to silence harmless static analyzer warnings. (Closed-Leaf check-in: 174c2b2e user: drh tags: jsonb)
18:36
Further tests for the new code on this branch. (check-in: 59d008b6 user: dan tags: fts5-token-data)
18:28
Miscellaneous comment cleanup and typo fixes. (check-in: 59446dc0 user: drh tags: jsonb)
12:52
Use strspn() to accelerate whitespace bypass in the JSON parser. (check-in: 843197df user: drh tags: jsonb)
12:22
Small performance gain by unwinding the string literal delimiter search loop in the JSON parser by one more level. (check-in: 4c587fea user: drh tags: jsonb)
12:20
Clean up the JSONB performance test script. (check-in: 90530107 user: drh tags: jsonb)
01:44
Use an assert() to fix a harmless static analyzer warning. (check-in: a249ca65 user: drh tags: jsonb)
00:17
Fix OOM and corrupt JSONB handling in json_patch(). (check-in: 1910feb0 user: drh tags: jsonb)
2023-12-04
23:12
Rename the internal routine jsonMergePatchBlob() to just jsonMergePatch(). (check-in: ebf667b6 user: drh tags: jsonb)
19:48
Add further tests for xInstToken(). (check-in: 8582707f user: dan tags: fts5-token-data)
19:32
Fixes to error handling in json_array_length(). (check-in: aa85df2d user: drh tags: jsonb)
19:14
Do not make the input JSONB editable in json_remove() if there are no PATH argument. (check-in: 66594544 user: drh tags: jsonb)
18:53
Fix errors in rendering JSON5 escape sequences embedded in JSONB. (check-in: f1a51ae3 user: drh tags: jsonb)
18:45
Fixes for xInstToken() with tokendata=0 tables. And with prefix queries. (check-in: 78fbb715 user: dan tags: fts5-token-data)
17:58
Fix memory leak in new code on this branch. (check-in: ebc160b9 user: dan tags: fts5-token-data)
17:45
Fix a problem with the xInstCount() API and "ORDER BY rank" queries. (check-in: 317a5056 user: dan tags: fts5-token-data)
17:40
Continuing simplifications and code cleanup. (check-in: ddf92b50 user: drh tags: jsonb)
17:05
Fix bug in xInstToken() causing the wrong token to be returned. (check-in: da78d07e user: dan tags: fts5-token-data)
16:01
Remove reachable ALWAYS and NEVER macros. (check-in: f601de3e user: drh tags: jsonb)
15:22
Two new NEVER macros. (check-in: 52632c92 user: drh tags: jsonb)
15:08
Add tests for using tokendata=1 and contentless_delete=1 together. (check-in: a2506b8c user: dan tags: fts5-token-data)
13:12
Repair issues and inefficiencies found during testing. (check-in: ae973cb1 user: drh tags: jsonb)
01:14
Better pre-scan size estimations for objects in the JSON parser resulting in fewer reallocations and memmove operations. (check-in: 526b27f9 user: drh tags: jsonb)
00:31
Back off on the use of strlen() for situations where sqlite3_value_bytes() will work as well, for performance. (check-in: 79fb54fb user: drh tags: jsonb)
2023-12-03
23:38
Remove dead code. Improved reporting of errors in JSON inputs. (check-in: 2eaa738e user: drh tags: jsonb)
23:30
Avoid problems when the path argument to json_tree() contains embedded U+0000 characters. (check-in: 9f055091 user: drh tags: jsonb)
20:11
Ensure that OOM conditions in the generation of the "bad JSON path" error message result in an SQLITE_NOMEM error. (check-in: aa0e02b5 user: drh tags: jsonb)
19:59
Enable incorrect JSONB to be rendered into text without hitting an assertion for a bad whitespace escape in a string. (check-in: 4d6a9a21 user: drh tags: jsonb)
19:32
Partial hand-merge of shell.c.in (not buildable) (Leaf check-in: 62e90c9b user: larrybr tags: cli_extension_wip)
11:54
Do not let bad hexadecimal digits in malformed JSONB cause an assertion fault. (check-in: 8dec1ba1 user: drh tags: jsonb)
00:51
Minor code changes for consistency and to simplify testing. (check-in: df272bd8 user: drh tags: jsonb)
2023-12-02
21:39
Implement strict JSONB checking in the json_valid() function. (check-in: 0f26d388 user: drh tags: jsonb)
20:37
Fix harmless compiler warnings reported by MSVC. (check-in: 419652c0 user: drh tags: jsonb)
20:35
Fix various compiler warnings and other problems with the new code on this branch. (check-in: 3a623cfa user: dan tags: fts5-token-data)
20:25
Code and comment cleanup. Everything should work the same. (check-in: c640754d user: drh tags: jsonb)
18:17
Fix harmless compiler warnings. Refactor some identifier names for clearer presentation. (check-in: 7e394150 user: drh tags: jsonb)
18:14
When tokendata=1 queries require multiple segment-cursors, allow those cursors to share a single array of in-memory tombstone pages. (check-in: e0175d07 user: dan tags: fts5-token-data)
18:04
Take extra care to ensure that JSONB values that are in cache are actually owned by the JSON subsystem, and that ownership of such values is not handed back to the bytecode engine. (check-in: 13045340 user: drh tags: jsonb)
17:32
Ensure that tokendata=1 queries avoid loading large doclists for queries like "common AND uncommon", just as tokendata=0 queries do. (check-in: 7bda09ab user: dan tags: fts5-token-data)
16:11
Protect a memcpy() against OOM conditions. (check-in: 26144d1c user: drh tags: jsonb)
15:59
Do not allow a JsonParse object to be considered "editable" after an OOM. (check-in: c6bacf57 user: drh tags: jsonb)
15:06
Fix potential unsigned integer underflow in jsonAppendString(). (check-in: d2fba2cb user: drh tags: jsonb)
14:55
Minor fix to the header comment on jsonXlateTextToBlob(). (check-in: c3677ba4 user: drh tags: jsonb)
14:16
Performance optimization in jsonAppendString(). (check-in: fdf00e96 user: drh tags: jsonb)
13:36
Simplification and optimization of the JSON parser. (check-in: f5ec9485 user: drh tags: jsonb)
12:23
Remove a NEVER that can be true if a virtual table column is declared to have a DEFAULT. See forum post 3d4de8917627d058. (check-in: 8abc2cca user: drh tags: trunk)
01:38
Unroll a loop in the parser for a performance increase. (check-in: a6dc29e4 user: drh tags: jsonb)
01:06
Fix harmless compiler warnings and enhance performance the parser. (check-in: 285633da user: drh tags: jsonb)
2023-12-01
22:01
Performance optimization in the JSON parser. (check-in: 68d191f4 user: drh tags: jsonb)
20:37
Remove old code for tokendata=1 queries. (check-in: b0a489e8 user: dan tags: fts5-token-data)
20:10
Merge latest trunk with this branch. (check-in: 82589674 user: dan tags: fts5-token-data)
20:09
Different approach to querying a tokendata=1 table. Saves cpu and memory. (check-in: c523f408 user: dan tags: fts5-token-data)
18:49
JSON cache is now more effective. (check-in: 443a3f3a user: drh tags: jsonb)
18:46
Fix up the JSON cache to work better. (Closed-Leaf check-in: 1fdbc395 user: drh tags: jsonb-cache)
13:28
Cache is working better, but does not preserve the hasJson5 flag. (check-in: a12add7a user: drh tags: jsonb-cache)
12:57
First attempt to get the JSON text-to-binary cache working. All test cases pass, but the cache seems not to help much. (check-in: 25ed295f user: drh tags: jsonb)
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)
20:34
Add a basic batch-mode SQL runner for the SAH Pool VFS, for use in comparing it against WebSQL. Bring the WebSQL batch runner up to date, noting that it cannot run without addition of an "origin trial" activation key from Google because that's now the only way to enable WebSQL in Chrome (that part is not checked in because that key is private). Minor code-adjacent cleanups. (check-in: 883990e7 user: stephan tags: trunk)
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)
10:00
Update some OPFS-related help text in WASM tests. Minor cleanups in speedtest1-worker.js. (check-in: 263f6d3a user: stephan tags: trunk)
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:22
Fix signed integer overflow in fts5. (check-in: 60e46c7e user: dan tags: fts5-token-data)
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)
19:43
Merge latest trunk updates into this branch. (check-in: 554fc13f user: dan tags: fts5-token-data)
18:16
The json_remove() function now uses only JSONB, never JsonNodes, internally. (check-in: b69786e7 user: drh tags: jsonb)
17:32
Update this branch with latest changes from trunk. (check-in: 7f1b61a3 user: dan tags: wal2)
17:12
In SQLITE_ENABLE_SETLK_TIMEOUT builds, use blocking locks in place of sleep() calls when opening a read-transaction. (check-in: 4c055b7a user: dan tags: trunk)
15:29
Handle an SQLITE_BUSY_TIMEOUT error if one occurs while attempting a shared lock on a read-lock slot. (Closed-Leaf check-in: 5fbf3906 user: dan tags: blocking-dms-lock)
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)
20:37
Have SQLITE_ENABLE_SETLK_TIMEOUT builds block when locking a read-lock slot. (check-in: f797baf4 user: dan tags: blocking-dms-lock)
19:22
In SQLITE_ENABLE_SETLK_TIMEOUT builds, use blocking locks in place of sleep() when opening a read-transaction. (check-in: a51ef399 user: dan tags: blocking-dms-lock)
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)
15:08
Pickup stray oput?() calls that should have gone to stdout. Simplify console line reading, sacrificing speed (which does not matter then) for code size. (Leaf check-in: 8e20645c user: larrybr tags: console-io-lib)
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)
20:14
Add the --buildonly and --dryrun options to testrunner.tcl. (check-in: a0c87ae9 user: dan tags: trunk)
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)
18:33
Allow a pattern to filter test scripts to be appended to testrunner.tcl "mdevtest", "sdevtest" and "release" commands. e.g. "tclsh test/testrunner.tcl sdevtest fts5%". (check-in: f8ea0b58 user: dan tags: trunk)
16:17
Get all CLI print calls which went to stdout in 3.44.0 to do so again. (check-in: d65d9579 user: larrybr tags: console-io-lib)
15:58
Get all CLI print calls which went to stdout in 3.44.0 to continue going to stdout. (check-in: e9951ede user: larrybr tags: trunk)
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)
13:30
CLI .output/.once to not redirect ".timer on" results. (check-in: 626c4353 user: larrybr tags: console-io-lib)
13:26
CLI .output/.once to not redirect ".timer on" results. (check-in: ce766ed5 user: larrybr tags: trunk)
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:38
Merge 3.44.2 changes into the wal2-3.44 sub-branch. (Leaf check-in: 0118e8c9 user: drh tags: wal2-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)
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)
11:18
Fix an fts5 problem that could occur when mixing regular and secure delete operations on a single table. (check-in: 8eb3f400 user: dan tags: trunk)
07:10
Fix output redirect bug reported in the forum. (check-in: 60bdd5c3 user: larrybr tags: console-io-lib)
07:08
Fix output redirect bug reported in the forum. (check-in: ce542fee user: larrybr tags: trunk)
07:06
Fix output redirect bug reported in the forum. (check-in: 2ab256bc user: larrybr tags: branch-3.44)
2023-11-22
22:59
Minor doc fix in src/betreeInt.h, prompted by an email report. No code changes. (check-in: 30d49aae user: stephan tags: trunk)
21:24
For CLI build with unused function warnings on, #ifdef out a console I/O function, fPutbUtf8(). (check-in: da36f90d user: larrybr tags: trunk)
21:15
Add documentation for new fts5 auxiliary function APIs. (check-in: 9be8969e user: dan tags: fts5-token-data)
20:02
Defer building xInstToken() hash-table until it is to be used. (check-in: 9b005085 user: dan tags: fts5-token-data)
19:02
Fix tokendata=1 and xInstToken() APIs for detail=none and detail=column tables. (check-in: 37b271c1 user: dan tags: fts5-token-data)
17:13
Correct the URL for loading sqlite3-worker1-bundler-friendly.mjs from sqlite3-worker1-promiser-bundler-friendly.js, so that the promiser can be used in bundler-using environments. Problem reported via email. (check-in: b1128838 user: stephan tags: branch-3.44)
17:11
Correct the URL for loading sqlite3-worker1-bundler-friendly.mjs from sqlite3-worker1-promiser-bundler-friendly.js, so that the promiser can be used in bundler-using environments. Problem reported via email. (check-in: 753a7521 user: stephan tags: trunk)
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)
15:34
Merge the 3.44.1 patches into a sub-branch of wal2. (check-in: 2672572c user: drh tags: wal2-3.44)
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:46
Pickup minor stylistic changes related to console I/O and, for Windows builds, get fact of UTF-16 translation into the sign-on banner. (a straight cherry-pick) (check-in: d7a59e79 user: larrybr tags: branch-3.44)
18:37
Pickup minor changes related to console I/O. (check-in: 24774e77 user: larrybr tags: console-io-lib)
18:26
Merge console I/O changes for Windows CLI. (check-in: 935a8a8e user: larrybr tags: trunk)
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)
15:55
Sync w/trunk as pre-merge-to-trunk sanity check. (check-in: 448d6a11 user: larrybr tags: console-io-lib)
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:59
Arrange to not compile unused console I/O function. (check-in: 184a0cd2 user: larrybr tags: branch-3.44)
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)
11:40
Fix an assert() in fts5 that could be true following an OOM or IO error in contentless-delete mode. (check-in: 3fe89238 user: dan tags: trunk)
00:21
Cherrypick shell1.test fix. (check-in: 91c888ed user: larrybr tags: trunk)
00:20
Cherrypick shell1.test fix. (check-in: 39e30c5f user: larrybr tags: console-io-lib)
2023-11-19
17:33
Fix test 5.0 in shell1.test for Windows. (A double-quote wrapped single-quote needs no further treatment to be recognized as a single single-quote.) (check-in: aaa73400 user: larrybr tags: branch-3.44)
2023-11-18
22:10
Merge changes to do Windows console I/O with UTF-16. (check-in: f782054e user: larrybr tags: branch-3.44)
20:24
Correct conditional compilation issue seen with MSVC in the Win32 mutex subsystem. (check-in: 6c069c5d user: drh tags: branch-3.44)
18:36
Correct conditional compilation issue seen with MSVC in the Win32 mutex subsystem. (check-in: 6f8f4bfe user: mistachkin tags: trunk)
17:20
When ENABLE_SETLK is defined, avoid ever blocking on the lock mutex in os_unix.c when requesting an exclusive lock. (check-in: eb36d475 user: dan tags: trunk)
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
19:01
When SQLITE_ENABLE_SETLK_TIMEOUT is defined, use a separate mutex in os_unix.c for each shm locking slot. (check-in: 64691df9 user: dan tags: trunk)
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:10
When SQLITE_ENABLE_SETLK_TIMEOUT is defined, use a separate mutex in os_unix.c for each shm locking slot. (Closed-Leaf check-in: 4098df96 user: dan tags: unix-setlk-timeout-mutexes)
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-16
21:11
When querying a tokendata=1 fts5 table, do not use a prefix cursor for the case where the term has only one variant. (check-in: d711c96b user: dan tags: fts5-token-data)
20:50
Cherrypick changes to simplify and make more rational how console I/O package features are selected. (Leaf check-in: b20c9f17 user: larrybr tags: consio-3.44)
18:31
Simplify and make more rational how console I/O package features are selected. (Motivated by Fiddle and other command-line utilities to soon use the package.) No substantive code-execution changes. (check-in: 1cde0587 user: larrybr tags: console-io-lib)
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)
19:19
Changes so that if SQLITE_ENABLE_SETLK_TIMEOUT is defined as 2 instead of 1, all blocking locks are taken for a single millisecond and the default busy-handler invoked as normal. (check-in: 79e24ec3 user: dan tags: trunk)
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:54
Get Fiddle build to succeed. (It runs, too, but not from changes here.) (check-in: 957ebaa2 user: larrybr tags: consio-3.44)
16:10
Work toward getting jsonb_remove() to work directly on JSONB blobs. (check-in: a79ff8e5 user: drh tags: jsonb-remove)
15:20
Changes to console I/O for Fiddle build, to always defer to C library (as before.) A WIP, pending testing with Fiddle build. (check-in: 45b8061e user: larrybr tags: consio-3.44)
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)
11:45
Add implementation of xInstToken() API. (check-in: a34b26fe user: dan tags: fts5-token-data)
11:31
Fix an exception misuse in test-opfs-vfs.js. (check-in: 9264955e user: stephan tags: trunk)
08:59
JNI: add more wrapper1 Sqlite.Blob tests. (check-in: d63f6e1f user: stephan tags: trunk)
08:29
JNI: clear out the sqlite3_context native pointer after calling UDF callbacks which do not have an argv (as was already done for those which have an argv). Add related tests and code commentary. (check-in: 138f4054 user: stephan tags: trunk)
06:28
JNI doc updates. (check-in: 1b1f36a2 user: stephan tags: trunk)
06:10
JNI: add the @Experimental annotation and mark all java.nio.ByteBuffer-related methods with it. (check-in: 0f4b2231 user: stephan tags: trunk)
05:08
JNI test code cleanups. (check-in: 09142ac1 user: stephan tags: trunk)
04:55
JNI: add CONFIG_LOG and CONFIG_SQLLOG support to wrapper1. Code-adjacent cleanups. (check-in: 83c49b9e user: stephan tags: trunk)
03:02
JNI: apply an internal level of API indirection to avoid having to work with massively-mangled names for the various sqlite3_config() overloads. (check-in: 24f20663 user: stephan tags: trunk)
2023-11-14
16:53
Add NEVER() to a branch made unreachable by [6f9eed826f5b3d1c]. (check-in: 26dcaa34 user: drh tags: trunk)
14:59
JNI: reimplement Tester2.execSql() using the high-level API. (check-in: 3a69679e user: stephan tags: trunk)
14:50
Fix another obscure problem with nested aggregates. dbsqlfuzz 04408efc51. This might be a better fix than the one at [4a587c3492faa994]. (check-in: 6f9eed82 user: dan tags: trunk)
14:38
JNI: add Sqlite.Stmt.step(boolean) overload which returns the result code of sqlite3_step() unless passed true, in which case it throws for any result other than ROW or DONE. The intent is to simplify handling of LOCKED and BUSY errors. (check-in: f4f1cc20 user: stephan 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)
05:33
JNI: use ByteBuffer.limit() instead of ByteBuffer.capacity() when figuring out where the logical end of a ByteBuffer is, for reasons explained at length in new code comments. This is unfortunately slower but is the correct way to do it. (check-in: 51539419 user: stephan tags: trunk)
04:59
JNI: add sqlite3_blob_read_nio_buffer() and iron out the blob/ByteBuffer interface somewhat. (check-in: 7df317b4 user: stephan tags: trunk)
03:31
Cherry-pick some assert()s to cover misuse of *Put*() from 500+ shell.c callers. (check-in: c1a53c28 user: larrybr tags: consio-3.44)
03:24
Add a few asserts into *Put*() functions to catch calls that might cause an address fault. (check-in: 2341f9b6 user: larrybr tags: console-io-lib)
02:43
JNI: change sqlite3_prepare_multi()'s exception-handling semantics to be more C-like and, to support that, add the package-private sqlite3_jni_db_error() method to set the db error state from package-level Java code. (check-in: 46656b35 user: stephan tags: trunk)
01:33
JNI: add sqlite3_blob_write() overload which accepts a java.nio.ByteBuffer. Cleanups in adjacent code. (check-in: ca32af85 user: stephan tags: trunk)
2023-11-13
23:11
JNI: add sqlite3_column_nio_buffer() and sqlite3_value_nio_buffer() using an only-slightly roundabout approach to creating properly-sized ByteBuffer objects. (check-in: efbc82b2 user: stephan tags: trunk)
18:35
JNI: add sqlite3_result_nio_buffer() and tests. Discover that we cannot create sensible sqlite3_column_nio_buffer() or sqlite3_value_nio_buffer() counterparts because of ByteBuffer interface limitations. (check-in: 44b4df01 user: stephan tags: trunk)
17:45
Manual merge of branch-3.44 with 3 sources affected/created by console-io-lib changes. (check-in: 18ebcf11 user: larrybr tags: consio-3.44)
17:26
Mistaken creation by a Fossil expert-to-be-maybe. (Leaf check-in: 2e3e98a4 user: larrybr tags: mistake)
15:59
Cure many warnings from gcc, clang and CL.exe. (check-in: 29ea2a3a user: larrybr tags: console-io-lib)
14:58
JNI: add sqlite3_bind_nio_buffer() and initial tests for binding ByteBuffer objects as blobs on JVMs which have JNI support for nio buffers. (check-in: b10ce1ef user: stephan tags: trunk)
14:29
Add new fts5 API xQueryToken(). (check-in: 82856639 user: dan tags: fts5-token-data)
13:01
Fix var-intro after executable code departure from old C. (check-in: 08996f4f user: larrybr tags: console-io-lib)
12:53
Slight cleanup of length-limited strpbrk() replacement, and eliminate strpbrk() call. (check-in: 97e2c962 user: larrybr tags: console-io-lib)
12:05
Remove an incorrect ALWAYS() and NEVER(). (check-in: 94f62093 user: drh tags: branch-3.44)
05:24
Enhance console_io to permit emits limited in various ways, such as valid UTF-8, upto control chars, or with counted limits, all getting away from 0-termination as the sole limit. In CLI, use this capability to avoid certain emit-chars-singly procedures that were breaking up UTF-8 characters. This fixes broken json mode output (on Windows) and (maybe) C-literal-like emits. (check-in: 906c5c40 user: larrybr tags: console-io-lib)
2023-11-12
19:57
Add sqlite3_x86.exe unversioned binary. (check-in: a731cddd user: larrybr tags: console-io-lib)
03:58
Use setOutputStream() to designate implicit output for oput{z,f}() emit functions, and use them extensively. (check-in: 7850fb98 user: larrybr tags: console-io-lib)
00:43
Write BOM without fwrite(), using sputz() so that if it goes to the console, it is translated "properly". (check-in: 06ef96a8 user: larrybr tags: console-io-lib)
2023-11-11
22:53
Remove SHELL_LEGACY_CONSOLE_IO PP symbol and code it made active. (It is in the repo if ever needed/wanted, but it is just inferior or dead code now.) (check-in: 27c5bf65 user: larrybr tags: console-io-lib)
20:46
Complete shell transition to using {f,o,e}put{f,z}() emit functions. (check-in: 923c6b8b user: larrybr tags: console-io-lib)
14:50
JNI wrapper1: when checking for an out-of-bounds statement column index, perform the is-statement-finalized check before the range check so that the former exception trumps the latter. (check-in: 0832f9a8 user: stephan tags: trunk)
14:43
Do not cache a statement's column count in the JNI wrapper1 API because an ALTER TABLE via another statement may invalidate it, as reported in forum post 6d80efd58d4591c7. (check-in: a6ab88e9 user: stephan tags: trunk)
13:09
Fix malf with redirected input due to bad assumption that stdin is a console in the fgets() replacement. (check-in: 79d1f2c1 user: larrybr tags: console-io-lib)
06:20
Pervasive changes to console_io.{c,h} in support of simplifying ubiquitous emit ops in shell, and to get better control of console streams that might be opened only via .read or .output commands. Changes to shell to use {s,o,e}put{f,z}(...) calls for initial testing, but this check-in has few such conversions so that most will be in a separate check-in. Many renames to better follow recent coding convention. This code seems to be working, but has not been tested on difficult platforms or with multiple console hosts yet. So it is a WIP. (check-in: 14762a00 user: larrybr tags: console-io-lib)
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:55
Fix another problem with mixed join types and the RIGHT JOIN strength-reduction optimization. Forum post befdab472d. (check-in: f1eae192 user: dan tags: trunk)
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)
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)
15:03
Fix an obscure problem with the join-strength-reduction optimization that could occur when mixing LEFT and RIGHT joins in the same query. Forum post 7f74ce0bee and separately post d64f0abe723ac98e. The problem was introduced by check-in [d747afda5683ca5f]. (check-in: 530d10e9 user: dan tags: trunk)
15:01
Expose the missing SQLITE_SUBTYPE to wasm. (check-in: 7bebfe20 user: stephan tags: branch-3.44)
15:00
Expose the missing SQLITE_SUBTYPE to wasm. (check-in: ac9534b2 user: stephan tags: trunk)
15:00
Expose the missing SQLITE_SUBTYPE to JNI. (check-in: 0f92f4c9 user: stephan tags: trunk)
14:15
Expose SQLITE_RESULT_SUBTYPE to JNI. (check-in: 3bf75875 user: stephan tags: trunk)
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:55
Expose SQLITE_RESULT_SUBTYPE to wasm. (check-in: fc039886 user: stephan tags: branch-3.44)
17:53
Expose SQLITE_RESULT_SUBTYPE to wasm. (check-in: 6d2fe984 user: stephan tags: trunk)
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:28
Fix compilation issue seen with MSVC. (check-in: 0dfe790d user: mistachkin 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)
13:00
A .class file build dependencies fix in the JNI build. (check-in: 8cc32915 user: stephan tags: trunk)
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:48
Add some notes about the JNI pointer-passing approach and convert a couple of potential NullPointerExceptions into appropriate C result codes. Clarify that invocation of undefined behaviour from the Java API does not (due to the addition of defensive code) mean the same thing as it does in C (e.g. no NULL pointer dereferences). (check-in: 19c4778f user: stephan tags: trunk)
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)
12:01
Two more JNI build fixes for Windows/MinGW, reported in forum post 4f949edc312d2a75. (check-in: a3f9c390 user: stephan tags: trunk)
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)
15:56
Have the shell tool emit a warning if the user attempts to use ".scanstats vm" in a non-SQLITE_ENABLE_BYTECODE_VTAB build. (check-in: 3978c084 user: dan tags: trunk)
15:51
Remove old files related to wapptest.tcl from test/ directory. (check-in: dd3e7b5b user: dan tags: trunk)
15:49
Avoid blocking as part of passive checkpoint operations, even if SQLITE_ENABLE_SETLK_TIMEOUT is defined. (check-in: e5ecc404 user: dan tags: trunk)
15:34
Remove an unused/invalid test from the wasm suite. (check-in: 916ae898 user: stephan tags: trunk)
14:55
Add declarations for new fts5 API functions. (check-in: b8a48cc1 user: dan tags: fts5-token-data)
12:56
JNI build fixes for platforms where the jint type is not the same as int, as reported in forum post 9089d2049a. (check-in: b32b0873 user: stephan 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
20:56
Add -DSQLITE_ENABLE_SETLK_TIMEOUT=1 to a release-test configuration. (check-in: cd3e38fb user: dan tags: trunk)
20:11
Fix an assert() that could fail within calls to sqlite3_snapshot_open() in SQLITE_ENABLE_SETLK_TIMEOUT builds. (check-in: 84634bc2 user: dan tags: trunk)
19:39
An attempt to work around compilation errors on MinGW reported in forum post 9089d2049a. (check-in: d5658a3e user: stephan tags: trunk)
19:30
Refactor MBCS/UTF-8 translation to avoid extra allocations, supporting non-formatted (faster) output. Some code cleanup. Wrap .system/.shell command exection with restoration of startup console mode and renewing mode setup. Changes to make legacy MBCS build work better (than legacy did, even with --no-utf8.) (check-in: d5e88fcd user: larrybr tags: console-io-lib)
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)
19:02
Do not allow aggregate or window functions in UPDATE statements. (Leaf check-in: fce776cc user: dan tags: no-aggregates-in-update)
17:15
JNI: during static init record whether the current JVM supports JNI-level access to java.nio.ByteBuffer raw memory, and add sqlite3_jni_supports_nio() to query that. (check-in: fb8dbb77 user: stephan tags: trunk)
15:56
Add Sqlite.prepareMulti() to JNI wrapper1, for preparing multiple statements from a single input. (check-in: e4670d68 user: stephan tags: trunk)
13:44
Diverse minor cleanups in the JNI pieces. (check-in: 35233dd9 user: stephan tags: trunk)
13:22
Flesh out [7a63b5b65a79] to be able to build JNI with or without SQLITE_ENABLE_COLUMN_METADATA. (check-in: fcee41b3 user: stephan tags: trunk)
02:41
Get dependencies into make recipes. Get legacy console I/O (-DSHELL_LEGACY_CONSOLE_IO) working. Due to movement of MBCS/UTF-8 translation into traditional stream I/O simulacra, the input translation does not happen the same way. (It works the same, but fails differently and a bit better.) Added printf() and fputs() look-alikes, and made CLI use them. (check-in: 1721dc6a user: larrybr tags: console-io-lib)
2023-11-06
21:57
Add -DSQLITE_ENABLE_COLUMN_METADATA to the JNI build, as per forum post 9205518c0568fdf0. Add tests for the functions that flag enables so that the build will fail if that flag is missing. (check-in: 7a63b5b6 user: stephan tags: trunk)
19:16
Merge latest trunk into this branch. (check-in: 3a869cf1 user: dan tags: fts5-token-data)
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)
18:40
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: c2058a04 user: dan tags: trunk)
16:32
Merge trunk changes into this branch. (check-in: ac557061 user: dan tags: fts5-token-data)
15:31
Move console_io lib to its own subdirectory, etc/consio . (check-in: 1d0583f2 user: larrybr tags: console-io-lib)
15:15
Some renaming, warnings cured, and more coding convention conformance. (check-in: 58815f0a user: larrybr tags: console-io-lib)
13:24
Add an fputs() equivalent to console I/O lib, and use in CLI. (check-in: d661f907 user: larrybr tags: console-io-lib)
03:09
Cause CLI to use console_io library. (check-in: bf66a7c1 user: larrybr tags: console-io-lib)
00:15
Make MSVC accept it, too. (Cannot use static const int as part of a constant expression?) (check-in: bb278d24 user: larrybr tags: console-io-lib)
2023-11-05
23:55
Make it buildable. Pull test program from testee. Zap stray fprintf(). (check-in: 2b850aca user: larrybr tags: console-io-lib)
19:42
Input working. No line-editor provisions yet. (WIP, but suitable for testing.) (check-in: e8568b1d user: larrybr tags: console-io-lib)
04:20
Add incremental blob I/O support to JNI wrapper1. (check-in: 7f1c76fe user: stephan tags: trunk)
03:37
JNI wrapper1 normalizeSql() now throws UnsupportedOperationException, instead of returning null, if built without SQLITE_ENABLE_NORMALIZE. Remove SQLITE_PREPARE_NORMALIZE from the JNI interface because it's a legacy no-op. (check-in: d081a126 user: stephan tags: trunk)
01:55
Add authorizer support to JNI wrapper1. (check-in: 773f9873 user: stephan tags: trunk)
01:39
Add progress-handler support to JNI wrapper1. Correct the return type of the extended_result_codes() JNI binding and expose it to wrapper1. (check-in: 6c0acfdc user: stephan tags: trunk)
01:21
Setup, takedown, mode set and output working. No input yet. (WIP) (check-in: dfea85be user: larrybr tags: console-io-lib)
01:14
Add update-hook support to JNI wrapper1. (check-in: 6c584cf2 user: stephan tags: trunk)
00:48
Add commit/rollback hook support to JNI wrapper1. (check-in: ff3d44fe user: stephan tags: trunk)
00:02
Add busy-handler support to JNI wrapper1. (check-in: dcf579ab user: stephan tags: trunk)
2023-11-04
23:37
Bind collation and collation-needed to JNI wrapper1 and correct the callback return type for collation-needed callbacks in the lower-level JNI binding. (check-in: 0f673140 user: stephan tags: trunk)
22:47
Wrap the sqlite3_backup API in the JNI wrapper1 API. (check-in: 3ee6cc29 user: stephan tags: trunk)
21:51
Reimplement auto-extensions in Java for use with the JNI wrapper1 API. (check-in: 14ed4c64 user: stephan tags: trunk)
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)
16:01
Expose context_db_handle() to the JNI wrapper1 API and clean up some related tests. (check-in: c23123af user: stephan tags: trunk)
13:37
Rework the JNI wrapper1 variants of status() and db_status() to be more Java-esque. (check-in: 40ad3920 user: stephan tags: trunk)
13:16
Bind the bool-flag sqlite3_db_config() variants to the JNI wrapper1 API. (check-in: b5cdcb92 user: stephan tags: trunk)
12:53
Bind the trace API to the JNI wrapper1 API and add a way to map the native-level db/stmt types to their high-level counterparts (required for translating callbacks such as tracers). (check-in: 702910e0 user: stephan tags: trunk)
02:22
Define interface between project command-line apps and a console I/O "library". (check-in: 64abef83 user: larrybr tags: console-io-lib)
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)
17:20
Fix a case where adjacent tokens are handled incorrectly by the fts5 snippet() function. (check-in: 8f5e9c19 user: dan tags: trunk)
13:00
Wrap more of the stmt API behind the JNI wrapper1 API. (check-in: 8fea23dc user: stephan 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:53
Bind the sqlite3_keyword_...() and sqlite3_compileoption_...() family of functions to the JNI wrapper1 API. (check-in: b2724241 user: stephan tags: trunk)
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)
21:02
Fix a spurious "misuse of aggregate function" error that could occur when an aggregate function was used within the FROM clause of a sub-select of the select that owns the aggregate. e.g. "SELECT (SELECT x FROM (SELECT sum(t1.a) AS x)) FROM t1". Forum post c9970a37ed. (check-in: 4470f657 user: dan tags: trunk)
18:22
Add the "remove_diacritics" option to the fts5 trigram tokenizer. (check-in: 0d501724 user: dan tags: trunk)
18:10
Fix a problem with amalgamation builds on this branch. (Closed-Leaf check-in: 8f046c82 user: dan tags: fts5-trigram-diacritics)
18:08
Merge latest JNI pieces into trunk. (check-in: e8c97fae user: stephan tags: trunk)
17:31
Add the "remove_diacritics" option to the fts5 trigram tokenizer. (check-in: 83da8013 user: dan tags: fts5-trigram-diacritics)
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)
11:04
CLI to compile with older MSVC compiler. (check-in: c89f75f8 user: larrybr tags: trunk)
2023-11-01
20:09
Remove some outdated JNI docs. (Closed-Leaf check-in: 52aef3d0 user: stephan tags: jni-post-3.44)
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:33
Fix testrunner.tcl so that it accepts a relative path as an argument to the --zipvfs switch. (check-in: c1ed7ed0 user: dan 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:41
Version 3.44.0 for the wal2 branch (check-in: 470152fd user: drh tags: wal2)
11:23
Version 3.44.0 (check-in: 17129ba1 user: drh tags: trunk, release, major-release, version-3.44.0)
2023-10-31
17:40
Fix harmless compiler warnings in test code. (check-in: d1895dd8 user: drh tags: trunk)
17:39
Fix a problem with SQLITE_ENABLE_FTS5 builds of the non-amalgamation testfixture.exe in Makefile.msc. (check-in: 544091cc user: dan tags: trunk)
2023-10-30
23:20
Remedy CLI non-UTF8 handling detection flaw noted in a forum post. (check-in: a4c7954b user: larrybr tags: trunk)
23:05
Merge the latest 3.44.0 release candidate changes into the reuse-schema branch. (check-in: 28f9a559 user: drh tags: reuse-schema)
23:04
Remedy CLI non-UTF8 handling detection flaw noted in a forum post. (Leaf check-in: 2666b80d user: larrybr tags: win-utf8-io-split)
21:46
Merge the latest 3.44.0 changes into wal2 branch. (check-in: 4f65ae2d user: drh tags: wal2)
20:35
Update the autoconf/Makefile.msc so that it aligns with Makefile.msc. (check-in: c4f724de user: drh tags: trunk)
19:50
Dodge a nuisance warning from MSVC in CLI use of Prepared Statement Scan Status. (Yes, C rules are fine.) (check-in: 166c96d9 user: larrybr tags: trunk)
19:03
Add a cast to i64 for an integer in an sqlite3OsWrite() offset calculation. The cast is not strictly necessary, but it helps human readers see that the code is correct. (check-in: 7564ff1b user: drh tags: trunk)
18:48
Fix another comment typo. No code changes. (check-in: 3203256c user: drh tags: trunk)
18:17
Add FTS5 to default Makefile.msc builds. And UNKNOWN_SQL_FUNCTION and STMT_SCANSTATUS to default Makefile.msc shell builds. (check-in: e41fde2f user: dan tags: trunk)
18:09
Make the new sqlite3_get_clientdata() and sqlite3_set_clientdata() interfaces available to run-time loaded extensions. (check-in: 8fc9aa0f user: drh tags: trunk)
18:07
Fix problems with previous commit on Makefile.msc. Also some win32-specific test failures in fts5misc.test. (Closed-Leaf check-in: 527f2237 user: dan tags: shell-build-changes)
17:56
Fix typo in a comment. No code changes. (check-in: 424ef955 user: drh tags: trunk)
17:13
Add FTS5 to default Makefile.msc builds. And UNKNOWN_SQL_FUNCTION and STMT_SCANSTATUS to default Makefile.msc shell builds. (check-in: bf99ebba user: dan tags: shell-build-changes)
16:38
Predicate Windows CLI UTF-8 console I/O on a runtime capability check rather than an OS version check. (check-in: 0058ea6a user: larrybr tags: trunk)
13:56
Predicate Windows CLI UTF-8 console I/O on a runtime capability check rather than an OS version check. (check-in: f89d062f user: larrybr tags: win-utf8-io-split)
12:09
With SQLITE_ENABLE_BLOCK_ATOMIC_WRITE enabled, if a transaction is committing and there is a new freelist page at the end of the database file which would cause the database file size to grow, ensure that page is written and the file size grows before the block-atomic-write commits. Fix for the problem identified by forum post 3bd8d497b2 (check-in: c9fdd680 user: drh tags: trunk)
2023-10-29
20:05
For Windows CLI, institute a version check to determine default MBCS or UTF-8 translation on console I/O. (Default to UTF-8 where known possible.) (check-in: ddc6ead6 user: larrybr tags: trunk)
19:55
Simplify code slightly. Improve comments on added code and its use. (check-in: 046c8429 user: larrybr tags: win-utf8-io-split)
16:26
Properly close a handle. Use a putatively effective runtime test for UTF-8 console I/O capability. (This makes the version test useful mainly for avoiding a warning that UTF-8 console I/O could not be setup.) (check-in: dc91eb91 user: larrybr tags: win-utf8-io-split)
00:24
Condition default UTF-8 console I/O for Windows builds on OS version 10 or more. This is to accomodate an IsValidCodePage() API which may happily report CP_UTF8 as a valid code page when the stock console cannot, in fact, do UTF-8 I/O. (check-in: 6b9b2a88 user: larrybr tags: win-utf8-io-split)
2023-10-28
16:19
Limit the range of integer unix timestamps in date4.test, since some systems (RaspberryPI) cannot deal with timestamp values that exceed pow(2,31). (check-in: 76529066 user: drh tags: trunk)
11:53
Update documentation for sqlite3_errmsg() to try to make it clear that if the schema of a database contains table names or similar with invalid UTF, then the error message generated by SQLite might also contain invalid UTF. No changes to code. (check-in: 33ba13c7 user: drh tags: trunk)
11:40
Since SQLite considers NaN to be like NULL and NULL sorts before any integer, make sure the sqlite3IntFloatCompare() routine reports that the integer argument is larger if the floating-point argument is NaN. (check-in: de1cf31a user: drh tags: trunk)
03:56
Merge trunk into jni-post-3.44 branch. (check-in: 9670eb24 user: stephan tags: jni-post-3.44)
03:54
Remove the SQLITE_MAX_ALLOCATION_SIZE flag (set to 536mb) from the WASM build because it can unduly limit db exports via sqlite3_serialize(), as reported in forum post 75524f7342c1ba45. It now defaults to whatever sqlite3.c uses, which is currently just shy of 2gb. (check-in: f6e11379 user: stephan tags: trunk)
2023-10-27
23:02
Add missing docs for the JS Worker1 export method, as pointed out in forum post 75524f7342. (check-in: a7b267bd user: stephan tags: jni-post-3.44)
21:44
Fix cosmetic flaw in SQLITE_TXN_* doc. (no code change) (check-in: 72d7c18f user: larrybr tags: trunk)
21:05
Export sqlite3_get_autocommit() to WASM and add tests for it. (check-in: 7cb6d3cd user: stephan tags: jni-post-3.44)
18:16
Disable two rtree test cases for Linux-i686. We do not have that platform available for testing. The test cases work on all other 64-bit and 32-bit platforms that we have at hand. So there is no way for us to debug this problem. Better to disable the test. forum post ffcbf789b5386573. (check-in: fed4d6e9 user: drh tags: trunk)
17:40
Add makefile targets for fuzzcheck-asan and fuzzcheck-ubsan. (check-in: 27fc1430 user: drh tags: trunk)
15:31
Fix to Makefile.in so that the "tool-zip" target can be run from outside the source tree. (check-in: cd118da9 user: dan tags: trunk)
13:59
Cleanup shell.c comments. Hide -utf8 option, as it is undocumented and accepted only for backward compatibility. No functional changes except for -help content. (check-in: 3a879955 user: larrybr tags: trunk)
10:49
Back out [2904fcbeebba9189], mostly. The page bitmap is needed even for a partial integrity_check in order to avoid an infinite loops while walking the database. (check-in: dd6e03b3 user: drh tags: trunk)
2023-10-26
18:41
In CLI for Windows builds, do MBCS/UTF-8 translation independently for input and output. (And cure an MSVC warning.) (check-in: 80f0b6f9 user: larrybr tags: trunk)
18:24
Handle utf8 mode restore better for redirected input or output. Move utf8 mode setup to before any invocation command processing. Sync w/trunk. (Leaf check-in: 59452e7c user: larrybr tags: win-utf8-io-split)
17:30
Enhance the "tool-zip" makefile target on Windows so that it uses more universally available commands to build the ZIP archive. Fix other minor issues with that makefile target at the same time. (check-in: d2f2f912 user: drh tags: trunk)
16:59
Further enhancements to make sure the correct returnning trigger is run when there are nested INSERT RETURNING statements. (check-in: d83405e8 user: drh tags: trunk)
16:05
Handle the case where a virtual table xBestIndex method called while coding a trigger fired by a top-level statement with a RETURNING clause prepares a statement that also contains a RETURNING clause. (check-in: ec6bffa3 user: dan tags: trunk)
15:12
Ready for merge, but could use testing on some dusty old Windows machines. (check-in: 20220615 user: larrybr tags: win-utf8-io-split)
12:59
Deal with the case of a reentrant INSERT on a virtual table where the outer INSERT has a RETURNING clause but the inner does not. dbsqlfuzz 3ac9a1e33f676254e02c0f297263b0a7aeb0c1a5. Fault injected by [a2449bcc2c71d0f4], first appearing in release 3.40.1. (check-in: 8aba78e4 user: drh tags: trunk)
2023-10-25
20:44
Cure a harmless MSVC warning. (no other changes) (check-in: 02234ef8 user: larrybr tags: win-utf8-io-split)
20:27
In CLI for Windows builds, do MBCS/UTF-8 translation independently for input and output. (WIP) (check-in: 47b13e66 user: larrybr tags: win-utf8-io-split)
20:08
Updates to the mktoolzip.tcl to work on win32. (Closed-Leaf check-in: 166b775b user: dan tags: win32-mktoolzip)
19:06
Fix harmless compiler warnings. (check-in: cc8efe04 user: drh tags: trunk)
18:53
Provide dummy parameter names in the prototype for the new xIntegrity method of the sqlite3_module object. (check-in: 131374d7 user: drh tags: trunk)
18:35
Fix minor problems with the "showwal" utility program. Add a missing header to the zipfile.c extension. (check-in: 7b3f866e user: drh tags: trunk)
17:26
Test module altermalloc3.test requires DQS_DDL to be turned on. (check-in: c4d02f4b user: drh tags: trunk)
15:30
Add an ALWAYS on branch that was made always-true by the DISTINCT ORDER BY fix. (check-in: c29ebcb0 user: drh tags: trunk)
14:54
When doing a DISTINCT aggregate that contains an ORDER BY, only the arguments to the aggregate need to be distinct, not the ORDER BY terms. (check-in: d2dbbdf7 user: drh tags: trunk)
12:58
Fix the amalgamation generator so that when it is reporting the Fossil version number in the header comment of the amalgamation, it does not elide the first hex digit of the version hash. (check-in: cc66f526 user: drh tags: trunk)
10:37
Enhance the new xIntegrity method of the sqlite3_module object with new parameters that provide the name of the table being checked and a flag to indicate a "quick_check". Based on feedback in forum post 965c0d02ea. (check-in: bc8afa3f user: drh tags: trunk)
2023-10-24
19:56
Implement check-in [477577120b897bf1] differently, so as not to disrupt non-standard build configuration. See forum post c11523ca2df50293. (check-in: 50448fe4 user: drh tags: trunk)
17:45
Test cases for COLLATE and NULLS FIRST/LAST in the ORDER BY for an aggregate function. (check-in: 641f928f user: drh tags: trunk)
16:16
New #ifdefs to fix certain compile-time options. (check-in: 688c6279 user: drh tags: trunk)
16:06
Fix a problem with the fts5 highlight() and snippet() functions when used with tokenizers like "trigram" that output overlapping tokens. Forum post 63735293ec. (check-in: e952db86 user: dan tags: trunk)
15:53
Fix a problem with the fts5 highlight() and snippet() functions when used with tokenizers like "trigram" that output overlapping tokens. Forum post 63735293ec. (Closed-Leaf check-in: d570aa02 user: dan tags: fts5-trigram-snippet-fix)
15:11
Spelling improvements, in comments only (check-in: 9ee25eea user: larrybr tags: trunk)
15:07
Spelling improvements, in comments only (check-in: 65bcc583 user: larrybr tags: trunk)
11:06
Fix various harmless scan-build warnings. (check-in: 54be9af4 user: drh tags: trunk)
09:57
Fix a harmless compiler warning in the expert extension. (check-in: 0c4907dd user: drh tags: trunk)
2023-10-23
23:34
Fix a minor typo in the previous. (check-in: 9d388267 user: drh tags: trunk)
23:34
Add notes on how to build a statically linked version of sqlite3_analyzer.exe. (check-in: 99ce9939 user: drh tags: trunk)
19:51
Add the sqlite3res file to the Windows build of sqldiff.exe so that the resulting binary shows the SQLite icon. (check-in: c696a496 user: drh tags: trunk)
19:27
Merge the latest trunk enhancments into the reuse-schema branch. (check-in: 52262ac9 user: drh tags: reuse-schema)
16:00
Merge latest trunk changes into this branch. (check-in: 3a6479d3 user: dan tags: wal2)
15:30
Avoid attempting to delete a file while it is open in test script sessionalter.test. (check-in: f20b4a96 user: dan tags: trunk)
15:24
Revert an earlier change that considered passing a NULL callback to sqlite3_preupdate_hook() to be a misuse. This is required to clear the preupdate hook altogether. (check-in: 1bf6f0f3 user: dan tags: trunk)
15:23
New test cases for PRAGMA integrity_check against FTS4 and FTS5 tables. (check-in: 3950d20c user: drh tags: trunk)
14:24
Fix mutex1.test to take into account that the prng mutex is not (as of [c84e4483cb4]) taken when writing a header to an in-memory journal. (check-in: c9e37417 user: dan tags: trunk)
13:46
Improved error messages for the xIntegrity method in FTS3/4 and FTS5. (check-in: df69abc0 user: drh tags: trunk)
12:16
Fix sqlite3ExprDup() alignment assertions so that they work on 32-bit platforms. (check-in: 143f95ef user: drh tags: trunk)
11:41
Temporarily disable the ext/expert/expert1-6.0 test, which does not work on my configurations. (check-in: a41b903d user: drh tags: trunk)
11:34
Add an SQLITE_OMIT_VIRTUALTABLE block around the new vtab code in "PRAGMA integrity_check". (check-in: ab99eb2b user: dan tags: trunk)
11:18
Add missing test file fts3fault3.test. Should have been part of [7f41d700]. (check-in: 92e64ab6 user: dan tags: trunk)
02:08
Merge fixes for expert handling of UDFs and other UD-whatevers. (check-in: b5d7d07d user: larrybr tags: trunk)
02:06
Add missing JNI sqlite3_result_subtype() binding. (check-in: ac920b53 user: stephan tags: jni-post-3.44)
02:01
Fix the shell1.test test so to align with the new behavior imposed by [bce807cd48763273] - that backslash escapes only work without quoted arguments in dot-commands of the CLI. (check-in: 0db82b42 user: drh tags: trunk)
01:55
Clear some picky warnings, sync w/trunk. (Closed-Leaf check-in: ee584259 user: larrybr tags: expert-enhancement)
01:34
Add many more high-level wrappers to the JNI wrapper1 API. Correct the JNI bindings of sqlite3_strglob/strlike() to compare as the core lib does if their glob argument is NULL and the other is not. (check-in: 55c4b1dc user: stephan tags: jni-post-3.44)
2023-10-22
23:44
Fix [f5c01676fd281e93] so that it always preserves 8-byte alignment for Expr objects. Add new assert() statement to verify this. (check-in: 678a9728 user: drh tags: trunk)
23:36
Add high-level window function wrapper to the JNI wrapper1 interface. (check-in: a27e7471 user: stephan tags: jni-post-3.44)
17:27
Do not do backslash escape processing on any unquoted strings in dot-commands in the CLI - on Windows or on posix-like systems either one. This brings the processing into alignment with the documentation, allows backslash-delimited filenames on Windows (as long as they are unquoted), and causes the CLI to work the same with regard to backslash escapes on both Windows and posix. (check-in: bce807cd user: drh tags: trunk)
14:25
JNI: flesh out and simplify the APIs for binding and fetching arbitrary Java objects. (check-in: 89fecf1d user: stephan tags: jni-post-3.44)
13:54
JNI: add column-get bindings to the wrapper1 Stmt class and extend the AggregateFunction tests to ensure that the aggregate context is honored. (check-in: 60a0e82d user: stephan tags: jni-post-3.44)
13:09
Add API_ARMOR to sqlite3_clear_bindings(). (check-in: f3fb4d34 user: stephan tags: jni-post-3.44)
12:43
Add JNI wrapper1.SqliteStmt.bindXyz() APIs. (check-in: 54fce9bf user: stephan tags: jni-post-3.44)
12:33
JNI: improve UB protections in sqlite3_bind_blob/text/text16(). (check-in: 5c838321 user: stephan tags: trunk)
11:11
Add missing ScalarFunction.java to JNI build. (check-in: b8258103 user: stephan tags: trunk)
2023-10-21
22:31
In the CLI, do not translate unquoted backslash escapes on dot-commands as that can damage filename arguments. (check-in: 4a0e2c6e user: drh tags: trunk)
20:34
Remove a branch that cannot affect the outcome from FkNoAction processing in fkey.c. Replace it with an assert(). (check-in: 023a9dbe user: drh tags: trunk)
20:03
Replace the patch at [5cb61c6788d7c017] with a better way to avoid failing PRAGMA integrity_check if a module implementation is not loaded, as the use of suppressErr can lead to problems. (check-in: be5737ee user: drh tags: trunk)
19:51
Check-in contains stray edit. (Closed-Leaf check-in: cbea52e9 user: drh tags: mistake)
18:12
Fix a problem allowing a COMMIT following an OOM to cause fts3/4 corruption. (check-in: 7f41d700 user: dan tags: trunk)
16:33
Add the SQLITE_TESTCTRL_FK_NO_ACTION test control. Make it available in the CLI. Fix a minor problems with SQLITE_CHANGESETAPPLY_FKNOACTION in sessions. (check-in: 91b64c6a user: drh tags: trunk)
16:25
Extra comment on the implementation of SQLITE_TESTCTRL_FK_NO_ACTION, warning about the need to reset the schema in order for the setting change to take full effect. (Closed-Leaf check-in: a50a333a user: drh tags: fknoaction)
15:21
Add missing "finish_test" to sessionnoact.test. (check-in: 9a1d37f5 user: dan tags: fknoaction)
15:04
Fix a problem with SQLITE_CHANGESETAPPLY_FKNOACTION and the foreign-key-trigger-cache. (check-in: 95304ec6 user: dan tags: fknoaction)
12:54
Add SQLITE_TESTCTRL_FK_NO_ACTION. (check-in: 563cf5f7 user: drh tags: fknoaction)
11:43
Adjust an EXPLAIN QUERY PLAN output in scanstatus2.test to account for a different loop order taken due to the removal of the view-scan optimization. (check-in: 9deb8b69 user: drh tags: trunk)
11:34
Compress the content of the status line in testrunning.tcl so that all the same status information appears but with less punctuation and with "zero" values omitted, so that the status line will fit comfortably on an 80-column terminal window. (check-in: 96635131 user: drh tags: trunk)
11:13
Create the new string_agg(X,Y) aggregate function which is an alias for the two-argument group_concat(X,Y) function, for compatibility with SQL-Server and PostgreSQL. (check-in: a3b3df8a user: drh tags: trunk)
11:06
Avoid an unnecessary malloc() for the page usage bitmap when running a partial integrity_check. (check-in: 2904fcbe user: drh tags: trunk)
11:00
Fix a test case broken by the previous check-in. (Leaf check-in: 1e61864c user: drh tags: string_agg)
2023-10-20
20:19
Add string_agg(X,Y) as an alias for group_concat(X,Y), for compatibility with SQLServer and PG. (check-in: b91c19bf user: drh tags: string_agg)
19:59
Fix a problem allowing a COMMIT following an OOM to cause fts5 corruption. (check-in: fba3129d user: dan tags: trunk)
19:06
Fix PRAGMA integrity_check so that it does not raise an error if the schema contains a CREATE VIRTUAL TABLE that does not have its module loaded. (check-in: 5cb61c67 user: drh tags: trunk)
18:09
Omit some redundant calls to strlen() used to find the size of Expr.u.zToken in sqliteExprDup(). This inefficiency was seen while working on the previous check-in, and I thought it best to fix it while it was fresh in mind. (check-in: b7a84eff user: drh tags: trunk)
17:15
Improvements to the sqlite3ExprDup() logic for faster performance and better run-time error detection. This check-in fixes the 5x oversize memory allocation bug from [f371e4c0f8ea73ae] as well as all other known issues that result from handing the ORDER BY clause of an aggregate function off of the pLeft pointer of the Expr object. (check-in: f5c01676 user: drh tags: trunk)
17:06
Add the SQLITE_CHANGESETAPPLY_FKNOACTION flag to sqlite3session.h, for passing to sqlite3changeset_apply_v2() to cause all foreign key constraints to behave as if they were declared NO ACTION. (check-in: fc9f82ea user: dan tags: trunk)
15:47
Simplifications and optimizations to the Expr object duplication logic. The 5x multiplier crutch from [f371e4c0f8ea73ae] is still present. More fixes are still needed. (check-in: 56142a78 user: drh tags: trunk)
14:05
Omit an unused constant from sessionfuzz.c to prevent a compiler warning. (check-in: a0cf7e24 user: drh tags: trunk)
12:23
Correct the opfs-sahpool VFS's xGetLastError() method to return the previous error code, not 0, on success. (check-in: 95a1dde6 user: stephan tags: trunk)
11:44
Merge trunk into the wasm-xGetLastError branch. (Leaf check-in: 48a9bd64 user: stephan tags: wasm-xGetLastError)
10:18
Use sqlite3ParserAddCleanup() instead of calling sqlite3ExprListDelete() directly when disposing of an unused ORDER BY in an aggregate function, to avoid disrupting ALTER TABLE data structures. (check-in: d083e420 user: drh tags: trunk)
2023-10-19
20:46
Merge recent trunk enhancements into the jsonb branch. (check-in: f47a8d0a user: drh tags: jsonb)
20:06
Remove a faulty assert() that was added just a few check-ins ago by [8b6fffb552c30f9c]. (check-in: 18e7c826 user: drh tags: trunk)
19:57
For TK_ORDER expression nodes to always be full-size. (check-in: a5c73b46 user: drh tags: trunk)
19:19
Fix an adverse interaction between the new aggregate ORDER BY logic and the expression compressor. Update 2023-10-20: Memory allocations were multiplied by a factor of 5 on line 1575 of expr.c. This was a debugging change that I neglected to remove prior to checking it. That change masks deeper problems that will be solved in later check-ins. (check-in: f371e4c0 user: drh tags: trunk)
19:08
In the TreeView logic (used for debugging only) do not show unnecessary fields of the Window object when a function has a FILTER. (check-in: d2c6b82c user: drh tags: trunk)
18:23
Fix an fts3 problem caused by reducing the page size using the undocumented "nodesize" option, then running an incremental-merge. (check-in: 2875dcb1 user: dan tags: trunk)
18:07
Simplify the Expr compression logic slightly by adding the new EP_FullSize property to expressions that are exceptions to the rule and should not be compressed. (check-in: d5ae82ec user: drh tags: trunk)
13:35
Simplification to sqlite3GetVarint32() to avoid confusing gcov. (check-in: 89862c51 user: drh tags: trunk)
13:00
Fix an error in a debugging routine used inside of testcase(). Does not appear in production. Problem discovered by scan-build. (check-in: c6c9d7ed user: drh tags: trunk)
12:36
New assert() statements to help verify correctness of the ORDER BY aggregate code. (check-in: 8b6fffb5 user: drh tags: trunk)
12:12
Fix the sqlite3ReferencesSrcList() routine so that it recognizes columns in the ORDER BY clause of an aggregate. Fixes a problem with [634286828dad873d] discoverd by dbsqlfuzz. (check-in: 3d26f1aa user: drh tags: trunk)
01:26
Add support for ORDER BY on the argument list of aggregate functions. (check-in: 63428682 user: drh tags: trunk)
01:09
Merge the latest changes from trunk. (Closed-Leaf check-in: d18bc400 user: drh tags: agg-orderby)
2023-10-18
23:48
Changes for test coverage. (check-in: ddfa09c6 user: drh tags: agg-orderby)
22:53
Test case for alter column that is used in the ORDER BY of an aggregate. (check-in: 648ddb3a user: drh tags: agg-orderby)
22:27
Deal with an OOM condition while processing aggregate ORDER BYs. (check-in: b6d44427 user: drh tags: agg-orderby)
22:03
Make sure all terms of the ORDER BY within an aggregate go through aggregate analysis. Do not attach an aggregate ORDER BY to a window function. (check-in: 16f38055 user: drh tags: agg-orderby)
19:44
Basic test cases. (check-in: 6cccf86c user: drh tags: agg-orderby)
19:07
Fix one minor error in order to get all legacy tests to pass. (check-in: 5a885139 user: drh tags: agg-orderby)
18:11
ORDER BY on aggregates seem to work, at least for simple smoke tests. Lots more testing is needed though. Surely there are many bugs. (check-in: 64c12a83 user: drh tags: agg-orderby)
13:58
Basic error checking. Resolve symbols in the aggregate ORDER BY expressions. (check-in: c83a53a5 user: drh tags: agg-orderby)
13:18
Enhance the parser so that it can accept an ORDER BY clause on a function invocation. For this incremental check-in, the ORDER BY clause is currently ignored. (check-in: 3a98ff24 user: drh tags: agg-orderby)