SQLite

Timeline
Login

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

100 most recent check-ins

2024-07-05
13:55
Use a mini Bloom filter to help reduce the number of pointless searches for prior SubrtnSig objects when generating code for IN operators with subqueries as their right operand. (Leaf check-in: d8cedbe0 user: drh tags: trunk)
10:08
Improved reuse of subqueries associated with IN operators, especially when the IN operator is duplicated due to predicate push-down. (Leaf check-in: 2a07caad user: drh tags: bedrock-3.46)
10:03
When constructing an ephermeral table to use as the right-hand side of an IN operator, also construct a Bloom filter to speed membership testing. (check-in: 557a14a2 user: drh tags: bedrock-3.46)
09:56
Improved reuse of subqueries associated with IN operators, especially when the IN operator is duplicated due to predicate push-down. (check-in: c9a34981 user: drh tags: trunk)
01:05
Small performance optimizations. (Closed-Leaf check-in: 99fd34b5 user: drh tags: reuse-subqueries)
2024-07-04
18:56
Add test cases to in7.test. (check-in: 07817efc user: dan tags: reuse-subqueries)
18:26
Disable the reuse of IN-clause subqueries if the subquery is an explicit "SELECT ALL". The ALL keyword is almost never used in actual practice (most developers don't even know it can be used) so this should not interfere with the optimization, but it does give us a convenient way to turn it off for testing purposes. (check-in: a81299be user: drh tags: reuse-subqueries)
17:49
Update EXPLAIN output to include P4_SUBRTNSIG. (check-in: 61e56923 user: dan tags: reuse-subqueries)
16:57
Be more aggressive about reusing subqueries that appear on the RHS of IN operators that have been replicated due to the predicate push-down optimization. (check-in: 2accf32b user: drh tags: reuse-subqueries)
11:15
Add comment using the name "predicate push-down optimization" to what we have also called "WHERE-clause push down". No changes to code. (check-in: be77fe70 user: drh tags: trunk)
09:45
For shell completion, use pragma_table_xinfo instead of pragma_table_info, so that generated columns are handled, as reported in forum post f0735e05d8d7e857. (check-in: a204ffc0 user: stephan tags: trunk)
2024-07-03
20:30
When constructing an ephermeral table to use as the right-hand side of an IN operator, also construct a Bloom filter to speed membership testing. (Leaf check-in: 0bb306eb user: dan tags: bedrock-3.45-in-bloom)
20:19
When constructing an ephermeral table to use as the right-hand side of an IN operator, also construct a Bloom filter to speed membership testing. (check-in: baa83b46 user: drh tags: trunk)
20:10
Show the creation of IN-operator Bloom filters in the EXPLAIN QUERY PLAN output. (Closed-Leaf check-in: c10a1b99 user: drh tags: in-bloom)
18:56
Add a new sqlite3FaultSim() call to OP_NotFound to use for testing purposes. (check-in: 84fd275b user: drh tags: in-bloom)
17:51
Use a Bloom filter to improve performance of IN operators when the RHS of the IN operator is a subquery. (check-in: 19334965 user: drh tags: in-bloom)
2024-07-02
13:54
Add assert() statements to FTS5 to hush-up warnings from scan-build. (check-in: 77a76654 user: drh tags: trunk)
12:16
Rework the deliberate_fall_through macro along the lines suggested by forum post 7ec11023dd so that it works better with LLVM, while preserving compatibility with MSVC and older GCCs. (check-in: fc248a4a user: drh tags: trunk)
11:30
In the CLI, if the XDG_CONFIG_HOME environment variable is not set, then also search in ~/.config/sqlite3/sqliterc for the initialization file. See forum thread 5cc6d059e9e092ed. (check-in: 33841c9c user: drh tags: trunk)
2024-06-29
15:57
Fix a typo in a comment in a test case. No changes to code. (check-in: f501166d user: drh tags: trunk)
12:22
Add a NEVER() around a branch in sqlite3ExprAffinity() that is designed to prevent an infinite loop, but which can now never be reached due to recent changes. (check-in: da0b7948 user: drh tags: trunk)
2024-06-28
18:21
Update fts5 comment/docs to include the order matches are visited in by the xPhraseFirst/xPhraseNext API. (check-in: e41930ef user: dan tags: trunk)
18:07
Additional steps to make sure calls to sqlite3ExprToRegister() are sane. (check-in: 1c42d717 user: drh tags: trunk)
17:14
Do not convert an expression node that is already TK_REGISTER into a new TK_REGISTER. This is a follow-up to [663f5dd32d9db832] that fixes a bug discovered by dbsqlfuzz. (check-in: fcb669cf user: drh tags: trunk)
2024-06-27
18:18
Avoid 32-bit overflow when calculating ncycle for ".scanstats vm". (Leaf check-in: 78022f90 user: dan tags: bedrock-3.45)
15:03
Merge all the latest trunk enhancements into the recursive-cte-orderby-fix branch. (Leaf check-in: 5f159e54 user: drh tags: recursive-cte-orderby-fix)
14:54
Merge the latest trunk enhancements into the exists-to-join branch. (Leaf check-in: fc643f8a user: drh tags: exists-to-join)
2024-06-26
16:33
Do not use integer constants like 100_000 in the shell code on this branch. They are not supported until 3.46. (check-in: 8362edb4 user: dan tags: bedrock-3.45)
2024-06-24
18:06
Fix an incorrect tcl comment that appeared in many fts5 test files. (check-in: d07085e2 user: dan tags: trunk)
16:08
Fix some problems with calling fts5 api functions from within non-full-text queries. (check-in: 56d265f9 user: dan tags: trunk)
15:05
Enhance the output of ".scanstats vm" to include the absolute number of ticks for each VM instruction, instead of just the percentage of the total. (check-in: d826236e user: dan tags: bedrock-3.45)
14:53
Enhance the output of ".scanstats vm" to include the absolute number of ticks for each VM instruction, instead of just the percentage of the total. (check-in: 15358283 user: dan tags: trunk)
2024-06-20
12:07
Do not attempt the exists-to-join optimization if the FROM clause is full. (check-in: 8e3a1d28 user: drh tags: exists-to-join)
2024-06-19
18:54
Revert Lemon so that it only shows -D options that are actually used. Though the change to display the options in sorted order is retained. (check-in: e54eb217 user: drh tags: trunk)
18:46
In lemon, show all the -D options in the generated header, even if none of them are used. (check-in: 2aa009c3 user: drh tags: trunk)
16:38
Enhance lemon.c so that when it shows the compile-time options in the header comment of the generated output file, it shows all options, even those not used, and it shows them in sorted order. (check-in: eed76e66 user: drh tags: trunk)
11:08
Remove some extraneous flags from the fiddle-debug build. Internal doc tweaks in the main wasm makefile. (check-in: afae2c9e user: stephan tags: trunk)
2024-06-18
22:03
Minor cleanups in the new fiddle build code. (check-in: d356aebd user: stephan tags: trunk)
21:50
Rework the fiddle build to build separate debug and non-debug bundles, with the latter in ./fiddle-debug. (check-in: a9f1758f user: stephan tags: trunk)
20:47
Remove an extraneous CSS file and import its CSS into the one HTML file which uses it. (check-in: 66085ca4 user: stephan tags: trunk)
20:40
Add fiddle-debug make target to ext/wasm. It builds the same target files as a non-debug build, as opposed to a new copy, but adds various debug-related flags. (check-in: 993143c5 user: stephan tags: trunk)
19:36
Add instructions for how to do debugging builds of the CLI on Windows. (check-in: abe81c18 user: drh tags: trunk)
12:19
Update sqlite3_analyzer to report on the number of WITHOUT ROWID tables and to provide separate aggregate statistics for WITHOUT and WITH ROWID tables. (check-in: 41528944 user: drh tags: trunk)
09:58
Internal doc typo fixes, as reported in the forum. No code changes. (check-in: ea16b286 user: stephan tags: trunk)
2024-06-17
13:06
Improve the JS-exception-to-C-result-code conversion to account for the case of a file disappearing while the OPFS VFS is waiting to acquire a lock on it. (Leaf check-in: d34e7880 user: stephan tags: branch-3.46)
2024-06-16
17:06
Remove some dead JS code. (check-in: 754e6e05 user: stephan tags: trunk)
2024-06-14
23:13
Do not omit the ORDER BY clause from a recursive CTE just because the query that contains the CTE also contains an ORDER BY clause. Plus other changes imported from the recursive-cte-orderby-fix branch. (check-in: 13242289 user: drh tags: trunk)
19:27
Fix harmless comment typo. (check-in: ca063802 user: drh tags: recursive-cte-orderby-fix)
18:33
Improvement to treeview.c: Show the DESC and BIGNULL flags when printing out ExprList objects. (check-in: e87966cf user: drh tags: recursive-cte-orderby-fix)
18:06
Add tests for the change on this branch. (check-in: ae19ff9b user: dan tags: exists-to-join)
17:16
Do not omit the ORDER BY clause from a recursive CTE just because the outer query that uses the CTE also contains an ORDER BY clause. (check-in: 5e700f2c user: drh tags: recursive-cte-orderby-fix)
2024-06-12
22:15
Remove some dead JS code. Improve the exception-to-C-result-code conversion to account for the case of a file disappearing while the OPFS VFS is waiting to acquire a lock on it. (check-in: 5bd9fd5f user: stephan tags: trunk)
21:08
Fix a potential db corruption case triggered by the OPFS VFS's xCheckReservedLock() implementation. (check-in: a7cd07d9 user: stephan tags: branch-3.46)
21:01
Remove some JS docs which no longer apply. No code changes. (check-in: f253cab3 user: stephan tags: trunk)
17:01
Do not attempt the exists-to-join optimization for expressions from the ON clause of joins. (check-in: 4666433c user: dan tags: exists-to-join)
15:50
Fix a problem with rolling back hot journals using the unix-dotfile VFS. (check-in: a4470313 user: dan tags: trunk)
15:29
Omit tests that depend on sqlite3_release_memory() in lock5.test when running the memsubsys1 or memsubsys2 permutations. (Closed-Leaf check-in: 9d63033b user: dan tags: unix-dotfile-fix)
12:36
Fix a potential db corruption case triggered by the OPFS VFS's xCheckReservedLock() implementation, as discussed in forum thread a2f573b00cda1372. (check-in: c298b8ba user: stephan tags: trunk)
12:17
Doc updates in JS code. No functional changes. (check-in: 587ed3a5 user: stephan tags: trunk)
11:41
Do not attempt to run hot journal rollback tests in lock5.test with the "inmemory_journal" permutation, which cannot generate hot journals. (check-in: 1e6fa95b user: dan tags: unix-dotfile-fix)
11:39
Slight API doc tweak for xCheckReservedLock(), based on forum feedback. No code changes. (check-in: 2af7a96f user: stephan tags: trunk)
10:17
Improvements to the layout and comments for the new round() implementation. (Leaf check-in: d6b1df1a user: drh tags: round-up-2)
00:30
Test cases for the round() function for values within one epsilon of the 5 round-up threshold. (check-in: 552b1b10 user: drh tags: round-up-2)
2024-06-11
22:47
A second approach to working on the round() function so that it gives a small boost to numbers that are ...49999999 such that they round up. (check-in: 44dd6328 user: drh tags: round-up-2)
20:28
Handle the case where unix-dotfile is used with URI parameter nolock=1. (check-in: 3925a5b9 user: dan tags: unix-dotfile-fix)
20:03
Fix a problem with rolling back hot journals using the unix-dotfile VFS. (check-in: 4ae3300b user: dan tags: unix-dotfile-fix)
18:22
Provide the ability to disable the exists-to-join optimization using SQLITE_TESTCTRL_OPTIMIZATIONS. Provide tree-trace output for the optimization. (check-in: 33a3f327 user: drh tags: exists-to-join)
17:37
Merge trunk enhancements into the exists-to-join branch. (check-in: 5f25a951 user: drh tags: exists-to-join)
17:04
Remove some dead JS code and update some JS docs. (check-in: 6935ac71 user: stephan tags: trunk)
17:04
When compiling shell.c in SQLITE_SHELL_FIDDLE mode, ensure that the shell_main_exit goto label is reachable. (check-in: 06e6f645 user: stephan tags: trunk)
14:36
Change constant expressions to pre-computed constants, because apparently MSVC on ARM requires that. Forum thread 4feb1685cced0a8e. (check-in: 6c103aee user: drh tags: trunk)
2024-06-10
19:45
Add missing calls to sqlite3exprSkipCollateAndLikely() to the enchancement on this branch. (check-in: 078537d0 user: dan tags: exists-to-join)
19:31
Fix a crash that could occur when the SELECT in an EXISTS(SELECT ...) used an unknown collation sequence. (check-in: f3009a6d user: dan tags: exists-to-join)
18:30
The aggressive rounding behavior is now only accessible using the internal sqlite3MPrintf() function. The round() SQL function uses that internal function so it can access the aggressive rounding. But ordinary extensions and the format() SQL function cannot. Update: Superseded by round-up-2 branch (Closed-Leaf check-in: 3dec4b35 user: drh tags: round-up)
18:10
More aggressive rounding behavior for the round() function only. Format() still uses the classic behavior, and the same behavior exhibited by printf() in glibc. (check-in: a1b57288 user: drh tags: round-up)
14:31
Change the rounding behavior of float point to decimal conversions such that if the next digit is 4 but the value is within one epsilon of the next digit being 5 and if the epsilon is small compared the number of digits to be rendered, then go ahead and round up anyhow, even though the correct behavior would be to round down. (check-in: 4a790d3b user: drh tags: round-up)
12:43
Improved header comment on the sqlite3FpDecode() implementation. For the fpdecode() SQL function (available in debug builds only) limit the value of the third parameter (mxRound) to be positive. (check-in: 56af06fa user: drh tags: trunk)
12:29
Check-in contained undesired test code. (Leaf check-in: 43f376ce user: drh tags: mistake)
2024-06-09
18:02
Disable the omit-noop-join optimization when there are 64 or more terms in the ORDER BY clause. (Leaf check-in: d2d37e6d user: drh tags: branch-3.45)
17:58
Disable the omit-noop-join optimization when there are 64 or more terms in the ORDER BY clause. (check-in: a7fe90c1 user: drh tags: branch-3.46)
17:34
Disable the omit-noop-join optimization when there are 64 or more terms in the ORDER BY clause. (check-in: 40de3939 user: drh tags: trunk)
2024-06-08
18:13
Add extra tests for the changes on this branch. (check-in: a6365c77 user: dan tags: exists-to-join)
2024-06-07
21:00
Experimental optimization to rewrite a SELECT with an EXISTS(...) expression in the WHERE clause as a join. (check-in: 972a33db user: dan tags: exists-to-join)
19:48
At attempt at improving the performance of unixRead(). Partly successfuly, but the improvement is not that much and there is question whether or not the improvement is worth the extra complication and code space. (Leaf check-in: aebc790a user: drh tags: fast-read)
00:20
Allow the query planner access to the argument of LIMIT even if that argument is a bound parameter. (Leaf check-in: 148d505c user: drh tags: branch-3.28)
2024-06-06
23:56
Allow the query planner access to the argument of LIMIT even if that argument is a bound parameter. (check-in: c4a9dda2 user: drh tags: trunk)
23:22
Omit bogus tests accidentally added by the privious commit. (Closed-Leaf check-in: e94dfe99 user: drh tags: var-in-limit)
16:06
Better optimize queries that use parameters in the LIMIT clause. (Closed-Leaf check-in: b44f2676 user: drh tags: branch-3.28-var-in-limit)
15:03
Better optimize queries that use parameters in the LIMIT clause. (check-in: e58cb304 user: drh tags: var-in-limit)
12:22
Re-enable [dcc2bb2c562e97e090174], as [296eeb26c816bc73] corrects the wasi-sdk build problem the former check-in triggered. Reported in forum post 143e40d7f4e79c66. (check-in: f66608bd user: stephan tags: trunk)
01:21
Adjust the parser so that the value of TK_ISNOT is similar to the value of TK_IS. This helps the compiler generate faster switch() statements on the Expr.op fields when there are cases for TK_ISNOT and other common operators. (check-in: 34f05c3d user: drh tags: trunk)
01:00
Small performance optimization in the operatorMask routine of the WHERE clause analysis logic. (check-in: 9d69fc1c user: drh tags: trunk)
00:49
Small performance optimization in the allowedOp() routine of the WHERE clause analysis code. (check-in: 4ba8be54 user: drh tags: trunk)
2024-06-05
20:54
Harmonize function names. (Leaf check-in: db43d7aa user: mistachkin tags: concatb)
20:52
Add an experimental concatb() function. (check-in: 07d84202 user: mistachkin tags: concatb)
20:50
Fix harmless compilation issues seen with MSVC. (check-in: 816d4749 user: mistachkin tags: trunk)
20:41
Small performance optimization in the codeEqualityTerm() routine of the code generator. (check-in: 8080c6ea user: drh tags: trunk)
16:50
Fix an fts5 problem with secure-delete mode causing integrity-check to erroneously report a corrupt index. (check-in: 0a7fa0a4 user: drh tags: branch-3.46)
14:47
Fix an fts5 problem with secure-delete mode causing integrity-check to erroneously report a corrupt index. (check-in: 80bef4d6 user: dan tags: trunk)
11:36
Fix a very obscure issue where the name resolver could get confused if aliases like "sqlite_schema" or "sqlite_master" were used in a query involving the sqlite_temp_schema table. (check-in: a096eb75 user: dan tags: trunk)
OSZAR »