Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
100 check-ins using file src/printf.c version fb31597cf9
2023-03-22
| ||
16:01 | In the CLI, the magic parameter :inf and :nan bind floating point values Infinity and NaN, respectively, as an aid to testing SQLite's handling of those quantities. (check-in: c70a61d8fb user: drh tags: trunk) | |
14:51 | Update the version number for the TEA tarball to 3.42.0, to match the core. (check-in: 03e6918e7f user: drh tags: trunk) | |
2023-03-21
| ||
14:20 | Add ALWAYS() on a branch this is always true now due to [84417bbd144b2197]. (check-in: badf7d0e3c user: drh tags: trunk) | |
12:29 | Add the fuzzcheck-asan.exe target to the MSVC makefile. (check-in: 0901bc0278 user: drh tags: trunk) | |
11:56 | Add the fuzzcheck-asan target to the main posix makefile. (check-in: 55e94adddb user: drh tags: trunk) | |
11:13 | Fix a valgrind error and potential buffer overread when handling a corrupt database. (check-in: b1e0cd6444 user: dan tags: trunk) | |
2023-03-20
| ||
20:22 | Reinsert two NEVER() macros for b-tree branches that were previously needed for [b6a82f3c3b9d89fd] but which are now obsolete due to [73f0036f045bf371]. Later: dbsqlfuzz quickly found new cases for which those two branches are needed. The new test cases have been added to TH3. (Closed-Leaf check-in: 3065dadb3e user: drh tags: backout) | |
18:35 | Minor change to btreeNext() to facilitate coverage testing. (check-in: 20b3ef04d8 user: drh tags: trunk) | |
14:59 | Fix a problem causing a cursor to retain an out-of-date cell-info cache when processing a DISTINCT query on values that are identical according to their collation sequence, but different on disk. Forum post e123e6cde4. (check-in: 1b3abc1dae user: dan tags: trunk) | |
10:43 | Back out the extra margin added to the input buffer of the CLI, as it is not needed. (check-in: ac8d1e5de5 user: drh tags: trunk) | |
01:55 | A better fix for the sqlite3_error_offset() problem on generated columns. (check-in: 770b3e67c8 user: drh tags: trunk) | |
00:53 | Expression errors in generated columns should not generate non-negative sqlite3_error_offset() returns. Second of two defenses against [33aa4c0de8a62e33]. (check-in: 2adb4e0dda user: drh tags: trunk) | |
00:48 | When reporting errors in the CLI, ignore the output of sqlite3_error_offset() if the value returned is clearly out-of-range. One of two lines of defense against [33aa4c0de8a62e33]. (check-in: 26adbb80f5 user: drh tags: trunk) | |
2023-03-19
| ||
21:48 | Increase the size of ref-count values in the pager layer to 64-bits, to avoid any reasonable possiblity of overflowing the counters. There is a performance and memory penality for this. Forum post b741f15a35. (check-in: 6c5d99a813 user: drh tags: trunk) | |
2023-03-18
| ||
16:12 | Avoid a buffer overread in fts3 that could occur when processing a corrupt record. (check-in: 02ac2297ab user: dan tags: trunk) | |
2023-03-17
| ||
19:18 | Add the ability to name functions using one of the join keywords like CROSS FULL INNER LEFT NATURAL OUTER RIGHT. (check-in: 0910b1925e user: drh tags: trunk) | |
19:07 | Add test cases for functions named the same as join keywords. (Closed-Leaf check-in: 94944b239c user: drh tags: functions-named-left) | |
14:18 | Fix a potential buffer overread in the recovery extension. (check-in: 0b3b5bf959 user: dan tags: trunk) | |
10:43 | Ensure that an error does not delete the Table object out from under the xConstruct method of a virtual table. dbsqlfuzz 7cc8804a1c6d4e3d554d79096e6ea75a7c1c7d2d (check-in: df4928c92b user: drh tags: trunk) | |
00:42 | Add safety margin on the CLI input buffer for tickets [33aa4c0de8a62e33], [b97e6c5e6a91d97f], [2971fbe3f993e95a], and [2971fbe3f993e95a]. (check-in: 741af08af1 user: drh tags: trunk) | |
00:01 | Fix assert() statements that would (incorrectly) fire if an IF NOT EXISTS trigger that already exists contained two or more RETURNING clauses. Tickets [89d259d45b855a0d] and [d15b3a4ea901ef0d]. (check-in: 648899e4de user: drh tags: trunk) | |
2023-03-16
| ||
20:54 | Correctly handle SELECT DISTINCT ... ORDER BY when all of the result set terms are constant and there are more result set terms than ORDER BY terms. Fix for these tickets: [c36cdb4afd504dc1], [4051a7f931d9ba24], [d6fd512f50513ab7]. (check-in: 12ad822d9b user: drh tags: trunk) | |
12:28 | Additional debug/test output from the query invariant checker showing the row-number that is being checked. (check-in: e4b6eb58e6 user: drh tags: trunk) | |
11:50 | Update the tracing output for the query-invariant checker such that it shows the SQL that is run to verify that a found query-invariant discrepency is valid. Changes to testing logic only. (check-in: 8f45ad2740 user: drh tags: trunk) | |
10:17 | Do not use the one-pass optimization on an UPDATE if there is a subquery in the WHERE clause, since if the subquery is hidden behind a short-circuit operator, the subquery might not be evaluated until after one or more rows have been updated. Fix for the problem reported by forum post 0007d1fdb1. This is the same problem that was fixed by [73f0036f045bf371] only for UPDATE instead of DELETE. (check-in: 2c56b984a0 user: drh tags: trunk) | |
09:07 | Remove a NEVER() from btreeNext() that dbsqlfuzz 460aa158f9a2c41145831cc924296cde1f312b3f found could sometimes be reached. I will find a way to test that branch later. (check-in: 1dffeffe15 user: drh tags: trunk) | |
02:30 | Another approach at attempting to contain the damage caused by corruption that leaves MemPage.isInit clear. Works better than the previous but is still not perfect. (Closed-Leaf check-in: ba964eb0f3 user: drh tags: corruption-in-btree-init) | |
01:20 | When the btreeInitPage() routine detects database corruption, it should continue to the end and set MemPage.isInit before it returns SQLITE_CORRUPT, because if it leaves MemPage.isInit unset, then can cause difficulty later. dbsqlfuzz 460aa158f9a2c41145831cc924296cde1f312b3f (check-in: 44e83f8b8f user: drh tags: corruption-in-btree-init) | |
2023-03-15
| ||
17:58 | Disallow the one-pass optimization for DELETE if the WHERE clause contains a subquery. Fix for the problem reported by forum post e61252062c9d286d. This fix is more restrictive than necessary. It could be relaxed if the subquery does not involve the table that is the subject of the DELETE. (check-in: 73f0036f04 user: drh tags: trunk) | |
13:53 | Fix a broken assert() in the recovery extension. (check-in: 4c4e66f293 user: dan tags: trunk) | |
2023-03-14
| ||
20:08 | Fix Bloom filters on an expression index. forum post 2e427099d5 and forum post d47a0e8e3a. This problem goes back to the original introduction of Bloom filters (check-in [633bfeeea2bccdd4]) for SQLite version 3.38.0. (check-in: c028fb669a user: drh tags: trunk) | |
2023-03-13
| ||
16:08 | Include CLI's tip for -- in all builds. Better show optionality of its non-option arguments. (check-in: 9e2c771daa user: larrybr tags: trunk) | |
2023-03-11
| ||
23:21 | The check-in at [198b3e33dcfd74c7] caused a performance regression for some queries, which is here fixed. Problem reported by forum post b405033490fa56d9. (check-in: dc9f025dc4 user: drh tags: trunk) | |
12:27 | Allow functions named using keywords "CROSS", "FULL", "INNER", "LEFT", "NATURAL", "OUTER", and "RIGHT". (check-in: eeac3d5ec9 user: drh tags: functions-named-left) | |
00:15 | CLI help to reflect no-more-options option (check-in: 30d95a12eb user: larrybr tags: trunk) | |
2023-03-10
| ||
21:27 | Fix a typo in a comment. No code changes. (check-in: 76acc07540 user: drh tags: trunk) | |
20:54 | Give CLI a no-more-options option. (--) (check-in: 0822788752 user: larrybr tags: trunk) | |
13:36 | Fix a problem with the fts5 snippet() function that shows up when snippets just 1 token in length are requested. (check-in: 96d5116d17 user: dan tags: trunk) | |
11:57 | Export SQLITE_FCNTL_RESET_CACHE to JS. (check-in: 6195cfc86b user: stephan tags: trunk) | |
2023-03-09
| ||
22:09 | Replace a lingering use of 'self' with 'globalThis' in JS code, for node compatibility. (check-in: 7e3782b5aa user: stephan tags: trunk) | |
16:11 | Reinstate some test cases accidentally removed by [cb023fe28560ce0f]. (check-in: 870de61f8e user: dan tags: trunk) | |
15:08 | Fix countofview.test so that it works with SQLITE_OMIT_PROGRESS_CALLBACK builds. (check-in: 2fc7c3fcee user: dan tags: trunk) | |
08:51 | Experimental addition of sqlite3-node.mjs, for node.js, based on feedback from forum post ac7a94d4f77db235 and related off-list discussions. Build changes only - no code changes. (check-in: a5db97fa17 user: stephan tags: trunk) | |
2023-03-08
| ||
23:05 | Fix a possible NULL pointer dereference due to the sqlite3_interrupt() enhancement at [bd8fa10e59f58886]. Reported by forum post f5a2b1db87. (check-in: 84417bbd14 user: drh tags: trunk) | |
22:48 | Backout the OP_MakeRecord optimization as it does not work. (check-in: 25017312d0 user: drh tags: trunk) | |
18:05 | Export the new SQLITE_CHANGESETAPPLY_IGNORENOOP flag to JS. (check-in: ac7359b263 user: stephan tags: trunk) | |
18:03 | Add the SQLITE_CHANGESETAPPLY_IGNORENOOP flag, which may be passed to sqlite3changeset_apply_v2() to have it ignore changes that would be no-ops if applied to the database (e.g. deleting a row that has already been deleted), instead of considering them conflicts. (check-in: cb023fe285 user: dan tags: trunk) | |
17:09 | Small performance improvement in the OP_MakeRecord opcode. (check-in: ca89daef0f user: drh tags: trunk) | |
14:28 | Change to [44135d6ea84f7ba6] that retains the historical datatype ("INT", not "NUM") for a table created as follows: "CREATE TABLE t1 AS SELECT CAST(123 AS INT) AS value;". The use of FLEXNUM only occurs on compound queries. (check-in: 6d5b589626 user: drh tags: trunk) | |
10:05 | Extend wasm build to support a custom sqlite3.c to support building against sqlite3-see.c. The JS code now binds the SEE-specific functions if it detects an SEE build. (check-in: dd8612c8ad user: stephan tags: trunk) | |
00:47 | Fix a problem in the count-of-view optimization that can lead to incorrect bytecode. dbsqlfuzz 23d782160b71c3f8f535ccb2da313dfc8eb8c631. (check-in: f45009533a user: drh tags: trunk) | |
2023-03-07
| ||
23:47 | Fix a bug introduced 4 days ago by [e95439119ac200cb]: do not set the Expr.affExpr field of a generated column expression if the expression is a RAISE() function, as affExpr has a different meaning for RAISE. Forum post b312e075b5. (check-in: 1096b5a7cc user: drh tags: trunk) | |
19:39 | A proposed change to [44135d6ea84f7ba6] that retains the historical datatype ("INT", not "NUM") for a table created as follows: "CREATE TABLE t1 AS SELECT CAST(123 AS INT) AS value;". (Closed-Leaf check-in: a0e54fe205 user: drh tags: flexnum-proposed-fix) | |
19:23 | Improve how sqlite3.initWorker1API() determines whether it's running in a Worker thread. Based on feedback in forum post ac7a94d4f77db235. (check-in: 2f712b836a user: stephan tags: trunk) | |
19:12 | Replace use of 'self' in JS code with 'globalThis', as that works in browsers and node environments. Avoid using globalThis.location if it's not set (e.g. in node). Based on feedback in forum post ac7a94d4f77db235. Minor JS build tweaks. (check-in: dbbe8f25e5 user: stephan tags: trunk) | |
12:59 | In the JS sqlite3.vfs/vtab utility APIs, use a local reference to StructBinder instead of sqlite3.StructBinder, as that object is removed from the sqlite3 namespace during the final steps of API initialization. Based on feedback from forum post d19d96183badca70. (check-in: 0d89885d28 user: stephan tags: trunk) | |
02:24 | Fix a couple minor spacing issues in the MSVC makefile. (check-in: 46b3ac6d1f user: mistachkin tags: trunk) | |
2023-03-06
| ||
23:39 | Repair an unintential fork. (check-in: 8b524c849f user: drh tags: trunk) | |
23:38 | Improvements to query invariant testing such that it uses the new SQLITE_DBCONFIG_REVERSE_SCANORDER opcode to sqlite3_db_config() to make more accurate judgements about when a query is ambiguous, and hence when query invariant testing is approprate. (check-in: be9ab292cd user: drh tags: trunk) | |
21:38 | Cause CLI to fail noisily when deserialize option used for non-seekable "file". (check-in: 24bd7e8247 user: larrybr tags: trunk) | |
19:04 | Add SQLITE_DBCONFIG_REVERSE_SCANORDER for direct C-language access to the "PRAGMA reverse_unordered_selects" setting. (check-in: 83e84531b4 user: drh tags: trunk) | |
2023-03-05
| ||
07:44 | Rename sqlite3-worker1-bundler-friendly.js to sqlite3-worker1-bundler-friendly.mjs and refactor it to work as an ES6 module, based on feedback in forum post a255f89c2eadf4c4. (check-in: af312b1314 user: stephan tags: trunk) | |
07:33 | Correct rendering of error messages in demo-worker1.js. Remove some stray EOL whitespace. (check-in: 1d5d515ad9 user: stephan tags: trunk) | |
2023-03-04
| ||
15:36 | Fix to check-in [b9190d3da70c4171] - the agg-with-indexed-expr optimization requested by ticket [99378177930f87bd] - that can cause an incorrect answer if an aggregate subquery has a GROUP BY clause, and that GROUP BY contains a term that is not in the result set, and the outer query makes use of expression indexes. Problem reported by forum post a68313d054. (check-in: e069738769 user: drh tags: trunk) | |
12:57 | Show the output value from OP_AggFinal when doing byte-code tracing. (check-in: 35f10a06ba user: drh tags: trunk) | |
2023-03-03
| ||
21:17 | Make the SQLITE_DBCONFIG_STMT_SCANSTATUS option on by default in the CLI. (check-in: 5a09191186 user: dan tags: trunk) | |
19:56 | Fix a vdbe-coverage macro added by [f418bdd627e84e7d]. (check-in: 77f559d264 user: drh tags: trunk) | |
19:43 | Follow-up to [e95439119ac200cb] to fix a case where a pointer is NULL due to OOM. (check-in: 2535bc8c25 user: drh tags: trunk) | |
18:35 | Enhance PRAGMA integrity_check so that it can detect when there are extra bytes at the end of an index record, which might cause OP_IdxRowid to malfunction. dbsqlfuzz c1aa3986534d5feab8d21f28b3c1712df2ef358ba. Test case in TH3. (check-in: f418bdd627 user: drh tags: trunk) | |
16:25 | When it is known when preparing a statement that X cannot be NULL or is always NULL, transform the expression (X IS NULL) to integer value 1 or 0 instead of 'true' or 'false'. This is because under some circumstances, "Y IS TRUE" or "Y IS FALSE" may not be equivalent to "Y IS 1" of "Y IS 0". This problem was introduced by [de9c86c9e4cdb34f] and was reported by forum post 2cd11c2d37. (check-in: cc4bb05b36 user: dan tags: trunk) | |
15:12 | Do not use an expression index on a generated column if generated column has the wrong affinity. dbsqlfuzz 65f5eb57f8859344d5f1f33e08c77ee12960ed83 (check-in: e95439119a user: drh tags: trunk) | |
10:42 | Remove unnecessary call to sqlite3_dbdata_init() from shell.c.in. (check-in: c4d083a3ae user: dan tags: trunk) | |
2023-03-02
| ||
13:49 | When flattening the right operand of a LEFT JOIN (check-in [41c27bc0ff1d3135]), ensure that the OP_IfNullRow opcode does not NULL-out a subquery result that was computed within OP_Once. This fixes the problem problem reported by forum post 402f05296d. (check-in: 8fe13f7a5e user: drh tags: trunk) | |
06:58 | Resolve a parallel build timing issue when building sqlite3.c/h from ext/wasm. For the time being, do not add sqlite3_wasm_extra_init.c to fiddle.wasm because it can cause duplicate definitions of extensions which are already built into the shell (a better resolution for this conflict is pending). No longer add sqlite3_wasm_extra_init.c to speedtest1.wasm because it's useless there. (check-in: 75fdd5b83b user: stephan tags: trunk) | |
05:51 | Rename some vars in the ext/wasm makefiles for consistency's sake. (check-in: c23589d92c user: stephan tags: trunk) | |
2023-03-01
| ||
20:23 | When flattening a view that is the right operand of a LEFT JOIN, using the optimization of check-in [41c27bc0ff1d3135], always insert the TK_IF_NULL_ROW expression nodes, even for TK_COLUMN expressions, as the TK_COLUMN might be a column from an outer query and hence still need to be NULLed out. This fixes the problem described by forum post 26387ea7ef. (check-in: 198b3e33dc user: drh tags: trunk) | |
15:21 | Follow-up to [bbaf1f2eb1e1637b]: Make sure subtypes do not cross a subquery boundary even if the function that returned the value with a subtype is buried down inside a larger expression. This fixes a problem identified by forum post 37dd14a538. (check-in: e72661eb68 user: drh tags: trunk) | |
13:54 | Do not attempt to apply the count-of-view optimization to a CTE. dbsqlfuzz ef8623915d843b150c159166ee4548c78cc6895a (check-in: abc3a38363 user: drh tags: trunk) | |
2023-02-28
| ||
21:23 | Activate SQLITE_DBCONFIG_STMT_SCANSTATUS in fuzzcheck. (check-in: 4fe1419ac3 user: drh tags: trunk) | |
20:06 | Updates to speedtest1.c and the speed-check.sh test script so that they work with the new SQLITE_DBCONFIG_STMT_SCANSTATUS control. (check-in: bd02df052e user: drh tags: trunk) | |
20:04 | Change the name of SQLITE_DBCONFIG_STMT_SCANSTATS to SQLITE_DBCONFIG_STMT_SCANSTATUS. (check-in: a63e4a150b user: dan tags: trunk) | |
19:39 | Add an sqlite3_db_config() option - SQLITE_DBCONFIG_STMT_SCANSTATS - for enabling and disabling the collection of sqlite3_stmt_scanstats() statistics in SQLITE_ENABLE_STMT_SCANSTATUS builds. Collection of statistics is disabled by default. (check-in: 0f5579bef2 user: dan tags: trunk) | |
18:06 | Only use a Bloom filter on an automatic index if one or more of the key columns in the index can take on non-TEXT values. (check-in: 5916705c73 user: drh tags: trunk) | |
14:28 | In the Bloom filter optimization, hash all strings and blobs into the same value, because we do not know if two different strings might compare equal even if they have different byte sequences, due to collating functions. Formerly, the hash of a string or blob was just its length. This could all be improved. Fix for the issue reported by forum post 0846211821. (check-in: 090304b870 user: drh tags: trunk) | |
13:46 | When an automatic index creates a Bloom filter, show that in the EXPLAIN QUERY PLAN output. (check-in: d7b2ac1c1a user: drh tags: trunk) | |
12:31 | Performance optimization in the varint decoder for the cell parser. (check-in: b2b91c7cb4 user: drh tags: trunk) | |
11:02 | Improve the error message generated by the recovery extension if it is used with a non-SQLITE_ENABLE_DBPAGE_VTAB build. (check-in: c1f2a1d55c user: dan tags: trunk) | |
2023-02-27
| ||
21:53 | Make the "unref" operation on database pages a method which is part of the PgHdr object. This is a potential performance optimization. (Leaf check-in: 37c5c8aa0e user: drh tags: unref-opt) | |
18:55 | Minor performance optimization in the computation of an affinity string for an index. (check-in: 07334aa17b user: drh tags: trunk) | |
14:48 | Further to [46639f682975dac6], the parameters of a table valued function that is on the left side of a RIGHT JOIN do not need to be in the ON clause. Add new test cases and tags to associated test cases with the code. (check-in: 18ee689de3 user: drh tags: trunk) | |
07:23 | Minor doc tweak for the previous commit. (check-in: a8832164d3 user: stephan tags: trunk) | |
07:12 | Extend wasm build to enable inclusion of client-custom C code, initialized via the SQLITE_EXTRA_INIT mechanism, per discussion in forum post 1e1c04f3ed1bc96b. (check-in: 68a52cafff user: stephan tags: trunk) | |
2023-02-26
| ||
20:57 | When a table-valued function appears as the right table of a RIGHT JOIN, the argument constraints on the table-valued function should be considered part of the ON clause of the RIGHT JOIN. Fix for the problem reported by forum post 422e635f3beafbf6. Test cases in TH3. Possibly related to the enhancement at [501609eddf2a46d5]. (check-in: 46639f6829 user: drh tags: trunk) | |
19:36 | Correct substantive error (DML and DQL versus DML) of last check-in. (Leaf check-in: 703fa854f7 user: larrybr tags: db_config_ops_rewrite) | |
19:10 | Revise doc for SQLITE_DBCONFIG_* options, for clarification and coverage of all vararg parameters. Also, a grammo nit swat. (check-in: aa25596b1e user: larrybr tags: db_config_ops_rewrite) | |
11:36 | In the omit-unused-subquery-columns optimization, be sure to remove the EP_Skip and EP_Unlikely flags from the result set expressions that get nulled-out. dbsqlfuzz bf1d3ed6e0e0dd8766027797d43db40c776d2b15. (check-in: 21aec65e5e user: drh tags: trunk) | |
2023-02-25
| ||
16:03 | Split out a new variant of cellSizePtr() that applies only to leaf pages, for a small performance increase. (check-in: 22d32eef87 user: drh tags: trunk) | |
15:34 | Remove an unnecessary and redundant corruption checks in defragmentPage(). (check-in: 2dc7342e12 user: drh tags: trunk) | |
15:15 | Revert (mostly) to earlier CLI response to -echo and SQL at the command line. (check-in: 1c6cfcf6ed user: larrybr tags: trunk) | |
12:50 | Performance optimization on sqlite3_vsnprintf(). (check-in: 4430e6e96d user: drh tags: trunk) | |