/ Timeline
Login

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

413 check-ins using file test/json101.test version 30db5b055b

2024-05-04
16:50
Add test cases to test/in7.test. No code changes. (Leaf check-in: 8c3086f9fe user: dan tags: trunk)
15:10
Assume that an SQL function is able to return a subtype if any of its arguments are SQL functions that are able to return subtypes. This closes a corner-case hole in the patch at [ba789a7804ab96d8]. (check-in: b36d499e4c user: drh tags: trunk)
15:04
Assume that a function is able to return a subtype if either (1) it is itself marked with SQLITE_RESULT_SUBTYPE, or (2) one of its arguments is a function that is able to return a subtype. This check-in backs out the code changes from the previous two on this same branch, but keeps the test cases from the previous two. (Closed-Leaf check-in: f16b200f25 user: drh tags: func-rw-subtype)
11:31
Functions that pass through the sqlite3_value of one of their arguments must also be marked as SQLITE_RESULT_SUBTYPE, in case one of their arguments has a subtype. (check-in: 2f9fba931d user: drh tags: func-rw-subtype)
2024-05-03
19:35
The coalesce(), ifnull(), and iif() functions pass through subtype values from their arguments, and hence need to have the SQLITE_RESULT_SUBTYPE flag set. (check-in: cdd1610c44 user: drh tags: func-rw-subtype)
2024-05-02
19:22
Fix a problem with queries that use "IN(...) ORDER BY ... NULLS LAST" or similar introduced by [d7648e21605a0b38]. (check-in: 26b2d9390f user: dan tags: trunk)
18:16
Avoid an assert failure accessible only when internal testing features are enabled. dbsqlfuzz crash-66abacda6bca6bd531e25595e8c8068e2c710326.txt. (check-in: fbc446daac user: dan tags: trunk)
17:46
Fix a case where the recovery extension might write uninitialized data to the recovered database. (check-in: 8519b4d039 user: dan tags: trunk)
14:48
Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row. (check-in: d7648e2160 user: dan tags: trunk)
12:14
Fix the CREATE TABLE performance issue described by [forum:/forumpost/4cf69794d9dfff7c|forum thread 4cf69794d9dfff7c] in two different ways: (1) Omit the call to PRAGMA integrity_check('X') that was being done after CREATE TABLE "X" because the result was being ignored and the integrity_check was not doing anything other than burning CPU cycles. (2) Do not interpret the argument to PRAGMA integrity_check as a number if it is in fact a string that looks like a number. (check-in: 71f08b9122 user: drh tags: trunk)
12:00
Add a test case to the fix to PRAGMA integrity_check in the previous check-in. (Closed-Leaf check-in: 39a57b596d user: drh tags: faster-create)
11:52
Do not accept a string that looks like a number used as an argument to PRAGMA integrity_check as a number. Treat it as a table name that just happens to look like a number. (check-in: b04e7a2347 user: drh tags: faster-create)
11:51
Omit the OP_SqlExec to "PRAGMA integrity_check" added by [348fa7aaf7958b3f] because it is a no-op. Even if the integrity_check failes, the CREATE TABLE is stull successful. The OP_SqlExec just burns CPU cycles for no reason. (check-in: 532795acd1 user: drh tags: faster-create)
2024-05-01
19:48
Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row. (Closed-Leaf check-in: 560f64157d user: dan tags: unique-in-opt)
16:25
Fix another problem in the recovery extension where a corrupt sqlite_schema table could lead to excessive memory consumption. (check-in: 1c7e33a8aa user: dan tags: trunk)
14:42
Fix a problem causing the recovery extension to use excessive memory and CPU time in some cases. (check-in: 8de85170d5 user: dan tags: trunk)
2024-04-30
19:34
Avoid 32-bit overflow when calculating ncycle for ".scanstats vm". (check-in: 2858efa06d user: dan tags: trunk)
2024-04-26
19:10
Fix issues in [/info/1e227ad9f413227f|LIMIT/OFFSET support for virtual tables]. The first problem was reported by [forum:/forumpost/c243b8f856|forum post c243b8f856]. That report prompted an enhancement to the generate_series() (also included in this merge) which in turn identified other similar issues. (check-in: 5f6c079d84 user: drh tags: trunk)
18:42
Internal JS doc touchups. No functional changes. (check-in: 626b997b4e user: stephan tags: trunk)
18:24
Additional internal docs in the wasm utilities. (check-in: 5a2245a9eb user: stephan tags: trunk)
18:13
Allow virtual table implementations to handle OFFSET but not LIMIT, but not LIMIT but not OFFSET. (Closed-Leaf check-in: 90e5c8226a user: dan tags: vtab-limit-fix)
17:19
Have where.c ignore any plan from a virtual table that tries to use LIMIT/OFFSET without also using all WHERE constraints. (check-in: 7d30596496 user: dan tags: vtab-limit-fix)
17:09
Further fixes and improvements to the generate_series() enhancements on this branch. (check-in: b7d9bd7ee2 user: drh tags: vtab-limit-fix)
14:36
Use hex flag masks rather than decimals in ext/misc/series.c. (check-in: a94e2cd028 user: drh tags: vtab-limit-fix)
14:32
Fix a problem allowing a LIMIT constraint to be passed to a virtual table in cases where there exist WHERE terms that cannot also be passed. (check-in: 72c8ed9698 user: dan tags: vtab-limit-fix)
13:38
Fix handling of LIMIT and OFFSET in virtual tables that are part of a compound SELECT. (check-in: 40421c1c4e user: drh tags: vtab-limit-fix)
13:30
Enhance the generated_series() table-valued-function to respond to LIMIT and OFFSET. Use this to add new test cases for LIMIT and OFFSET on virtual tables in a compound SELECT. (check-in: 408d47ecaa user: drh tags: vtab-limit-fix)
12:01
Add test demonstrating the problem at [forum:/forumpost/c243b8f856|forum post c243b8f856]. No fix yet. (check-in: 1685495c0a user: dan tags: vtab-limit-fix)
11:32
Fix the TreeView display of a LIMIT clause on a compound query. Debugging code only - not part of production builds. (check-in: 38f1e5ce4e user: drh tags: trunk)
2024-04-25
23:26
Improvement to the way that affinity is determined for columns of a compound subquery. The affinity is the affinity of the left-most arm of the compound subquery that has an affinity other than NONE, adjusted to accommodate the data types coming out of the other arms. (check-in: e6df846f36 user: drh tags: trunk)
17:52
Further improvements to the computation of affinity for compound subqueries: make sure that the selected affinity is compatible with a literal values in arms to the left of the arm that is used to determine affinity. (Closed-Leaf check-in: bbdf22e3d9 user: drh tags: compound-subquery-affinity)
16:55
Back out the previous change on this branch. In its place: Determine the affinity of a subquery by the left-most arm of the subquery that has an affinity other than NONE. In other words, scan from left to right looking for an arm of the compound subquery with an affinity of BLOB, TEXT, INTEGER, or REAL and pick the first one found. Or stay with NONE if no arm has a defined affinity. Test cases added. (check-in: b8ec8511b1 user: drh tags: compound-subquery-affinity)
06:52
wasm: add a makefile comment about the static sqlite3.h/c version info injected into the JS files possibly differing from the runtime-emited version info when a user provides their own sqlite3.c. (check-in: d99a01a0f6 user: stephan tags: trunk)
2024-04-24
19:49
An experimental minor tweak to the way affinities are computed for compound subqueries, when the actual affinity is ambiguous. (check-in: 779723ad79 user: drh tags: compound-subquery-affinity)
16:36
If a RETURNING clause contains a subquery that references the table that is being updated in the statement that includes the RETURNING clause, then mark the subquery as correlated so that it is recomputed for each result and not just computed once and reused. See [forum:/forumpost/2c83569ce8945d39|forum post 2c83569ce8945d39]. (check-in: 9ea6bcc8fd user: drh tags: trunk)
14:18
Fix a case where a corrupt stat4 record could go unrecognized due to integer overflow. (check-in: 240a4a48b2 user: dan tags: trunk)
11:51
Add comments linking the assert() added in [cef4d9e3ba586735] to the places where the precondition that the assert() tests are actually required. (check-in: 6f0e7e1952 user: drh tags: trunk)
11:40
Avoid slowdown when exprNodeIsConstant() is called on deeply nested SQL functions. (check-in: 1c0b034545 user: dan tags: trunk)
11:21
Ensure that temporary SrcItem objects created by trigger processing have either SrcItem.zName or SrcItem.pSelect defined. Every SrcItem should have one or the other. (check-in: cef4d9e3ba user: drh tags: trunk)
06:43
Remove an undocumented feature from the JS Worker1.open API because it relies on broken behavior which has no VFS-agnostic workaround. (check-in: 3a640038c7 user: stephan tags: trunk)
2024-04-23
12:02
Fix a problem with vector IN operators used with an index where the affinities and collations for the various vector terms are different. (check-in: 86e8c782e7 user: drh tags: trunk)
11:56
Fix an uninitialized variable problem in the new code on this branch. (Closed-Leaf check-in: 85625b3871 user: dan tags: vector-in-fix)
06:49
Remove some dead WASM-side code. (check-in: 0a07ee27bd user: stephan tags: trunk)
06:36
Minor touchups in JS docs and exception messages. (check-in: 9e7fc9370d user: stephan tags: trunk)
05:38
When running the 'dist' target in ext/wasm for an SEE-capable build, ensure that the resulting zip file and directory name include '-see'. (check-in: 04c552b12e user: stephan tags: trunk)
2024-04-22
20:09
Add extra tests for aborting conflicts in the sessions module. (check-in: b4a6d32662 user: dan tags: trunk)
17:03
Minor cleanups to [8fbda563d2f5]. (check-in: 5ee2594b65 user: stephan tags: trunk)
16:46
Extend the JS/WASM SEE build support by (A) filtering SEE-related bits out of the JS when not building with SEE and (B) accepting an optional key/textkey/hexkey option to the sqlite3.oo1.DB and subclass constructors to create/open SEE-encrypted databases with. Demonstrate SEE in the test app using the kvvfs. This obviates the changes made in [5c505ee8a7]. (check-in: 8fbda563d2 user: stephan tags: trunk)
13:31
Extra robustness in the code that causes cursors to return NULL when they are participating in an OUTER JOIN. (check-in: 672c2869ef user: drh tags: trunk)
11:48
For sqlite3.oo1.DB JavaScript classes, bypass execution of any on-open() SQL in SEE-capable builds because it would necessarily run before the client has an opportunity to provide their decryption key, which would leave the db handle in an unusable state and cause the ctor to throw. This currently affects only the OPFS VFSes. We may want to consider extending the ctor options object to optionally accept an SEE key and apply it when opening the db. (check-in: 5c505ee8a7 user: stephan tags: trunk)
00:42
Continuation of the fix at [8c0f69e0e4ae0a44]: If a viaCoroutine FROM clause term is participating in a RIGHT or FULL JOIN, we have to create an always-NULL pseudo-cursor for that term when processing the RIGHT join. dbsqlfuzz 6fd1ff3a64bef4a6c092e8d757548e95698b0df5. (check-in: e1040e51eb user: drh tags: trunk)
2024-04-21
23:35
Fix an indentation problem in debugging routine sqlite3ShowSrcList(). No changes to production code. (check-in: 5560df2726 user: drh tags: trunk)
2024-04-20
19:19
Slight performance improvement for the new code on this branch. (check-in: 500c67f134 user: dan tags: vector-in-fix)
15:14
Fix a problem where an expression like (a, b) IN (SELECT ...) might not use an index on (a, b) if the affinities and collation sequences of "a" and "b" are not identical. (check-in: 4d870fd8b5 user: dan tags: vector-in-fix)
2024-04-18
16:11
Correct handling of OUTER JOIN when on or the other operand is a subquery implemented using the VALUES-as-coroutine optimization. dbsqlfuzz bde3bf80aedf25afa56e2997a0545a314765d3f8. (check-in: 8c0f69e0e4 user: drh tags: trunk)
2024-04-17
19:48
Prevent tokenize-blobs from being used with non-contentless tables. Fix some other issues with the new code on this branch. (Leaf check-in: 6a640ea4d8 user: dan tags: fts5-tokenize-blob)
2024-04-16
14:23
Add some tests for the fts5 tokenize-blob functionality on this branch. (check-in: c2f9d1259c user: dan tags: fts5-tokenize-blob)
2024-04-15
20:43
The first assert() added in [0ebc65481f4a3e79] is not necessarily true in a corrupt database file. So add a term to make it true. (check-in: 6b21cccdee user: drh tags: trunk)
20:24
Add experimental way to specify an alternative tokenizer when writing to or querying an fts5 table. (check-in: 6c51c9c6a8 user: dan tags: fts5-tokenize-blob)
14:59
Merge version 3.45.3 patches into the reuse-schema-3.45 sub-branch. (Leaf check-in: a1ff415341 user: drh tags: reuse-schema-3.45)
14:45
Merge all of the latest trunk enhancements into the bedrock branch. (Leaf check-in: 16dac180b5 user: drh tags: bedrock)
14:39
Merge the latest trunk enhancements into the wal2 branch. (Leaf check-in: 4a72acbc4b user: drh tags: wal2)
14:36
Merge the latest trunk enhancements into the begin-concurrent branch. (Leaf check-in: eedf6bed2a user: drh tags: begin-concurrent)
14:29
Merge from wrong branch. Bedrock should be updated from wal2, not from trunk. (Closed-Leaf check-in: 4c23cad98d user: drh tags: mistake)
14:21
Merge all 3.45.3 changes into the wal2-3.45 branch. (Leaf check-in: 2ccc018546 user: drh tags: wal2-3.45)
14:18
Merge all 3.45.3 changes into the begin-concurrent-3.45 subbranch. (Leaf check-in: 3dda82e001 user: drh tags: begin-concurrent-3.45)
13:34
Version 3.45.3 (Leaf check-in: 8653b75887 user: drh tags: release, branch-3.45, version-3.45.3)
2024-04-12
18:46
If a build fails in testrunner.tcl, do not attempt to run the jobs that depend on that build. Instead, report those jobs as having been skipped. (check-in: b40580be71 user: drh tags: trunk)
16:52
Adjustment to EQP output in one test case. (check-in: 08dd2b927b user: drh tags: branch-3.45)
15:10
Increase the version number to 3.45.3. (check-in: 119b3b3c9c user: drh tags: branch-3.45)
15:06
Mark the BTree cell overflow cache as invalid whenever the rowid goes invalid. (check-in: 5266bb6dc9 user: drh tags: branch-3.45)
15:02
Fixes and new tests logic to ensure that the btree overflow page cache is only used when it is consistent. This resolves the malfunction observed in [forum:/forumpost/284955a3cd454a15|forum post 284955a3cd454a15]. (check-in: 5dede50d9e user: drh tags: trunk)
13:05
Add assert() statements to help verify the overflow page cache. (Closed-Leaf check-in: 0ebc65481f user: drh tags: btree-ovfl-cache)
12:32
New assert() statements to verify the correctness of the BTCF_AtLast flag on btree cursors. (check-in: 4efecd6167 user: drh tags: btree-ovfl-cache)
11:28
Test case for the fix in the previous check-in. (check-in: 0cf4d835da user: drh tags: btree-ovfl-cache)
02:57
Mark the BTree cell overflow cache as invalid whenever the rowid goes invalid. (check-in: 74c9e19c92 user: drh tags: btree-ovfl-cache)
2024-04-11
19:09
Fix handling of the SQLITE_OMIT_WAL check in one place. Resolves [forum:87cc13302de160eb|forum post 87cc13302de160eb]. (check-in: ce86d30d91 user: stephan tags: branch-3.45)
19:08
Fix handling of the SQLITE_OMIT_WAL check in one place. Resolves [forum:87cc13302de160eb|forum post 87cc13302de160eb]. (check-in: 5dae6e6df4 user: stephan tags: trunk)
2024-04-10
16:36
Fix the pragma4.test script so that it works with SQLITE_OMIT_VIRTUALTABLE. (check-in: 61060c7d0d user: dan tags: branch-3.45)
2024-04-09
19:23
Fix a "shift exponent is too large" usan error that could occur in the fts3 snippet() function when a query phrase contains more than 64 tokens. (check-in: 6d2c7ac4ec user: dan tags: trunk)
15:18
Avoid some performance problems in the recover extension when recovering strategically corrupted databases. (check-in: d83b0ffe8b user: dan tags: branch-3.45)
15:09
Avoid some performance problems in the recover extension when recovering strategically corrupted databases. (check-in: e66a834bba user: dan tags: trunk)
14:07
Ignore CHECK constraints when qualifying the xfer optimization while running VACUUM. (check-in: bb6f990809 user: drh tags: branch-3.45)
13:57
The read-only CHECK-constraint optimization of [34ddf02d3d21151b] inhibits the xfer optimization for tables with CHECK constraints. However, the xfer optimization is required for correct operation of VACUUM INTO on tables that contain generated columns. Fix this by ignoring CHECK constraints when qualifying the xfer optimization while running VACUUM. Problem reported by [forum:/forumpost/3ec177d68fe7fa2c|forum post 3ec177d68fe7fa2c]. (check-in: a6e26e7788 user: drh tags: trunk)
2024-04-08
17:55
Update tests in returning1.test to account for [c7896e88]. (check-in: c02956cd5c user: dan tags: trunk)
12:02
Merge the latest trunk enhancements, and especially the enhancement to the WHERE-clause push-down optimization, into the bedrock branch. (check-in: 0f93b52c77 user: drh tags: bedrock)
11:57
Merge the latest trunk enhancements into the wal2 branch. (check-in: 59ccea7db7 user: drh tags: wal2)
11:50
Enhance the WHERE-clause push-down optimization so that it is able to push down WHERE clause terms that contain uncorrelated subqueries. (check-in: 69ec714b2d user: drh tags: trunk)
11:45
Fix a harmless compiler warning in the ICU extension due to [acddbc489d5231da]. (check-in: 3d8750e885 user: drh tags: trunk)
06:37
Enhancements to the fuzzer invariant checker to turn optimizations on and off. (Closed-Leaf check-in: 6759448137 user: drh tags: pushdown-subquery)
2024-04-07
18:55
Merge trunk testing enhancements into the pushdown-subquery branch. (check-in: 287ff24b26 user: drh tags: pushdown-subquery)
18:36
Omit all rowid-in-view restrictions from the fuzzinvariant.c test module as they are no longer necessary, as of the previous check-in. (check-in: 6431538f0b user: drh tags: trunk)
18:23
If SQLITE_ALLOW_ROWID_IN_VIEW is set to 2, then all rowids for views return a value of NULL. (check-in: 0a53dde214 user: drh tags: trunk)
10:30
Merge trunk enhancements into the pushdown-subquery branch. (check-in: 27865e316f user: drh tags: pushdown-subquery)
10:27
Add comments to note the name abiguity between the MySQL push-down optimization and the WHERE-clause push-down optimization. (check-in: 3d5fb1ec7a user: drh tags: trunk)
2024-04-06
23:09
Add comments to note the name abiguity between the MySQL push-down optimization and the WHERE-clause push-down optimization. (Leaf check-in: 681dfe2dd6 user: drh tags: wrong-branch)
18:30
Do not allow changes to sqlite3ExprIsTableConstant() that support pushdown of subqueries interfere with the hash-join logic. (check-in: 8682931f9c user: drh tags: pushdown-subquery)
17:42
Merge testing logic fixes on trunk into the pushdown-subquery branch. (check-in: a4e1f03dca user: drh tags: pushdown-subquery)
17:37
Improvements to the accurancy of the fuzzinvariants.c testing module when SQLITE_ALLOW_ROWID_IN_VIEW is defined and the test query involves rowids. (check-in: c6e873d4db user: drh tags: trunk)
12:19
Generalize pushdown to allow any uncorrelated subquery to be pushed down. (check-in: 87c45fb0d5 user: drh tags: pushdown-subquery)
11:59
Generalize the pushdown of IN right-hand sides to cover more SELECTs. (Closed-Leaf check-in: 4120bc740a user: drh tags: pushdown-IN-table)
2024-04-05
20:01
Experimental enhancement in which expressions of the form "expr IN table" can be pushed down into subexpressions. (check-in: 2cbd7838fd user: drh tags: pushdown-IN-table)
15:04
Merge all recent trunk enhancements into the reuse-schema branch. (Leaf check-in: e556f3d381 user: drh tags: reuse-schema)
14:54
Merge the latest trunk enhancements into the bedrock branch. (check-in: 7a2a64b646 user: drh tags: bedrock)
14:50
Merge the latest trunk enhancements into the wal2 branch. (check-in: a8a8a2db9b user: drh tags: wal2)
14:46
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 4ff8334241 user: drh tags: begin-concurrent)
14:06
Fix obscure issues associated with SQLITE_ALLOW_ROWID_IN_VIEW and indexes on virtual columns in a RIGHT JOIN. (check-in: 4b3a253fc7 user: drh tags: branch-3.45)
13:56
Check-in [a9657c87c53c1922] is wrong: the IndexedExpr.bMaybeNullRow flag is required for virtual columns if they are part of an outer join. Add a test case (derived from dbsqlfuzz b9e65e2f110df998f1306571fae7af6c01e4d92b) to prove it. (check-in: 4484ec6d26 user: drh tags: trunk)
11:23
When compiling with SQLITE_ALLOW_ROWID_IN_VIEW, if the RETURNING clause of an UPDATE of a view specifies a rowid, then return NULL for the value of that rowid. dbsqlfuzz 7863696e9e5ec10b29bcf5ab2681cd6c82a78a4a. (check-in: c7896e8885 user: drh tags: trunk)
2024-04-04
22:53
Optimize sqlite3.oo1.DB.exec() for the rowMode='object' case to avoid converting the object property keys (column names) from native code to JS for each row. This speeds up large data sets considerably and addresses the report in [forum:3632183d2470617d|forum post 3632183d2470617d]. (check-in: 8b41ef8690 user: stephan tags: trunk)
14:26
Add the "interstage-heuristic" that attempts to avoid wildly inefficient queries that use table scans instead of index lookups because the output row estimates are inaccurate. (check-in: 7bf49e2c54 user: drh tags: trunk)
13:36
Fix an ASAN problem in part of the test harness. No changes to SQLite itself. (check-in: 797cda7ddc user: drh tags: trunk)
13:07
Fix test cases due to an error message change. (check-in: c49ec239ed user: drh tags: trunk)
12:37
Fix exception propagation when the opfs-sahpool VFS fails to initialize to address report in [forum:be0141c639|forum post be0141c639]. (check-in: db31d178d6 user: stephan tags: branch-3.45)
12:36
Fix exception propagation when the opfs-sahpool VFS fails to initialize to address report in [forum:be0141c639|forum post be0141c639]. (check-in: cdb3a90055 user: stephan tags: trunk)
2024-04-02
21:55
Add an optional 3rd argument to the icu_load_collation() function that specifies the "strength" of the comparison. (check-in: acddbc489d user: drh tags: trunk)
14:12
Fix typos in comments. Provided ".wheretrace" debugging output for the interstage heuristic module. Do omit automatic index loops in the interstage heuristic. (Closed-Leaf check-in: 186dcae19e user: drh tags: interstage-heuristic)
11:44
Add a heuristic in between the two solver() passes of the query planner that tries to prevent a very slow query plan in cases where the output row count estimate is imprecise. (check-in: 8018417b01 user: drh tags: interstage-heuristic)
2024-04-01
15:38
Improved comments in the query planner logic that computes the cost for a particular step in a query plan. No code changes. (check-in: 0b2ac2cdc7 user: drh tags: trunk)
2024-03-30
14:11
Make explicit that sqlite3_keyword_name()'s index is 0-based, per forum request. Doc changes only. (check-in: 090943dc31 user: stephan tags: trunk)
2024-03-29
18:19
Fix handling of an OOM case broken by [11015b4e]. (check-in: 1f3a805d19 user: dan tags: bedrock)
18:16
Fix handling of an OOM case broken by [49263c91]. (check-in: 9e6b64decb user: dan tags: begin-concurrent)
18:07
Fix a problem in SQLITE_DIRECT_OVERFLOW_READ builds that could allow a concurrent transaction to be committed even if it read from an overflow page that was modified concurrently, in cases where the overflow page was written without also writing the b-tree page to which it is linked. (check-in: 11015b4ed1 user: dan tags: bedrock)
18:04
Improve the log message emitted when a BEGIN CONCURRENT transaction cannot be committed due to conflicts so that it identifies the conflicting table in a few more cases. (check-in: 19ff2d4e1e user: dan tags: bedrock)
17:58
Fix a problem in SQLITE_DIRECT_OVERFLOW_READ builds that could allow a concurrent transaction to be committed even if it read from an overflow page that was modified concurrently, in cases where the overflow page was written without also writing the b-tree page to which it is linked. (check-in: 49263c9136 user: dan tags: begin-concurrent)
17:32
Improve the log message emitted when a BEGIN CONCURRENT transaction cannot be committed due to conflicts so that it identifies the conflicting table in a few more cases. (check-in: 5d30e362cf user: dan tags: begin-concurrent)
2024-03-28
10:58
Document that the order of an update hook call is unspecied vis-a-vis the final result of the operation which triggers that hook. Doc changes only. (check-in: 3d4b1f0791 user: stephan tags: trunk)
2024-03-27
20:34
Update comments in fts5.h. (check-in: 862945d5c4 user: dan tags: trunk)
2024-03-26
18:07
Add extra tests to vtabL.test. (check-in: fe209099f5 user: dan tags: trunk)
11:14
Avoid expanding integer values in columns with real affinity to the full 8-byte representation when editing records as part of a DROP COLUMN command. (check-in: a49296de00 user: dan tags: trunk)
10:48
Merge all recent trunk enhancements into the reuse-schema branch. (check-in: e469b02205 user: drh tags: reuse-schema)
10:45
Merge all recent trunk enhancements into the bedrock branch. (check-in: 33d3453f46 user: drh tags: bedrock)
10:42
Merge all recent trunk enhancements into the wal2 branch. (check-in: c2139d8263 user: drh tags: wal2)
10:42
Merge all recent trunk enhancements into the begin-concurrent branch. (check-in: 9b854e54b0 user: drh tags: begin-concurrent)
2024-03-25
20:35
The RAISE() operator is not a constant expression and cannot participate in the VALUE-as-coroutine optimization. dbsqlfuzz 74cf7c9904360322a6c917e4934b127543d1cd51 (check-in: 6a06dc7384 user: drh tags: trunk)
20:00
Add further tests for sqlite3_declare_vtab(). (check-in: f3c4433f6b user: dan tags: trunk)
19:31
Simplifications to the sqlite3_declare_vtab() implementation. Changes some conditionals into assert() statements, for coverage. (check-in: ff7b898a6f user: drh tags: trunk)
18:30
Fix a theoretical OOB memory access in sqlite3_stmt_scanstatus_v2(). (check-in: 87be958074 user: dan tags: trunk)
18:24
Revert the previous change. Instead, do a pre-check of the CREATE TABLE statement that is the second argument to sqlite3_declare_vtab() and if the first two keywords are not "CREATE" and "TABLE", then raise an SQLITE_MISUSE error. (check-in: 6a2ff83512 user: drh tags: trunk)
17:43
Remove an ALWAYS() from a condition that can be true. (check-in: 715fcf033a user: drh tags: trunk)
14:44
Fix an inaccuracy in automatic indexes that was exposed by the fix at [80c4223098c1827f]. (check-in: fdc9406f1c user: drh tags: trunk)
13:18
Fix the pragma4.test script so that it works with SQLITE_OMIT_VIRTUALTABLE. (check-in: f8fe6fb69c user: drh tags: trunk)
12:28
Fix recent test case changes so that they also work on Windows. (check-in: 38578b5af2 user: drh tags: trunk)
11:34
Use the SQLITE_CONSTRAINT return value from xBestIndex to prohibit bad query plans in the pragma virtual table. (check-in: b1259d4448 user: drh tags: trunk)
10:55
Improvements to the vtablog.c extension: Eliminate memory leaks. More diagnostic output for xBestIndex. (check-in: 92e9a71bc4 user: drh tags: trunk)
10:28
Flag sqlite3_trace() and sqlite3_profile() as deprecated so that the doc generator for funclist.html sees them as such, and add 'Deprecated' to their page's title for consistency with other deprecated APIs. Comment changes only. Addresses [forum:0901025836|forum post 0901025836]. (check-in: 87c54f93f5 user: stephan tags: trunk)
00:38
Improvements to the vtablog.c extension, for better logging of virtual table interactions. (check-in: e253bb36a5 user: drh tags: trunk)
2024-03-24
21:18
Fix the xBestIndex method of the pragma virtual table so that it correctly gives a higher cost to plans where the schema hidden parameter is unconstrained. (check-in: ec791413d5 user: drh tags: branch-3.45)
21:10
Fix the xBestIndex method of the pragma virtual table so that it correctly gives a higher cost to plans where the schema hidden parameter is unconstrained. Fix for the problem reported by [forum:/forumpost/85b6a8b6705fb77a|forum post 85b6a8b6705fb77a]. (check-in: bc516ff520 user: drh tags: trunk)
20:26
Improved "wheretrace" debugging output for calls to xBestIndex. No changes to release code. (check-in: 33966bb06c user: drh tags: trunk)
19:08
Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it works again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value to optionally disable the bug-compatibility mode at start-time. Enable testing of SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: 7a3d0027f8 user: drh tags: branch-3.45)
16:33
Do not automatically assume that ROWID is NOT NULL when compiled with SQLITE_ALLOW_ROWID_IN_VIEW. dbsqlfuzz 31b38eeb63a4e1562de665078f52b7b47a7543cf (check-in: 80c4223098 user: drh tags: trunk)
2024-03-23
15:17
Fix an adverse interaction between CREATE TABLE AS and the new [/info/a120c9235f125e05|VALUES-as-coroutine] optimization. dbsqlfuzz c2c5e7e08b7e489d270a26d895077a03f678c33b (check-in: 84b6fdea0b user: drh tags: trunk)
2024-03-22
10:32
Fix incorrect boundary assert()s on the new OP_IfSizeBetween opcode. (check-in: 8eda4797c5 user: drh tags: trunk)
2024-03-21
22:18
Test case for the assert() problem fixed by [9ba3cff9d48fe8fc]. (check-in: 865f0de7a1 user: drh tags: trunk)
22:12
Fix a assert() that is incorrect, though harmless. Also add a test case. (check-in: 90537ce044 user: drh tags: branch-3.45)
15:52
Add comments (only, no code) to the JS sqlite3_config() bindings reminding us why SQLITE_CONFIG_ROWID_IN_VIEW is specifically not included. JNI does not need this treatment because it explicitly supports only a very small subset of config options. (check-in: 4fea396221 user: stephan tags: trunk)
11:46
Enhancements to testrunner.tcl: (1) Add the "--config CONFIGS" option, to that only configuration named on the comma-separated list CONFIGS are run. (2) Add the "--omit CONFIGS" to omit configuration on the CONFIGS list (3) Add the Android configuration to "release" (check-in: 4ccb372967 user: drh tags: trunk)
11:37
Have os_unix.c reuse cached file-descriptors in the case when a read-write fd is requested on a read-only file and a read-only fd returned. (check-in: a678e85402 user: dan tags: trunk)
10:35
Fix all test cases so that they work with SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: 66c69e2f20 user: drh tags: trunk)
2024-03-20
16:56
Change EXPLAIN QUERY PLAN output to say "USE TEMP B-TREE FOR LAST TERM OF ORDER BY", or "LAST N TERMS OF ORDER BY", instead of "RIGHT PART OF ORDER BY". (check-in: 7e13a2c758 user: dan tags: trunk)
16:27
Change EXPLAIN QUERY PLAN output to say "USE TEMP B-TREE FOR LAST TERM OF ORDER BY", or "LAST N TERMS OF ORDER BY", instead of "RIGHT PART OF ORDER BY". (Closed-Leaf check-in: cd547c5004 user: dan tags: eqp-orderby)
10:45
Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it works again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value to optionally disable the bug-compatibility mode at start-time. Enable testing of SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: b6802565df user: drh tags: trunk)
10:40
Fix a typo in a comment. (Closed-Leaf check-in: 54680d0fbe user: drh tags: rowid-in-view)
09:45
Fix typos in the SQLITE_CONFIG_ROWID_IN_VIEW documentation. (check-in: 1ad1ca4982 user: drh tags: rowid-in-view)
2024-03-19
23:01
Change the SQLITE_CONFIG_NO_ROWID_IN_VIEW configuration option to be just SQLITE_CONFIG_ROWID_IN_VIEW (without the "_NO_" in the middle) and give it the ability to turn the option on and off. Otherwise, it is difficult to test. (check-in: 5d412edc2e user: drh tags: rowid-in-view)
19:56
Return the error "ambiguous column name: rowid", instead of "no such column: rowid", when a "rowid" reference is ambiguous. (check-in: 0615bdae2d user: drh tags: rowid-in-view)
19:48
Add the --no-rowid-in-view option to the --help output of the CLI. (check-in: 134da9c348 user: drh tags: rowid-in-view)
19:42
Make sure the new u1.nRow value is copied when making a copy of a SrcItem object. This fixes a problem in [ac6f095e13e43d66] from yesterady. (check-in: 262f8f9d80 user: drh tags: trunk)
16:51
Update test scripts to account for [8fcea4cd]. (check-in: 0c543c51a8 user: dan tags: rowid-in-view)
16:34
In the name resolver when SQLITE_ALLOW_ROWID_IN_INDEX is enabled, if there are multiple views that might resolve to the "rowid" but only one real table, then use that one real table and ignore the views. (check-in: 8fcea4cdfc user: drh tags: rowid-in-view)
15:27
Update tests to work with SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: 495b8c7b08 user: dan tags: rowid-in-view)
14:55
Return the error "ambiguous column name: rowid", instead of "no such column: rowid", when a "rowid" reference is ambiguous. (Closed-Leaf check-in: 021f34fcfe user: dan tags: ambiguous-rowid-error)
14:38
Fix the fuzzinvariants.c test module so that it does not generate invariants that depend on rowid when SQLITE_ALLOW_ROWID_IN_VIEW is used, since rowid values can be unreliable in that context. (check-in: 0d711aaaa1 user: drh tags: rowid-in-view)
14:21
Improvements to the first check-in on this branch, causing less collateral damage. (check-in: 7bc882897b user: drh tags: rowid-in-view)
13:55
On second thought, change SQLITE_TESTCTRL_ROWID_IN_VIEW into a start-time option SQLITE_CONFIG_NO_ROWID_IN_VIEW. (check-in: b8e045c9e1 user: drh tags: rowid-in-view)
13:31
When compiled with SQLITE_ALLOW_ROWID_IN_VIEW, rowid-in-view is on by default but can now be turned off using SQLITE_TESTCTRL_ROWID_IN_VIEW. Without the compile-time option, rowid-in-view is always off. (check-in: 8a6196ab29 user: drh tags: rowid-in-view)
10:58
Fix a problem involving infinities int the Kahan-Babushka-Neumaier summation algorithm. (check-in: 8af5878138 user: drh tags: branch-3.45)
10:41
Adjustments to the test cases for the previous check-in to make them cross-platform Linux/Mac/Windows. Test changes only. No change to core code. (check-in: 0dddadbd5b user: drh tags: trunk)
10:16
Fix another problem from [c63e26e705f5e967] involving infinities and the Kahan-Babushka-Neumaier summation algorithm. Problem reported by [forum:/forumpost/23b8688ef4|forum post 23b8688ef4]. (check-in: 45d272ef38 user: drh tags: trunk)
02:30
First steps toward getting -DSQLITE_ALLOW_ROWID_IN_VIEW to work again. That compile-time option is untested, undocumented, and unsupported. But it was mentioned in the release notes for version 3.36.0, so I think that means we need to support it forever. (check-in: 7c46ff6402 user: drh tags: rowid-in-view)
2024-03-18
21:08
Fix asan problems in sqlite3rbu.c. Enable RBU for sanitizer release tests. (check-in: ad2ae7717e user: dan tags: trunk)
20:52
Avoid spurious SQLITE_IOERR_DATA errors when reading partial pages from a cksumvfs database using a SQLITE_DIRECT_OVERFLOW_READ build. (check-in: 0f485dbece user: dan tags: trunk)
18:56
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: c2d4adabb9 user: drh tags: reuse-schema)
18:55
Merge the latest trunk enhancements into the bedrock branch. (check-in: 10ab5e8570 user: drh tags: bedrock)
18:51
Merge the latest trunk enhancements into the wal2 branch. (check-in: c0af1242d8 user: drh tags: wal2)
18:47
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 50b43b02da user: drh tags: begin-concurrent)
18:03
Remove unnecessary blank lines from build commands in the default Makefile.in. (check-in: 76fb3a908f user: drh tags: trunk)
18:00
Add the "VALUES-as-coroutine" optimization. Large VALUES clauses on an INSERT, for example, prepare and run in about half the time and with half the memory. This check-in also includes enhancements to the internal sqlite3ExprIsConstant() routine to recognize pure SQL functions as constant if they have constant arguments. (check-in: a120c9235f user: drh tags: trunk)
17:13
Fix harmless compiler (scan-build) warnings. (Closed-Leaf check-in: c86f9f2a15 user: drh tags: exp-values-clause2)
16:30
Allow the VALUES-as-coroutine optimization to be applied to later rows of a VALUES clause even if earlier rows do not qualify. (check-in: 9a47ea7f0f user: drh tags: exp-values-clause2)
15:10
Change a test case to use a window function rather than random() to disable the VALUES clause optimization. (check-in: c589149a13 user: drh tags: exp-values-clause2)
13:31
Add assert() statements to validate access to the SrcItem.u1.nRow union member. (check-in: 21f616d9b9 user: drh tags: exp-values-clause2)
13:10
Fix the patch at [10ee6fcba08ab128] so that it works on reduced-size Expr nodes. (check-in: 260bd764c3 user: drh tags: exp-values-clause2)
12:49
Improvements to EXPLAIN QUERY PLAN output for multi-row VALUES claues. (check-in: ac6f095e13 user: drh tags: exp-values-clause2)
11:12
Ensure the database schema has been loaded and the database encoding gleaned before beginning to code a multi-row VALUES clause. (check-in: 2ff476eb3d user: dan tags: exp-values-clause2)
10:54
Fix a problem caused by a non-aggregate function with an OVER clause in a multi-row VALUES clause. (check-in: 10ee6fcba0 user: dan tags: exp-values-clause2)
2024-03-17
16:01
Omit the "noop(X)" test SQL function. Accomplish the same thing using the idiom: "coalesce(X,random())". (check-in: 0eb2fbb891 user: drh tags: exp-values-clause2)
00:13
Add an ALWAYS on an unreachable branch. (check-in: 0dce621169 user: drh tags: exp-values-clause2)
2024-03-16
21:12
Recognize when an SQL function is constant and can occur inside an optimized VALUES clause. (check-in: c0e5ceb87d user: drh tags: exp-values-clause2)
21:04
Fix a assert() that is incorrect, though harmless. (Closed-Leaf check-in: 9ba3cff9d4 user: drh tags: enhanced-expr-is-const)
20:15
Further expand the scope of usage for the enhacement to expr-is-constant. (check-in: d7eadcf7dd user: drh tags: enhanced-expr-is-const)
19:48
Assert that the eCode is always non-zero upon entry into exprNodeIsConstant(). (check-in: f71b28f671 user: drh tags: enhanced-expr-is-const)
19:36
Activate the enhanced constant-expression for the [constant propagation optimization](/info/f4229707ac08d66c). (check-in: 92afea3888 user: drh tags: enhanced-expr-is-const)
17:04
Extend the scope expr-is-constant for function to cover the IN-to-EQ optimization. (check-in: dae669245c user: drh tags: enhanced-expr-is-const)
14:27
Fix exprNodeIsConstantFunction() so that it returns WRC_Continue, not WRC_Abort, if the function really is constant. (check-in: d85dd4de2d user: dan tags: enhanced-expr-is-const)
13:18
Enhance the sqlite3ExprIsConstant() function so that it recognizes constant functions. So far the enhancement only applies to the multi-row VALUES clause, but it could possibly be applied in many other places. (check-in: c9e0488c6c user: drh tags: enhanced-expr-is-const)
2024-03-15
17:57
New options for testrunner.tcl: --stop-on-error and --stop-on-coredump. (check-in: 82035b9cfd user: drh tags: trunk)
17:04
Fix (totally harmless) memory leaks in Lemon to avoid warnings during ASAN builds. (check-in: ce009205a8 user: drh tags: trunk)
13:16
Tweaks to the func4.test test module (which tests the rarely used totype.c extension) so that it works on i586 compiled using gcc-13 with -O0. Details at [forum:/forumpost/0a7553b0f734c033|forum post 0a7553b0f734c033]. (check-in: d0fbe779bc user: drh tags: trunk)
12:59
Attempt to use the Dekker high-precision floating point algorithm in the ext/misc/totype.c extension. This check-in should have been derived from trunk, not the exp-values-clause2 branch. But that's ok, because both trunk and the branch are the same in all aspects that relate to this check-in and this check-in is just parking the proposed enhancement for future consideration - it is not a serious proposal at this point. (Leaf check-in: dd41db3b10 user: drh tags: totype-dekker)
2024-03-14
20:39
Fix testcase to account for new behaviors with this branch. (check-in: 823e579362 user: drh tags: exp-values-clause2)
19:31
Fix a problem with ALTER TABLE and correlated multi-row VALUES clauses. (check-in: d543c829ef user: dan tags: exp-values-clause2)
19:01
Fix a problem handling "INSERT INTO ... SELECT ... UNION VALUES(...), (...)" and similar statements. (check-in: e8a2a8198a user: dan tags: exp-values-clause2)
17:04
Avoid some OP_SCopy instructions in "INSERT INTO .. VALUES" statements that insert more than one row in cases where the VALUES clause contains a value for all columns of the table. (check-in: 988f0ea70c user: dan tags: exp-values-clause2)
13:18
JS: remove an unused function argument and some debug-related comments. No functional changes. (check-in: f15709430d user: stephan tags: trunk)
11:45
Add further tests for VALUES clauses in various contexts. (check-in: 973d197d96 user: dan tags: exp-values-clause2)
2024-03-13
20:04
Change the way parse.y handles multi-row VALUES clauses to save a few cycles. (check-in: 88d5bc91a5 user: dan tags: exp-values-clause2)
18:41
Remove unreachable code from this branch. (check-in: 657c7b4f9d user: dan tags: exp-values-clause2)
18:00
Merge the latest trunk enhancements into the bedrock branch. (check-in: 5c8e80f435 user: drh tags: bedrock)
17:55
Merge the latest trunk enhancements into the wal2 branch. (check-in: 2b12da7234 user: drh tags: wal2)
17:51
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 238fa84a9a user: drh tags: begin-concurrent)
17:33
Fix some OOM handling problems on this branch. (check-in: 2085c7f12a user: dan tags: exp-values-clause2)
16:49
Do not automatically activate SQLITE_ENABLE_SHARED_SCHEMA in the Makefile. Instead, enhance the mdevtest and sdevtest targets of testrunner.tcl to set that option sometimes and sometimes not. (check-in: 693b8f9307 user: drh tags: reuse-schema)
16:35
Merge the testrunner.tcl enhancement from trunk. (check-in: da47151561 user: drh tags: reuse-schema)
16:32
Minor change to the "mdevtest" and "sdevtest" in testrunner.tcl, to make it easier to add configurations in branches. (check-in: 9349d94e05 user: drh tags: trunk)
15:59
Merge the latest trunk enhancements into the reuse-schema branch. Fix the reuse-schema build of the CLI so that it works again. (check-in: 70ef3784f6 user: drh tags: reuse-schema)
15:47
Merge trunk into this branch. (check-in: 38635651f0 user: dan tags: exp-values-clause2)
15:44
Ensure that if a multi-row VALUES cannot be coded while being parsed, the SF_MultiValue flag is correctly set. (check-in: 94791824a6 user: dan tags: exp-values-clause2)
15:34
Avoid creating a co-routine incrementally for a VALUES clause that has affinities other than NONE. (check-in: 4229b12b32 user: dan tags: exp-values-clause2)
13:43
If the NJOB environment variable is a positive integer, it causes testrunner.tcl to run that many jobs. (check-in: 924281b94d user: drh tags: trunk)
13:27
Document the testrunner.tcl --explain option in doc/testrunner.md. (check-in: 5a7b5fc99a user: drh tags: trunk)
13:09
Add the --explain option to testrunner.tcl. (check-in: f0c9eb0326 user: drh tags: trunk)
11:46
Improve one of the error messages from testrunner.tcl. (check-in: 233155c174 user: drh tags: trunk)
11:29
Minor tweaks to the testrunner documentation. (check-in: 3128b98d26 user: drh tags: trunk)
10:55
Improvements to the "help" message generated by testrunner.tcl. Add the special "list" permutation that does nothing but list all allowed values for the PERMUTATION argument to testrunner.tcl. (check-in: 1f5bfc6a90 user: drh tags: trunk)
10:54
Add pointer to documentation to testrunner.tcl help message. (check-in: eff855102f user: dan tags: trunk)
10:47
Have testrunner.tcl set SQLITE_TMPDIR on windows as well. (check-in: 64f4dad1f9 user: dan tags: trunk)
00:37
On testrunner.tcl: (1) Add the "help" command. (2) Add the "script" command to the help message. (3) Improve the error message generated by "script" when an incorrect CONFIG option is provided. (check-in: 1b7f0be440 user: drh tags: trunk)
2024-03-12
20:10
Correctly initialize the SrcItem.iCursor field to -1 when creating a co-routine from a multi-values VALUES clause. (check-in: c32953ff6d user: dan tags: exp-values-clause2)
18:33
Have testrunner.tcl have each test store its temp files in its working directory. To avoid unlikely, but possible, collisions. (check-in: 18842d0d72 user: dan tags: trunk)
18:04
Have testrunner.tcl have each test store its temp files in its working directory. To avoid unlikely, but possible, collisions. (Closed-Leaf check-in: 775a10d10b user: dan tags: testrunner-tmpdir-fix)
12:12
Merge all version-3.45.2 patches into the reuse-schema-3.45 subbranch. (check-in: 20d9618da3 user: drh tags: reuse-schema-3.45)
12:00
Merge all 3.45.2 pages into the bedrock-3.45 subbranch. (Leaf check-in: 33b9cf7c10 user: drh tags: bedrock-3.45)
11:55
Merge all 3.45.2 patches into the wal2-3.45 subbranch. (check-in: 64d740c594 user: drh tags: wal2-3.45)
11:51
Merge all version 3.45.2 patches into the begin-concurrent-3.45 subbranch. (check-in: f0723258aa user: drh tags: begin-concurrent-3.45)
11:06
Version 3.45.2 (check-in: d8cd6d49b4 user: drh tags: release, branch-3.45, version-3.45.2)
10:47
First attempt at version 3.45.2, but failed to set the version number correctly in the source tree. (Closed-Leaf check-in: 78bed2b0c7 user: drh tags: mistake)
2024-03-11
23:28
Merge the latest branch-3.45 patches into the reuse-schema-3.45 subbranch. (check-in: e22e0e1e4e user: drh tags: reuse-schema-3.45)
23:26
Merge the latest branch-3.45 changes into the bedrock-3.45 subbranch. (check-in: 516b7e1380 user: drh tags: bedrock-3.45)
23:23
Merge the branch-3.45 patches into the wal2 branch. (check-in: f8cee91f5d user: drh tags: wal2-3.45)
23:18
Merge the latest branch-3.45 changes into the begin-concurrent branch. (check-in: 98ea2ca21a user: drh tags: begin-concurrent-3.45)
20:34
Fix another testrunner.tcl problem on windows. (check-in: 7805844bc4 user: dan tags: trunk)
19:43
Fix a missing brace problem in testrunner.tcl introduced by the previous commit. (check-in: 1f5e334d98 user: dan tags: trunk)
19:33
Update mdevtest and sdevtest to do shell builds in parallel. And only if one or more of the tcl scripts run requires it. (check-in: 6eae4547d4 user: dan tags: trunk)
18:21
Run shell*.test modules with "make mdevtest". (check-in: 76c4710618 user: drh tags: trunk)
17:27
Attempt to reduce the memory used by VALUES clauses in as many statements as possible, not just INSERT. This branch still has problems. (check-in: 17d1f7cfab user: dan tags: exp-values-clause2)
11:26
Fix the ".import" command in the CLI so that it works correctly with tables that contain computed columns. (check-in: b26f24441f user: drh tags: branch-3.45)
11:24
Fix the ".import" command in the CLI so that it works correctly with tables that contain computed columns. [forum:/forumpost/ca014d7358|forum post ca014d7358]. (check-in: 95a9c88b25 user: drh tags: trunk)
09:39
Add more docs for the OPFS delete-before-open feature. (check-in: cb8d9c269c user: stephan tags: trunk)
09:34
Add delete-before-open=1 URI flag to the 'opfs' VFS to tell it to xDelete the db file before opening it, primarily to enable users to work around a corrupt db without having to reach into OPFS-specific APIs to remove the db file. (check-in: e87cf0d770 user: stephan tags: trunk)
09:32
Add delete-before-open=1 URI flag to the 'opfs' VFS to tell it to xDelete the db file before opening it, primarily to enable users to work around a corrupt db without having to reach into OPFS-specific APIs to remove the db file. (Closed-Leaf check-in: e83f978863 user: stephan tags: opfs-delete-before-open)
2024-03-09
18:41
Fix the .expert command in the shell so that it does not leak memory if not followed by SQL and so that it works with reverse_unordered_selects. (check-in: 7ead022eda user: drh tags: trunk)
13:31
Fuzzcheck is run automatically by testrunner.tcl, so there is no need to include fuzzcheck as a separate dependency for the releasetest target in the MSVC makefile. (check-in: 76629b2bff user: drh tags: trunk)
13:17
Reenable the use of SQLITE_OMIT_VIRTUALTABLE by fixing a misplaced #endif caused by the merge at [c080560c2d0d753c]. (check-in: 71120ea837 user: drh tags: branch-3.45)
13:10
Fix the rtreeJ.test module to align it with [cd017c28d516399e]. (check-in: 111b3d8270 user: drh tags: branch-3.45)
12:30
Handle an OOM case in fts5 code to query tokendata=1 tables. (check-in: ebf59fa374 user: drh tags: branch-3.45)
00:38
The NOT NULL strength reduction optimization should be applied to the WHERE clause only. (check-in: be266c7139 user: drh tags: branch-3.45)
2024-03-08
21:37
The NOT NULL strength reduction optimization from [de9c86c9e4cdb34f] should be applied to the WHERE clause only. Otherwise, the operand of the IS NULL or IS NOT NULL operator might be a reference to a bare column of an aggregate table, and we can't tell if it is NULL or not based only on its NOT NULL attribute. [forum:/forumpost/440f2a2f17|Forum post 440f2a2f17]. (check-in: 51704feae2 user: drh tags: trunk)
19:03
One of the assert()s added by the previous check-in was not quite correct. This commit fixes it. (check-in: d401358329 user: drh tags: trunk)
15:39
Add new assert() statements, which if they had existed three years ago, would have detected the code generator problem fixed by the previous check-in. (check-in: 166d1e5d26 user: drh tags: trunk)
14:11
Silently ignore redundant ON CONFLICT clauses in an UPSERT. (check-in: 46245855a0 user: drh tags: branch-3.45)
14:01
Silently ignore redundant ON CONFLICT clauses in an UPSERT. Only the first ON CONFLICT for each index is active. Do not issue an error, since that might break legacy queries. But ignore the redundant ON CONFLICT clauses to prevent problems such as described in [forum:/forumpost/919c6579c8|forum post 919c6579c8]. (check-in: d0ea6b6ba6 user: drh tags: trunk)
13:49
Omit some extra tests for the intck extension in OMIT_VIRTUAL_TABLE or OMIT_PRAGMA builds. (check-in: 29d9eb7d55 user: dan tags: trunk)
11:13
Fix pragma6.test so that it works with ENABLE_OVERSIZE_CELL_CHECK builds. (check-in: a02551de4c user: dan tags: trunk)
11:08
Do not run tests for the intck extension in OMIT_VIRTUAL_TABLE or OMIT_PRAGMA builds. (check-in: de8130c020 user: dan tags: trunk)
03:24
Must use sqlite3IntFloatCompare() for accurate comparisons between very large integer and floating point values in RTREE. Otherwise the comparison does not work on all platforms. Further fix to [027e5336acc26f57]. (check-in: 820f106acf user: drh tags: trunk)
2024-03-07
19:29
Introducing JS worker1 promiser v2, which initializes via Promise (instead of a callback function) and can be loaded as an ESM module. (check-in: 2fbaf2f51d user: stephan tags: trunk)
18:53
Resolve duplicate loading of promiser v2 demo code (a side effect of having done precisely what it was told to do). Consolidate demo-worker1-promiser(-esm).html/(m)js variants into central copies processed with c-pp. (Closed-Leaf check-in: 9347d9b9a6 user: stephan tags: wasm-promiser1-v2)
18:47
Improved error handling. (Leaf check-in: cf2d1ad036 user: drh tags: exp-values-clause)
17:56
wasm promiser.v2 is essentially working but the demo code is double-loading the module for as-yet-undetermined reasons. (check-in: aa877ce0c3 user: stephan tags: wasm-promiser1-v2)
17:11
Simplify the parser changes on this branch. (check-in: 89a6c7b527 user: dan tags: exp-values-clause)
16:25
Merge all the latest trunk enhancements into the exp-values-clause branch. (check-in: c4923f266f user: drh tags: exp-values-clause)
16:04
Initial work at getting sqlite3Worker1Promiser.v2() to return a Promise instead of using an onready() callback, and also creating an ESM build for promiser1 per user request. It seems to work but requires more testing. (check-in: 0e272123ac user: stephan tags: wasm-promiser1-v2)
15:58
Fix harmless compiler warnings in test code for the intck extension. (check-in: 7fbdc1a849 user: drh tags: trunk)
15:44
Add further tests for the code on this branch. (check-in: 5d8065e801 user: dan tags: exp-values-clause)
12:34
Do not allow the query planner to be tricked into thinking that an index on a constant expression might be useful for something. Problem reported on [forum:/forumpost/ecdfc02339|forum post ecdfc02339]. This is a follow-up to the fixes at [44200596aa943963] and [2d2b91cc0f6fed8c]. (check-in: 720ce06d93 user: drh tags: trunk)
2024-03-06
21:53
Fix a memory leak in new memdb1.test test cases that were added by [e638d5e408ea2e18]. No changes to SQLite itself. (check-in: f0a49dc8bc user: drh tags: branch-3.45)
21:22
Fix harmless compiler warning seen with MSVC. (check-in: 5aa809bcfe user: mistachkin tags: branch-3.45)
21:08
Fix harmless compiler warnings seen with MSVC. (check-in: c0f6152410 user: mistachkin tags: branch-3.45)
21:06
Fix a minor test file locking issue on Windows. (check-in: a44752806f user: mistachkin tags: branch-3.45)
21:00
Work around obscure floating point issue seen with older versions of MSVC. (check-in: 6055715feb user: mistachkin tags: branch-3.45)
20:59
Fix two -Werror=lto-type-mismatch warnings reported in [forum:ef62b57bd5|forum post ef62b57bd5]. (check-in: d4e423f3a4 user: mistachkin tags: branch-3.45)
20:58
The quote() SQL function should convert +Inf into 9.0e+999 and -Inf into -9.0e+999. See [forum:/forumpost/6675b25108|forum post 6675b25108]. (check-in: 07a9ef888d user: mistachkin tags: branch-3.45)
20:58
Make sure key comprisons are done correctly if the index key contains NaN values that have not been shifted into NULLs. That can only happen due to database corruption, but we need to deal with it nevertheless. (check-in: 7ed922d99c user: mistachkin tags: branch-3.45)
20:56
When inserting a 3-byte cell into a btree, ensure that the extra padding byte is 0x00. This is not necessary for security, as far as I can tell, but it seems like a reasonable precaution. (check-in: f3e841873d user: mistachkin tags: branch-3.45)
20:55
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:/forumpost/498777780e16880a|Forum thread 498777780e16880a]. (check-in: 22a33f133e user: mistachkin tags: branch-3.45)
20:54
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:/forumpost/3776b48e71|forum post 3776b48e71]. The problem bisects to [25f2246be404f38b] on 2014-08-24, prior to version 3.8.7. (check-in: 6d385ccda8 user: mistachkin tags: branch-3.45)
20:52
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:/forumpost/3776b48e71|forum post 3776b48e71]. (check-in: a7c98c8f19 user: mistachkin tags: branch-3.45)
20:49
Add the json_pretty() SQL function. (check-in: ceb51c1cc3 user: drh tags: trunk)
20:38
Add test cases for json_pretty(). (Closed-Leaf check-in: 6448b90708 user: drh tags: json-pretty)
20:34
Avoid making too many calls to sqlite3Select/sqlite3WhereBegin() when processing large VALUES clauses. (check-in: 356158c192 user: dan tags: exp-values-clause)
20:24
Work around obscure floating point issue seen with older versions of MSVC. (check-in: 42d39f9140 user: mistachkin tags: trunk)
14:55
Handle VALUES clauses having different number of values in different rows. Also the case where SQLITE_LIMIT_COMPOUND_SELECT is set to 0. (check-in: f5074b29d9 user: dan tags: exp-values-clause)
14:42
Add a couple of json_pretty() examples to /fiddle. (check-in: d5e1687b1d user: stephan tags: json-pretty)
14:30
Add the json_pretty(J) function for pretty-printing of JSON. An optional 2nd argument is text used for indentation, with a default value being four spaces. (check-in: 39552bd36c user: drh tags: json-pretty)
12:28
Correction to the previous check-in. (check-in: 483fa2969e user: drh tags: trunk)
11:35
Fix handling of "id=?" corner cases in rtree when the value on the RHS is a real value. Problem reported by [forum:/forumpost/1bb055be17|forum post 1bb055be17]. (check-in: 027e5336ac user: dan tags: trunk)
08:45
Wasm build tweaks to attempt to get the node.js-for-node.js build to use Emscripten's nodefs filesystem driver for persistent storage. This is completely untested - validating it requires a nodeist. (Leaf check-in: 0bcbde7c54 user: stephan tags: wasm-nodefs)
2024-03-05
20:33
Add comments for the new code on this branch. (check-in: 551caba93b user: dan tags: exp-values-clause)
18:41
Remove code that added a P4 parameter to the OP_Variable opcode. This is no longer required. (check-in: dd5977c9a8 user: dan tags: trunk)
18:03
Merge trunk changes into this branch. (check-in: a003fffafd user: dan tags: exp-values-clause)
17:48
Fix a problem with large values clauses and named variables. (check-in: 4784a92e56 user: dan tags: exp-values-clause)
17:39
Reformulate [34439fe3aeea7cbb] slightly to resolve a false-positive OOM reported in [forum:2eadfe94e3|forum post 2eadfe94e3]. (check-in: 320ccb5d5f user: stephan tags: branch-3.45)
17:33
Reformulate [34439fe3aeea7cbb] slightly to resolve a false-positive OOM reported in [forum:2eadfe94e3|forum post 2eadfe94e3]. (check-in: 8290646792 user: stephan tags: trunk)
17:23
Simplify changes on this branch by avoiding any special handling until SQLITE_LIMIT_COMPOUND_SELECT rows are reached. (check-in: 9cbceaac8f user: dan tags: exp-values-clause)
16:59
The value returned by the json_each.json field needs to survive longer than the json_each virtual table itself, in the event that the value is used in an aggregate expression. dbsqlfuzz 5120bd0b3bb0b73eebbcb79ac37c6b0663fccad6 (check-in: 040946b342 user: drh tags: branch-3.45)
16:47
The value returned by the json_each.json field needs to survive longer than the json_each virtual table itself, in the event that the value is used in an aggregate expression. dbsqlfuzz 5120bd0b3bb0b73eebbcb79ac37c6b0663fccad6 (check-in: 952ed71b9b user: drh tags: trunk)
12:48
/fiddle: reorder/replace example entries to make them more coherent when tried in order and clear the example selection list when the input area is cleared, both based on forum feedback. (check-in: b4ce270b3f user: stephan tags: trunk)
08:48
/fiddle 'Mandlebrot' typo fix reported in the forum. (check-in: ceefe6ba38 user: stephan tags: trunk)
07:55
Update fiddle.make to account for Makefile changes in [178b7d46f9]. (check-in: 7a5d810549 user: stephan tags: trunk)
06:31
/fiddle: before resetting a db, roll back any transactions (resolves problem reported in [forum:0b41a25d65|forum post 0b41a25d65]) and remove an obsolete/broken reference to a long-gone API which could cause initialization to fail prematurely. (check-in: ee164ca73c user: stephan tags: trunk)
2024-03-04
18:50
Fix some problems with "VALUES(...) UNION ..." and similar on this branch. (check-in: 5d6797716d user: dan tags: exp-values-clause)
18:22
Fix a compiler warning in date.c. Update makefiles to include all necessary dependencies for building shell.c. (check-in: 178b7d46f9 user: drh tags: trunk)
18:02
The ability to DROP multiple tables (or views or indexes or triggers) at once, as implemented by this branch, appears to work. However, this branch adds over 1000 bytes to the code footprint. And the changes is significant, adding risk. The benefit of being able to drop multiple tables in a single statement is not seen to be enough to overcome those downsides, and so there are no immediate plans to merge this branch. (Leaf check-in: 1a49788afd user: drh tags: multi-drop)
16:44
Change test results in corruptC.test to account for the added detail in the output of "PRAGMA integrity_check" from [b736519d3d2e93c7]. (check-in: 0d19eeaafb user: drh tags: trunk)
16:18
Fix harmless compiler warnings in the increment integrity_check extension. (check-in: 596668e662 user: drh tags: trunk)
13:58
Adjust date/time functions so that they do a better job of keeping track of whether the current time is UTC or localtime, and no-op the 'utc' and 'localtime' modifiers accordingly. See [forum:/info/e7a939e074|forum post e7a939e074]. Also add the datedebug() function, available only under -DSQLITE_DEBUG, for improved visibility of the DateTime object during debugging and testing. (check-in: dc56968374 user: drh tags: trunk)
11:12
Fix assert() statements in date/time computations: The month and day numbers can be zero if an error has been seen. (check-in: fc773f6c76 user: drh tags: trunk)
09:56
Document why the wasm build does not use Emscripten's -sSTRICT=1 flag and account for a behaviour change in emsdk 3.1.55 regarding the HEAPxyz symbols. (check-in: f6e8872033 user: stephan tags: trunk)
09:23
When warning about multiple invocations of JS's sqlite3ApiBootstrap(), use the warning logger installed by the first invocation, rather than console.warn. (check-in: d162af2d99 user: stephan tags: trunk)
06:54
After wasm bootstrapping has read the optional global-scope config objects, delete those objects because any further changes would not have any useful effect. Expand the docs regarding the sqlite3ApiBootstrap() config object and explain the necessary evil of a separate global-scope object for that configuration. (check-in: e6b14f7313 user: stephan tags: trunk)
2024-03-03
20:15
Back out the previous change. Replace it with new date modifiers "ceiling" and "floor". (check-in: f0831cced2 user: drh tags: trunk)
2024-03-02
21:02
New date/time modifiers "mnth" and "yr" work like "month" and "year" but resolve day-of-month overflow by truncating rather than rolling over into the next month. [forum:/forumpost/232d1abb5d|Forum thread 232d1abb5d] (check-in: 5d392c16bb user: drh tags: trunk)
20:50
Change the magic time-interval names that do truncate-to-same-month to be "mnth" and "yr" - "month" and "year" without the vowels. (Closed-Leaf check-in: 296b46c529 user: drh tags: month-truncate)
20:39
Attempt to use less memory when handling a large VALUES clause attached to an INSERT statement. This branch is buggy. (check-in: 6d4f1ae2fc user: dan tags: exp-values-clause)
13:38
Proof-of-concept for new time-interval operator "pg-month" and "pg-year" that use the truncate-to-month algorithm for month overflow instead of the wrap-to-next-month algorithm that is used by SQLite by default. (check-in: b606c09657 user: drh tags: month-truncate)
12:17
Remove an unused line of code. (check-in: 2627259069 user: drh tags: multi-drop)
11:02
Simplifications to multi-DROP logic. (check-in: e70d6be751 user: drh tags: multi-drop)
00:29
Improved rebustness against OOM and corruption. (check-in: 3992f45033 user: drh tags: multi-drop)
2024-03-01
22:42
When doing DROP TABLE or DROP INDEX, use a heap to ensure that the various btrees are dropped in the right order for autovacuum. (check-in: e5bf9556ff user: drh tags: multi-drop)
19:08
RTREE uses multi-DROP to erase shadow tables. (check-in: cf8a58d679 user: drh tags: multi-drop)
18:05
Omit unreachable branches in the parser. (check-in: 90de1f73f9 user: drh tags: multi-drop)
15:56
Fix harmless compiler warning. (check-in: 33d3bb848b user: drh tags: multi-drop)
14:47
Improved handling of foreign-key constraints on a multi-drop of tables. (check-in: 144e332f44 user: drh tags: multi-drop)
12:21
When doing a multi-drop, delete btrees beginning with the largest root page first and working toward smaller root pages, to avoid problems with root page renumbering due to autovacuum. (check-in: 37d4c5e207 user: drh tags: multi-drop)
2024-02-29
19:40
Attempt to fix multi-object DROP. Working better, but still not perfect. (check-in: 02f9fc73ee user: drh tags: multi-drop)
13:44
Add the ability to DROP one or more objects of the same class in a single statement by listing the objects as multiple arguments to the DROP command. (check-in: 2266086cf0 user: drh tags: multi-drop)
10:55
Fix two -Werror=lto-type-mismatch warnings reported in [forum:ef62b57bd5|forum post ef62b57bd5]. (check-in: 803481f250 user: stephan tags: trunk)
03:45
Fix two -Werror=lto-type-mismatch warnings reported in [forum:ef62b57bd5|forum post ef62b57bd5]. (Closed-Leaf check-in: 29f94610dc user: stephan tags: lto-type-mismatch)
2024-02-28
19:44
Put NEVER() on a branch in STAT4 that appears to be unreachable. (Closed-Leaf check-in: 0ca35e9278 user: drh tags: mistake)
15:32
Add in a VdbeCoverage() macro needed by STAT4 that should have been part of check-in [63ef234e88857a65]. (check-in: d51c699ae4 user: drh tags: trunk)
01:12
Always convert 32-bit integer literals into EP_IntValue notation, even if they contain "_" separators. (check-in: 2dfc427f67 user: drh tags: trunk)
2024-02-27
20:19
Fix an eputf() macro without its argument in the CLI. (check-in: c2f5e257d2 user: drh tags: trunk)
19:57
Add an assert() to help scan-build recognize that a variable is initialized. (check-in: 10d26f1ee8 user: drh tags: trunk)
16:36
Adjust a VdbeCoverage() macro in PRAGMA integrity_check to account for the fact that arguments to the OP_Eq opcode used are never NULL. (check-in: 759ccea3f6 user: drh tags: trunk)
16:25
Adjust a VdbeCoverage() macro in PRAGMA integrity_check to account for the fact that arguments to the OP_Eq opcode used are never NULL. (Closed-Leaf check-in: 8c788fc4b2 user: drh tags: wrong-branch)
15:56
<s>Fix typo in the help text of the CLI - a typo that prevented the display of help for the ".imposter" command.</s> Turns out the comma is deliberate. The ".imposter" command is deliberately undocumented to avoid confusing non-devs. (Closed-Leaf check-in: 0d9a25962c user: drh tags: mistake)
15:33
Remove unreachable branches from the PRAGMA integrity_check enhancement of [b736519d3d2e93c7]. (check-in: 6d02fb233f user: drh tags: trunk)
14:31
Ensure memory cells are properly freed before they are overwritten by OP_IntegrityCk. (check-in: e50acaf934 user: dan tags: trunk)
11:03
Have "PRAGMA quick_check" compare the number of entries in tables and indexes. (check-in: b736519d3d user: dan tags: trunk)
11:02
Extend sqlite3.c makefile rule to support EXTRA_SRC=list-of-c-files to append to the generated sqlite3.c, as discussed in/around [forum:ccda88cf6f1754c5|forum post ccda88cf6f1754c5]. (check-in: 61676f1e18 user: stephan tags: trunk)
10:52
Allow "_" characters to appear between any two digits in an integer, real or hexadecimal SQL literal. (check-in: 0e6700f43f user: dan tags: trunk)
00:58
Bring the extra-src branch up to date with the trunk. (Closed-Leaf check-in: 12ff5c5c41 user: stephan tags: extra-src)
2024-02-26
22:28
The quote() SQL function should convert +Inf into 9.0e+999 and -Inf into -9.0e+999. See [forum:/forumpost/6675b25108|forum post 6675b25108]. (check-in: 85dd79a6ed user: drh tags: trunk)
15:27
When inserting a 3-byte cell into a btree, ensure that the extra padding byte is 0x00. This is not necessary for security, as far as I can tell, but it seems like a reasonable precaution. (check-in: 5766f1279d user: drh tags: trunk)
12:16
Add the intck extension. For performing incremental integrity-check on a database. (check-in: 141d8bb059 user: dan tags: trunk)
11:51
Fix header comments on test scripts. (Closed-Leaf check-in: 9fe9670c97 user: drh tags: incr-integrity-check)
11:43
Remove a local variable from sqlite3IntFloatCompare() that was being optimized out anyhow, in order to get back to 100% MC/DC. (check-in: 52b13d6acb user: drh tags: trunk)
10:56
Merge latest trunk changes into this branch. (check-in: b6371ff9f5 user: dan tags: incr-integrity-check)
2024-02-25
21:30
Make sure key comprisons are done correctly if the index key contains NaN values that have not been shifted into NULLs. That can only happen due to database corruption, but we need to deal with it nevertheless. (check-in: 7e4c743f9e user: drh tags: trunk)
2024-02-24
19:58
Add two GIFs that contain the feather logo. (check-in: 5f21e6a8ee user: drh tags: trunk)
16:26
Add further tests for the intck module. (check-in: c253e276b2 user: dan tags: incr-integrity-check)
2024-02-23
20:51
Add tests for the new code on this branch. (check-in: 351d46b237 user: dan tags: incr-integrity-check)
18:21
Add the ".intck ?STEPS_PER_UNLOCK?" command to the shell tool. (check-in: cfd051836b user: dan tags: incr-integrity-check)
18:02
Typo fixes [forum:c19bbf245d|reported in the forum]. No code changes. (check-in: 67d8bae0f6 user: stephan tags: trunk)
17:10
Fix detection of surplus index entries when all indexed fields are NULL. (check-in: 5f310fb7be user: dan tags: incr-integrity-check)
15:13
Fix problems with resuming integrity-check operations on indexes with mixed ASC and DESC columns, and on indexes that contain NULL values. (check-in: 0f68b35a00 user: dan tags: incr-integrity-check)
2024-02-22
18:15
Fix harmless compiler warning seen with MSVC. (check-in: e5db089931 user: mistachkin tags: trunk)
00:50
Fix debugging code so that it compiles on MSVC. (check-in: ce5df19dc4 user: drh tags: trunk)
2024-02-21
20:58
Fix various issues in sqlite3intck.c. (check-in: 8a7bfa7452 user: dan tags: incr-integrity-check)
20:21
Fix typo in comment. [https://fossil-scm.org/forum/forumpost/cc20266bf2|Fossil forum post cc20266bf2]. (check-in: 7e3c46eed1 user: drh tags: trunk)
19:31
Simplify the way the restart key is saved internally by the intck extension. (check-in: 0e39962baa user: dan tags: incr-integrity-check)
19:17
Add documentation to ext/intck/sqlite3intck.h. (check-in: 4cc19bd74f user: dan tags: incr-integrity-check)
16:15
Ensure intck tests are run by testrunner.tcl. (check-in: 11d6816c06 user: dan tags: incr-integrity-check)
16:12
Merge trunk changes into this branch. (check-in: 63e8846ac1 user: dan tags: incr-integrity-check)
2024-02-20
20:18
Have the intck extension better handle corruption at the b-tree layer. (check-in: ecd775d108 user: dan tags: incr-integrity-check)
18:17
Use fewer cycles to generate the "next key" value used by sqlite3_intck_suspend() function in the intck extension. (check-in: 95f01426f9 user: dan tags: incr-integrity-check)
16:04
Consider using "=" and IS operators with even low-quality indexes in cases where they are selected explicitly using an INDEXED BY clause. (check-in: 43cbbea821 user: dan tags: incr-integrity-check)
15:38
Fixes to comments associated with the recent PRAGMA optimize enhancements. No changes to code. (check-in: 27a2113d78 user: drh tags: trunk)
13:11
Remove an unreachable branch from printf(). Change it into an assert(). (check-in: 4c9886b692 user: drh tags: trunk)
13:10
Remove an unused variable from the merge in the previous check-in. (check-in: 5c26bf379e user: drh tags: trunk)
12:48
Enhancements to PRAGMA optimize and ANALYZE. Add the 0x10000 flag to PRAGMA optimize. ANALYZE now records zero-size partial indexes in the sqlite_stat1 table. PRAGMA optimize looks for both growth and shrinkage in table sizes, and uses tighter bounds (10x rather than 25x) to trigger a re-analyze. PRAGMA optimize automatically uses are reasonable analysis_limit to prevent excessive runtimes. (check-in: 63ef234e88 user: drh tags: trunk)
12:14
Another simplification of the PRAGMA optimize logic for improved coverage. (Closed-Leaf check-in: 6c5a0c8545 user: drh tags: better-pragma-optimize)
2024-02-19
23:58
Minor fixes. (check-in: ed5afebc41 user: drh tags: better-pragma-optimize)
20:47
Fix a minor hiccup in the computation of the number of btrees to be scanned. (check-in: 91302d9b27 user: drh tags: better-pragma-optimize)
20:15
Use more efficient SQL to verify that indexes contain entries that match their tables. (check-in: c01e008c28 user: dan tags: incr-integrity-check)
20:12
If there is no mention of a table in sqlite_stat1, use OP_Rewind to see if the table is empty prior to invoking ANALYZE. (check-in: 0cc93b19de user: drh tags: better-pragma-optimize)
19:56
In PRAGMA optimize, scale back the analysis_limit when many different tables and indexes must be scanned. (check-in: 636615358a user: drh tags: better-pragma-optimize)
18:55
Merge trunk fixes into the better-pragma-optimize branch. (check-in: 2cf78a5b5f user: drh tags: better-pragma-optimize)
18:03
Add implementation of sqlite3_intck_suspend(). (check-in: c36ada868d user: dan tags: incr-integrity-check)
16:22
If a table has one or more rows and it has a partial index has zero rows, still make an entry in the sqlite_stat1 table for the partial index, so that we know that "PRAGMA optimize" does not need to redo the whole table. (check-in: e147b18991 user: drh tags: better-pragma-optimize)
13:50
Simplifications to PRAGMA optimize to make it easier to use. It always tries to ANALYZE unanalyzed indexes. The 0x10000 flag just makes it check for size changes in all tables. (check-in: 44ed7f4cd0 user: drh tags: better-pragma-optimize)
13:06
Change the 0x20000 bit (use analysis limit) to 0x10, meaning that this feature is on by default. The default analysis limit is changed to 2000 which is almost always sufficient for accurate analysis results. (check-in: 4abd47b591 user: drh tags: better-pragma-optimize)
12:20
Extend the strerror_r() result type discrepancy check in os_unix.c to include the Android NDK, as reported in [forum:3f13857fa4062301|forum post 3f13857fa4062301]. The NDK's strerror_r() signature is version-dependent, whereas this change assumes int return (POSIX semantic) across all versions. (check-in: f18b2524da user: stephan tags: trunk)
2024-02-18
01:12
Hold a transaction during PRAGMA optimize, for performance. (check-in: d13b79eae6 user: drh tags: better-pragma-optimize)
2024-02-17
20:55
Add start of extension for incremental integrity-checks to ext/intck/. (check-in: 444e3c9210 user: dan tags: incr-integrity-check)
16:39
Add new MASK bits to PRAGMA optimize: 0x70000. (check-in: dd44970625 user: drh tags: better-pragma-optimize)
03:36
Fix rounding in zero-precision %f and %g printf conversions. (check-in: 1ebea57ff2 user: drh tags: branch-3.45)
03:32
Fix rounding in zero-precision %f and %g printf conversions. [forum:/info/393708f4a8|Forum post 393708f4a8]. This bug was introduced by check-in [32befb224b254639] and first appeared in version 3.43.0. (check-in: 7fca1bc482 user: drh tags: trunk)
01:12
The PRAGMA optimize command invokes ANALYZE if a table shrinks by 25 times in addition to if it grows by 25 times. (check-in: 40532ffba9 user: drh tags: better-pragma-optimize)
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: b278ae3980 user: drh tags: branch-3.45)
21:30
Fix the subtype on the value column from json_each/json_tree for cases when the value is an array or object. Fix for the bug reported by [forum:/forumpost/ecb94cd210|forum post ecb94cd210]. (check-in: 1c33c5db2e user: drh tags: trunk)