Commit Graph

  • 0bb1247fca Follow documented behavior when casting a zeroblob() to text on a UTF-16 database. [bugs:/info/2026-10-23T12:45:59Z|bug 2026-10-23T12:45:59Z] drh 2026-10-23 13:06:30 +00:00
  • 47f34d87e3 Merge the FTS5 fix from branch-3.54 drh 2026-10-23 12:51:22 +00:00
  • 881f4fd025 Fix a UAF in FTS5 on a query that uses a prefix query and a ordinary term inside of a transaction. [bugs:/info/2026-10-23T03:10:17Z|Bug 2026-10-23T03:10:17Z]. drh 2026-10-23 12:23:36 +00:00
  • 0ccc01d3d9 Fix query planner error in the case of a multi-index OR on a WITHOUT ROWID table where the OR-term uses the seek-scan optimization. [bugs:/info/2026-10-23T03:09:01Z|Bug 2026-10-23T03:09:01Z]. drh 2026-10-23 12:14:17 +00:00
  • a9940a8503 Fix a problem in QRF when the screen width is narrower than a column. [bugs:/info/2026-10-23T03:50:28Z|Bug 2026-10-23T03:50:28Z] drh 2026-10-23 11:55:02 +00:00
  • 7ab0f7308f Enhancements to the geopoly extension to catch some invalid polygons that it was letting through. [bugs:/info/2026-10-23T03:54:22Z|Bug 2026-10-23T03:54:22Z] drh 2026-10-23 11:15:34 +00:00
  • 25ba73bc9a Enhance the ieee754(X,Y) function so that it returns 0.0 even if Y very large. [bugs:/info/2026-10-23T03:55:14Z|Bug 2026-10-23T03:55:14Z] drh 2026-10-23 11:09:58 +00:00
  • 38fff5fe3e Cap the sleep time for sqlite3_sleep() at 2147483 milliseconds to avoid overflowing the microsecond-resolution parameter to the xSleep method of the VFS. Test cases in TH3. [bugs:/info/2026-10-23T04:02:08Z|Bug 2026-10-23T04:02:08Z]. drh 2026-10-23 10:57:51 +00:00
  • ba44f903b8 Merge the latest branch-3.54 fixes into trunk drh 2026-10-23 10:39:05 +00:00
  • 878113ff3b In FTS5, fix a potential read past the string terminator while parsing a malformed RANK input. Private email from Mirchev. drh 2026-10-23 09:48:13 +00:00
  • a0599e8b60 Fix a heap-buffer overread in FTS5 due to a corrupt inverted index holding an empty doclist. Private email from Mirchev. drh 2026-10-23 09:38:43 +00:00
  • ac1dd97f22 Ensure that all content that is copied into the -shm file during recovery has been initialized, even in the case of no valid WAL frames. drh 2026-10-23 09:34:42 +00:00
  • 02225da9a9 Ensure that all content that is copied into the -shm file during recovery has been initialized, even in the case of no valid WAL frames. Private email from Mirchev. drh 2026-10-23 09:08:13 +00:00
  • 20822819ad Fix two minor issues with the geopoly extension. Bugs [bugs:/info/2026-10-21T02:53:43Z] and [bugs:/info/2026-10-21T05:30:42Z]. drh 2026-10-23 00:49:30 +00:00
  • 31ebfdf4a1 Performance improvements in PRAGMA integrity_check and in materialized CTEs. drh 2026-10-22 20:03:37 +00:00
  • 7c2cb02205 Improve ALTER TABLE DROP CONSTRAINT so that it is better able to deal with some corner case in the constraint syntax. Bugs [bugs:/info/2026-10-22T16:25:18Z|2026-10-22T16:25:18Z] and [bugs:/info/2026-10-22T16:30:48Z|2026-10-22T16:30:48Z]. drh 2026-10-22 19:55:10 +00:00
  • 138f51ac68 Remove unused per-index counters from integrity checking. performance jeffchen 2026-10-22 14:03:32 +00:00
  • fd8be0ca94 Avoid repeated setup when reusing a materialized CTE. jeffchen 2026-10-22 14:03:19 +00:00
  • bc766d966a Merge branch-3.54 fixes into trunk drh 2026-10-22 11:41:16 +00:00
  • 03c3a3edd2 Make the session rebaser more robust the face of column count mismatches. drh 2026-10-22 11:35:33 +00:00
  • 007df2b477 Add a rootpage number lower bounds check in the "recover" extension. Test case in TH3. drh 2026-10-22 11:19:52 +00:00
  • de805a8c12 Increased safety margin in sqlite3_preupdate_old(). Test case in TH3. drh 2026-10-22 11:03:08 +00:00
  • 7f91834658 Extra safety margin added to sqlite3VdbeMemFromBtree(). Change suggested by Martin Mirchev. Test cases in TH3. drh 2026-10-22 10:40:42 +00:00
  • ac429ff804 Index lookup of an integer column using value -9223372036854775808.0 now works. [bugs:/info/2026-10-21T17:54:28Z|Bug 2026-10-21T17:54:28Z] drh 2026-10-21 23:49:46 +00:00
  • 99774ca002 Make the NOT INDEXED key phrase work for WITHOUT ROWID tables. [bugs:/info/2026-10-21T17:47:47Z|Bug 2026-10-21T17:47:47Z] drh 2026-10-21 20:53:42 +00:00
  • 0168a3f32b Mark the AND optimization as "not-a-real-0-or-1" so as not to confuse ORDER BY and GROUP BY clauses. [bugs:/info/2026-10-21T15:33:18Z|Bug 2026-10-21T15:33:18Z] drh 2026-10-21 17:36:54 +00:00
  • 4f6dc901fe Do not synthesize position-lists for UNINDEXED fts5 columns in detail=none mode. Report [bugs:/info/2026-10-20T20:40:52Z | 2026-10-20T20:40:52Z]. dan 2026-10-21 17:23:01 +00:00
  • 4259cf5264 Avoid orphaning an fts5 %_content table when dropping or renaming an fts5 table that uses contentless_unindexed=1. Report [bugs:/info/2026-10-21T02:51:01Z | 2026-10-21T02:51:01Z]. dan 2026-10-21 16:56:58 +00:00
  • 0b73214725 Improve usage of fts5 doclist-indexes in tokendata=1 tables. dan 2026-10-21 16:48:04 +00:00
  • 671911de56 New CLI-based test cases for foreign keys. drh 2026-10-21 16:29:13 +00:00
  • d08513bcbc When querying an fts5 table in tokendata mode, avoid using the "has-doclist" flag from the previous leaf page when querying for a non-existent term larger than all terms on that page. Report [bugs:/info/2026-10-21T02:52:01Z | 2026-10-21T02:52:01Z]. dan 2026-10-21 16:05:34 +00:00
  • 0269dadc3d Avoid returning extra rows when the RHS of a "rowid = " constraint on an fts5 table is not an integer value. Report [bugs:/info/2026-10-20T20:31:49Z | 2026-10-20T20:31:49Z]. dan 2026-10-21 15:25:33 +00:00
  • f1196b59b4 Improve RTREE to be more robust against abuses of the "rowid" column. [bugs:/info/2026-10-21T05:31:28Z|Bug 2026-10-21T05:31:28Z] drh 2026-10-21 15:15:32 +00:00
  • dd8f6a7422 Allow the foreign key code to use child indexes even when there are affinity mismatches between child and parent columns. dan 2026-10-21 14:41:53 +00:00
  • 0fa90d6621 Allow composite FKs to use indexes with mismatched affinities as well. experimental-fk-opt dan 2026-10-21 14:37:51 +00:00
  • 1113952d2a Allow the origin counter in FTS5 to grow beyond 32 bits. [bugs:/info/2026-10-21T10:56:15Z|Bug 2026-10-21T10:56:15Z] drh 2026-10-21 14:35:08 +00:00
  • 77207b3d94 Fix the fsdir() table-valued function to better cope with unreasonable LEVEL constraints. [bugs:/info/2026-10-21T10:49:41Z|Bug 2026-10-21T10:49:41Z] drh 2026-10-21 14:28:22 +00:00
  • 61a8c1579d The IN pre-filter is now only added when the child key can actually use an index lookup. drh 2026-10-21 12:57:50 +00:00
  • e8eff0e979 An attempt to get the new foreign key code to use indexes on type mismatch between parent and child. drh 2026-10-21 12:24:59 +00:00
  • 4242856e53 Ensure that all (parent_key = child_key) comparisons performed as part of foreign key processing are done using the affinity of the parent key. Report [bugs:/info/2026-10-20T02:56:10Z | 2026-10-20T02:56:10Z]. dan 2026-10-21 11:52:56 +00:00
  • 5b61b78f12 Cap the number of entires in a ZIP archive processed by the zipfile extension at 65535. [bugs:/info/2026-10-21T10:52:39Z|Bug 2026-10-21T10:52:39Z] drh 2026-10-21 11:51:52 +00:00
  • 23b355fb6e If a reprepare fails in sqlite3_stmt_explain(), do not leave the prepared statement in an invalid state. [Bugs:/info/2026-10-21T09:18:32Z|Bug 2026-10-21T09:18:32Z]. Test cases in TH3. drh 2026-10-21 11:25:55 +00:00
  • b6b600ac29 Improvements to vtab handling of SAVEPOINT. drh 2026-10-21 10:31:35 +00:00
  • 078f7c4c45 Test cases added vtab-savepoint drh 2026-10-21 10:27:51 +00:00
  • 049891534d If a virtual table is created within a SAVEPOINT, it needs to be undo by the corresponding ROLLBACK TO. This resolves an issue going back to before version 3.7.8 circa 2011. [bugs:/info/2026-10-20T20:37:14Z|Bug 2026-10-20T20:37:14Z] drh 2026-10-21 00:34:39 +00:00
  • 3e97799009 Change the sqlite3_serialize() interface to return a NULL pointer if the database is file-based and an I/O error occurs while reading. [bugs:/info/2026-10-18T10:04:32Z|Enhancement request 2026-10-18T10:04:32Z]. drh 2026-10-20 20:17:15 +00:00
  • 99f724be20 Simplify the ".clone" command so that it just makes a copy of the main database. Move the implementation into a separate dotCmdClone() function and provide better help text explaining its history. drh 2026-10-20 19:30:24 +00:00
  • 255534dc97 Fix the shellB.test module so that it does not try to run dump.sql without virtual tables available. drh 2026-10-20 19:21:43 +00:00
  • bd27afc005 Be sure to use the correct collating sequence when doing a balanced merge of a four-way or larger compound select. Error goes back to version 3.38.0 (2021). [bugs:/info/2026-10-18T23:46:25Z|Bug 2026-10-18T23:46:25Z] drh 2026-10-20 18:25:01 +00:00
  • 03c38c992a Merge branch-3.54 fixes into trunk drh 2026-10-20 17:53:47 +00:00
  • d3d85df39e Enhance the readfile() function in the fileio.c extension so that it is able to read from pipes. [bugs:/info/2026-10-20T14:02:37Z|Enhancement request 2026-10-20T14:02:37Z] drh 2026-10-20 17:46:19 +00:00
  • f95dc99bc6 Remove a debugging ".mode -v" in the dump.sql test script that was accidentally left in the previous check-in. drh 2026-10-20 17:42:52 +00:00
  • 5a1da0ae1b When a b-tree cell is deleted, zero the cursor's cell-info cache as the cell it describes no longer exists, even if the cursor position is being preserved. Report [bugs:/info/2026-10-18T16:11:58Z | 2026-10-18T16:11:58Z]. dan 2026-10-20 17:27:17 +00:00
  • 60f12a1ecc Fix the --preserve-rowids option on the ".dump" command of the CLI so that it works for tables that have a non-IPK column named "rowid". [bugs:/info/2026-10-20T03:22:48Z|Bug 2026-10-20T03:22:48Z] drh 2026-10-20 17:24:29 +00:00
  • 2f0c895a4e Fix the sqlite3_carray_bind() interface so that it works with SQLITE_TRANSIENT and an array length of zero. [bugs:/info/2026-10-20T13:53:58Z|Enhancement request 2026-10-20T13:53:58Z] drh 2026-10-20 17:05:30 +00:00
  • 5eb5ab72a2 Provide auto-init for the sqlite3_cancel_auto_extension(). [bugs:/info/2026-10-20T13:51:06Z|Enhancement request 2026-10-20T13:51:06Z]. drh 2026-10-20 16:40:12 +00:00
  • 12b80e71b6 When a real value is specified as a default for a text column, avoid various inconsistencies by ensuring that it is always converted to an IEEE double and then back to text before use, as is already done for integer values. Report [bugs:/info/2026-10-05T16:22:00Z | 2026-10-05T16:22:00Z]. dan 2026-10-20 16:11:44 +00:00
  • e3a9db8c15 Raise an error if a REGEXP pattern ends with "\\". [bugs:/info/2026-10-20T13:44:52Z|Bug 2026-10-20T13:44:52Z] drh 2026-10-20 15:42:45 +00:00
  • 34a05a3723 Fix handling of GROUP BY and HAVING clauses attached to the rightmost SELECT of a compound SELECT with one or more COLLATE clauses attached to ORDER BY expressions. Report [bugs:/info/2026-10-16T22:06:45Z | 2026-10-16T22:06:45Z]. dan 2026-10-20 15:19:35 +00:00
  • 7697c7d2b9 Fix QRF so that it correctly handles zero-length output appended to the sqlite3_qrf_spec.pzOutput result. [bugs:/info/2026-10-20T13:22:11Z|/info/2026-10-20T13:22:11Z] drh 2026-10-20 14:36:09 +00:00
  • 4f5062f0ba Correctly handle aggregate functions that aggregate over the rows of a window function query, even if they are nested within sub-selects. Report [bugs:/info/2026-10-16T08:07:09Z | 2026-10-16T08:07:09Z]. dan 2026-10-20 14:07:59 +00:00
  • 4855cb2a31 Fix the CLI to correctly handle a ".exit" immediately following a ".output memory". [bugs:/info/2026-10-20T13:13:50Z|Bug 2026-10-20T13:13:50Z] drh 2026-10-20 13:45:54 +00:00
  • 2f641dbdeb Test case changes to handle non-standard configurations. drh 2026-10-20 13:10:11 +00:00
  • a6f89b9d0b Add an extra sqlite3MemoryBarrier() call in sqlite3_initialize() to avoid a race condition that only happens on non-X64 CPUs. [bugs:/info/2026-10-20T07:33:27Z|Bug 2026-10-20T07:33:27Z] drh 2026-10-20 12:42:26 +00:00
  • 3863fd3b40 Do not allow a simplified constant expression (example: "123 ISNULL" → "1") to be used as the ordinal column number in an ORDER BY or GROUP BY clause. [bugs:/info/2026-10-16T12:58:09Z|Bug 2026-10-16T12:58:09Z] drh 2026-10-20 12:07:04 +00:00
  • d89373dc10 Fix a problem causing queries on secure-delete fts5 databases to occasionally return extra, non-matching, rows. Report [bugs:/info/2026-10-18T20:40:47Z | 2026-10-18T20:40:47Z]. dan 2026-10-20 11:13:15 +00:00
  • bf1c107e3a Fix ALTER TABLE RENAME so that it works on triggers that contain UPSERT. [bugs:/info/2026-10-20T03:23:05Z|Bug 2026-10-20T03:23:05Z] drh 2026-10-20 09:49:36 +00:00
  • 5484850c7a Minor fix to ALTER TABLE RENAME COLUMN so that it works on TEMP tables. [bugs:/info/2026-10-19T01:55:31Z|Bug 2026-10-19T01:55:31Z] drh 2026-10-20 09:24:08 +00:00
  • 1f3577bc0c Remove an ALWAYS() that can sometimes be true when using sqlite3_collation_needed() and dropping collations. [bugs:/info/2026-10-18T18:09:53Z|Bug 2026-10-18T18:09:53Z] drh 2026-10-20 09:00:48 +00:00
  • 1f3e5e763d Merge the latest branch-3.54 fixes into trunk drh 2026-10-20 00:17:35 +00:00
  • 17f128f746 Fix an adverse interaction between triggers changing a table that uses ON DELETE SET NULL constraints and the optimization at [8c5dd6cc259e0cda], almost 12 years ago. [bugs:/info/2026-10-19T06:36:47Z|Bug 2026-10-19T06:36:47Z]. drh 2026-10-20 00:14:02 +00:00
  • a0a07447d4 Fix a harmless compiler warning in lemon.c. No changes to the core SQLite. drh 2026-10-19 23:49:15 +00:00
  • a315fb49a2 Fix errors in the decimal_cmp() comparison routine of the decimal extension, and the corresponding "decimal" collating sequence, as reported by [bugs:/info/2026-10-19T06:35:26Z|Bug 2026-10-19T06:35:26Z] drh 2026-10-19 23:22:16 +00:00
  • f6ba5a5abf Correct two bugs, dating back to [96ba44946b|2022-12-23], which caused the JS wrappers of sqlite3_bind_text/blob() to severely misbehave. Add missing tests. [bugs:bbb715c3f2a0e989|Bug report 2026-10-19T19:03:55Z]. stephan 2026-10-19 21:07:18 +00:00
  • 6410c0e4a9 Avoid dropping error codes from the streaming input callback in sqlite3rebaser_rebase_strm(). Report [bugs:/info/2026-10-18T05:31:08Z | 2026-10-18T05:31:08Z]. dan 2026-10-19 20:21:23 +00:00
  • cc04298893 Fix a problem in ALTER TABLE DROP COLUMN that could result in a stale index. [bugs:/info/2026-10-19T06:36:17Z|Bug 2026-10-19T06:36:17Z] drh 2026-10-19 19:40:21 +00:00
  • 154360f1cd Fix a regression in the CLI's handling of control characters in CSV output, caused by [d0fe92e0ce8662b9]. [bugs:/info/2026-10-18T20:38:57Z|Bug 2026-10-18T20:38:57Z]. drh 2026-10-19 19:15:13 +00:00
  • 6a63c4070b Fix a problem in the sessions rebaser occuring when a DELETE/REPLACE rebase record is followed by another rebase record on the same row. Report [bugs:/info/2026-10-18T05:00:41Z | 2026-10-18T05:00:41Z]. dan 2026-10-19 18:57:35 +00:00
  • c01201027e Wasm build: move wasm-strip to after wasm-opt, at recommendation from an Emscripten ticket. Remove several more uses of -sWASM_BIGINT=1, as described for [cc9457981e2a]. stephan 2026-10-19 18:33:02 +00:00
  • ea1e2759a1 Merge the latest branch-3.54 fixes onto trunk drh 2026-10-19 18:26:06 +00:00
  • aa037e12be Correct the handling of SQLITE_IGNORE returns from authorizer calls for UPDATE on the rowid or INTEGER PRIMARY KEY. See the test cases in TH3 for details. drh 2026-10-19 18:20:03 +00:00
  • 16327cc106 JS: resolve a [https://github.com/emscripten-core/emscripten/issues/28016|build regression] triggered by Emscripten 6.0.5+. Remove the -sWASM_BIGINT flag from the build because (A) it's been Emscripten's default for a long time and (B) Emscripten now warns loudly if it's used. Remove a stray build flag from fiddle, inadvertently introduced in [c32cf3e355], which caused it to build in 64-bit mode. stephan 2026-10-19 18:05:25 +00:00
  • 18a23191bf Avoid crashing if an RBU vacuum is attempted with a VFS that does not support RBU. Report [bugs:/info/2026-10-19T12:21:34Z | 2026-10-19T12:21:34Z]. dan 2026-10-19 17:44:46 +00:00
  • 9c6e3568ba Fix JSON parsing to properly recognize a backslash-continuation at the end of a string. [bugs:/info/2026-10-18T04:42:37Z|Bug 2026-10-18T04:42:37Z] drh 2026-10-19 17:24:43 +00:00
  • ee16b84fb6 In the CLI, do not read the ~/.sqliterc file or an alternative specified by the --init command-line option if the --safe option is used. [bugs:/info/2026-10-19T12:32:27Z|Bug 2026-10-19T12:32:27Z] drh 2026-10-19 16:25:28 +00:00
  • c3ba37e71c Update sqldiff so that the script it outputs preserves the full precision of floating point values. This fixes the first of two issues reported by [bugs:/info/2026-10-18T20:38:30Z|Bug 2026-10-18T20:38:30Z] drh 2026-10-19 16:06:56 +00:00
  • c7885735ac Correctly handle compound SELECTs with explicit COLLATE clauses on ORDER BY expressions, even if they appear in a CTE or VIEW definition. Report [bugs:/info/2026-10-19T08:22:22Z | 2026-10-19T08:22:22Z]. dan 2026-10-19 15:14:13 +00:00
  • 55b6ae8606 Apply [5080eb6d7a7a] to a similar case in the JS test suite. stephan 2026-10-19 15:06:38 +00:00
  • d37e0daad3 JS: reject URL arguments which may influence the load path for sqlite3.js and sqlite3.wasm if those values look like they might be remote URLs. sqlite3.mjs (ESM) is unaffected by this. This addresses [bugs:74f052d3d2|bug report 2026-10-19T12:25:33Z] but is a preliminary measure, with follow-ups expected. stephan 2026-10-19 14:50:22 +00:00
  • 853288469d The default floating point format for JSON and INSERT output modes should be "%!0.17" to preserve full binary→text→binary round-trips with no loss of precision. [bugs:/info/2026-10-18T20:37:23Z|Bug 2026-10-18T20:37:23Z]. drh 2026-10-19 14:34:34 +00:00
  • 10586997d9 Fix the ".dump" command in the CLI so that it is not affected by mode settings like --fpfmt, --ifmt, or --textjsonb. [bugs:/info/2026-10-18T20:39:22Z|/info/2026-10-18T20:39:22Z] drh 2026-10-19 12:02:08 +00:00
  • b7defd99b3 Fix a vec1 problem with querying a table within the same transaction as writing it in some configurations. dan 2026-10-19 11:06:06 +00:00
  • cc758d2fba Fix a vec1 problem with issuing a 'rebuild' command within a transaction that has already written to the table. Report [bugs:/info/2026-10-18T20:40:18Z | 2026-10-18T20:40:18Z]. dan 2026-10-19 08:05:27 +00:00
  • 948ad6e798 Fix a vec1 problem with deleting rows that share rowids with tombstone values within transactions. Report [bugs:/info/2026-10-18T20:41:06Z | 2026-10-18T20:41:06Z]. dan 2026-10-19 05:43:09 +00:00
  • 58626f682a Merge branch-3.54 fixes into trunk drh 2026-10-18 23:51:22 +00:00
  • 58f8fe5547 Do not run the OR optimization on the left operand of a LEFT JOIN. [bugs:/info/2026-10-18T16:10:55Z|Bug 2026-10-18T16:10:55Z]. drh 2026-10-18 23:45:59 +00:00
  • b1f3151bb7 If terms on the SELECT on the RHS of a vector IN are removed, then the subquery cannot be reused for other things, since it is now different. [bugs:/info/2026-10-16T22:07:15Z|Bug 2026-10-16T22:07:15Z] drh 2026-10-18 22:48:50 +00:00
  • 623bc0b1d5 Fix harmless compiler warnings. drh 2026-10-18 21:36:55 +00:00
  • 4e512bf10d Fix the decimal extension to correctly deal with NULL parameters. [bugs:/info/2026-10-18T14:25:03Z|Bug 2026-10-18T14:25:03Z] drh 2026-10-18 19:42:52 +00:00
  • dac1b8dc84 Add the SQLITE_LIMIT_CTES option to sqlite3_limit(). The default is 50K. Setting to zero disables the limit. The limit is approximate - it does not actually count CTEs but rather simply refuses to process a CTE with cursor number that exceeds this limit. This is a re-do of the fix for [bugs:/info/2026-10-04T05:35:14Z|Bug 2026-10-04T05:35:14Z] that also avoids the regression reported by [forum:/info/2026-10-16T20:30:17Z|Forum post 2026-10-16T20:30:17Z]. drh 2026-10-18 19:10:13 +00:00