aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | | | Do not allow the EXISTS-to-JOIN optimization if the EXISTS clause is baseddrh2025-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on a view, since that view might expand into a join. FossilOrigin-Name: 872c41feddafcc21a02f1229ce017ceea9f8e309a4dd5b6e323477d67f975947
| * | | | | Improve the early-termination optimization so that it works in queriesdrh2025-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | which use the LIKE optimization in the outer loop. FossilOrigin-Name: b4e4d148243cfcb09aa0aaca30e83812b42e2780073e55c0e8c6e3da16243dfc
| * | | | | Merge the latest trunk fixes and enhancements into the ↵drh2025-07-03
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | empty-table-optimizations branch FossilOrigin-Name: d4f47e04f5880e99a53089e2dd5cde64a7ea44f059d9906b5d11324896546714
| * | | | | | Minor tweaks to the exists-to-join optimization.drh2025-07-03
| | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: 9cb600ad576c68647ed943a0773019312c5f01c9c1ca9ff0bf1214b03a531b48
| * | | | | | Merge in the exists-to-join optimization that has been modifieddrh2025-07-02
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to relax the requirement of having an indexed join constraint. FossilOrigin-Name: 1c1aef2b7feae29066d0330699ab634ef41f5b60cdcd479a60cb1a5409553138
| | * \ \ \ \ \ Merge all the latest trunk enhancements into the exists-to-join branch.drh2024-07-31
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | FossilOrigin-Name: 9084a4c8726a2c7ba1c381886e29c7b86121d531282be0d63d5988d84f6f448d
| | * \ \ \ \ \ \ Merge the latest trunk enhancements into the exists-to-join branch.drh2024-06-27
| | |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: fc643f8a12e9b7448136b281f798e18dfebe0a3df5115d930b965c8a33933e2d
| | * | | | | | | | Do not attempt the exists-to-join optimization if the FROM clause is full.drh2024-06-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: 8e3a1d2850337a902ab36b1d6a0dad4ae35030b71d1e15547f6e7487c1f86d18
| | * | | | | | | | Add tests for the change on this branch.dan2024-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: ae19ff9ba819439fd107e745b6e8e503e5b68bfdb9da58b74035413704ad3caf
| | * | | | | | | | Do not attempt the exists-to-join optimization for expressions from the ON ↵dan2024-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | clause of joins. FossilOrigin-Name: 4666433cbd9af21c2e0440b10bcb39878624a39485e2bb514553b276acb8a401
| | * | | | | | | | Provide the ability to disable the exists-to-join optimization usingdrh2024-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SQLITE_TESTCTRL_OPTIMIZATIONS. Provide tree-trace output for the optimization. FossilOrigin-Name: 33a3f327855b427ae6ba0057218d043a1417bc9d780728f47f23acdd836e1686
| | * | | | | | | | Merge trunk enhancements into the exists-to-join branch.drh2024-06-11
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: 5f25a9518a675efbd0525cc2f5595ee7bc7122be7cfecdf6b20c909185dea370
| | * | | | | | | | | Add missing calls to sqlite3exprSkipCollateAndLikely() to the enchancement ↵dan2024-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | on this branch. FossilOrigin-Name: 078537d057d638389e3ab3bc04bcac53f342c7bf1d8d75222296ef42d09e9ee7
| | * | | | | | | | | Fix a crash that could occur when the SELECT in an EXISTS(SELECT ...) used ↵dan2024-06-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | an unknown collation sequence. FossilOrigin-Name: f3009a6d7facd1ead520d588c5ad089db76d8641cd3dae076f2405492d7defcd
| | * | | | | | | | | Add extra tests for the changes on this branch.dan2024-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: a6365c778f2a6d6fa78e8520553373898f382ce73bf6496533e26291648ef5d1
| | * | | | | | | | | Experimental optimization to rewrite a SELECT with an EXISTS(...) expression ↵dan2024-06-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in the WHERE clause as a join. FossilOrigin-Name: 972a33db0b0e924b78d5309d222d8ea298bd59c72da14ea2d14e8e2caaad1e0a
| * | | | | | | | | | Fix VDBE coveragedrh2025-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: ff593a16d61cc5c588d1737deb822abb90b1759475a4cabfcf608978b1191487
| * | | | | | | | | | Early exit if one of the inner loops of a 3-way or larger join is andrh2025-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | empty table. FossilOrigin-Name: eaad6ac707a5960d9518d4049b7b1759e7512727ce87be3c402408144bda0a97
| * | | | | | | | | | If the LHS for an EXCEPT or INTERSECT operator is empty, skip over thedrh2025-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | computation of the RHS. FossilOrigin-Name: 13f096ae8a850a05d4a8684561066f11693ee66289e6568c44ef32822cca06f6
* | | | | | | | | | | Fix a problem with the fix in [5cb8e342e1].dan2025-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: 043ff54fb746c54bc6cfa6aa8c8a32c876c09d36163125916ad01024b98d447b
* | | | | | | | | | | Fix another problem with running fts5 integrity-check in SQLITE_DEBUG ↵dan2025-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | builds, this one causing an assert() failure. FossilOrigin-Name: 5cb8e342e1d33a0fd04fd022900eeada46a2ee23f15c6abca1b37633e77429d6
* | | | | | | | | | | If SQLITE_DEBUG is defined, fts5 does extra checks as part of ↵dan2025-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | integrity-check. Ensure that errors from these extra checks are only reported if the other, normal, tests all pass. This fixes a test case in fts5corrupt3.test that was failing if SQLITE_DEBUG was defined. FossilOrigin-Name: 98a53fb276fa1fa733da2dd3255c35ce9f6af9b9feef6e76fb577b6d142167a2
* | | | | | | | | | | Fix test case results in FTS5 that were changed error message improvementsdrh2025-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in [48044a6b57c0a16c] but which were omitted from that check-in. FossilOrigin-Name: e1f8e0240b14f1338e947634e840af785e5042a09cd365975e922a13a562f4cd
* | | | | | | | | | | Only run preupdate-hook tests in incrblob4.test if the preupdate-hook is ↵dan2025-07-07
| |_|_|_|_|_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | enabled in the build. FossilOrigin-Name: 56314b6b53c86ae131f780e20b62bdeabccba6d62dda41becc1c4b2e87cee07b
* | | | | | | | | | Rework the fix to the problem described bydrh2025-07-07
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [forum:/forumpost/b9647a113b465950|forum post b9647a113b] so that it provides a more complete fix that covers cases that were not resolved by the original fix, and so that it does not cause performance regressions. FossilOrigin-Name: 28db0d152d90fb5e62d03ea5caceabe8901be98522aef3dc2b54564fbc35355d
| * | | | | | | | | | Simplifications to the row-value IN operator logic. Do not let the querydrh2025-07-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | planner accept a WhereLoop for a row-value IN operator that uses the same index column more than once. FossilOrigin-Name: d2adf61f21a3ce901a2b08199ad0de191e88ef16e097c5f7a75c95ad958eff12
| * | | | | | | | | | Back out the fix at [ba7d5bad32ad6aac] because it does not always work and ↵drh2025-07-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | because it causes a performance regression. Add new test cases for row-value lookups of indexes that contain redundant columns, three of which are currently failing. This branch is seeking an improved solution to the redundant index column problem for row-value lookups. FossilOrigin-Name: ad8ddcefab5cc526b1cd77731e00939c672e61ca83350d28961b67635d20da03
* | | | | | | | | | | Work around the Emscripten 4.10 regression described in ↵stephan2025-07-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [https://github.com/emscripten-core/emscripten/issues/24656 | Emscripten ticket #24656]. Problem reported off-list by BrickViking. FossilOrigin-Name: c385475b250f3364507a95c5832137098a9bb7c7fc12ab3bb116e1fad7bb7645
* | | | | | | | | | | Avoid invoking the preupdate hook from within sqlite3_blob_write() if the ↵dan2025-07-07
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cursor is already invalid. FossilOrigin-Name: 9f335b9a4e9e761a0c6afd6dc69665a24506141bde88530bf59fcbdf957ae881
* | | | | | | | / / Fix parser error introduced by [325e547a2195571e]. Seedrh2025-07-07
| |_|_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [forum:/forumpost/095dbfc06e5b1f7e|forum post 095dbfc06e5]. FossilOrigin-Name: 4eefab44941fc6e17742fa49c8734e7f00a2177d82bc572e596228add53aad39
* | | | | | | | | Add 'reconfigure' target to Makefile.in to re-run the configure script with ↵stephan2025-07-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the same flags it was generated with. FossilOrigin-Name: c60907e77b32824aaaf024d299cdaf161b5f64fc927ffe5d5455eeb5754e6b01
* | | | | | | | | Propagate the -ldl and -lpthread flags, if needed, into sqlite3.pc, per ↵stephan2025-07-04
| |_|_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | request in [forum:44a58c807353162f | forum post 44a58c807353162f]. FossilOrigin-Name: 64f5f14322349b47451b8cac03bf8cd6f1ae45a8822e7f1ddee3d0b265047501
* | | | | | | | Fix harmless compiler warnings.drh2025-07-04
| | | | | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: 13af4acebe09b047756c22b800136cffaba532e7fcaa448a4edf4fedb94e9bbc
* | | | | | | | Remove an ALWAYS() added by [960a8e6fc91f4] that turns out to be falsedrh2025-07-04
| |_|_|_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | in some cases of malformed SQL. FossilOrigin-Name: cc8171461bf35f584888a24b844c8b79ad30155b19b61161e9f3abc276e8aae5
* | | | | | | Fix a few cases where LIMIT clauses that were part of scalar sub-queries on ↵dan2025-07-03
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | virtual tables were not being passed to xBestIndex methods correctly. FossilOrigin-Name: 960a8e6fc91f47add3a089dc6cef013109deadf809994c5149ad3bdfb3884de0
| * | | | | | | Improvements to sqlite3_vtab_rhs_value() logging in thedrh2025-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ext/misc/vtablog.c extension. FossilOrigin-Name: 25131ee84f53dab1191e02c19cefd256aed2828c7edea325fcc0ba3b0a668583
| * | | | | | | Make the value of an explicit LIMIT clause on a scalar sub-query available ↵dan2025-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to xBestIndex for simple "LIMIT 0" and "LIMIT 1" queries. FossilOrigin-Name: 33b6a63caafccc61b3193714911cd8b5dd9b7f1798054b8c7845b23688d531f2
| * | | | | | | Make handling of LIMIT clauses in correlated sub-queries on virtual tables ↵dan2025-07-03
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | more efficient. FossilOrigin-Name: 7214cb2a5b35190a06a1040cd4c54f325d347f8d8e36a07fd76c0a421e266522
* | | | | | | Enhancements to the xBestIndex output from the ext/misc/vtablog.cdrh2025-07-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | extension. FossilOrigin-Name: 8b31acc0b18f38eb4af6efebd1ea25cd65a146651101579aee20afd9ec6dc2de
* | | | | | | Fix an uninitialized variable added yesterday by [d27d34fb746280e7].drh2025-07-03
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This problem was discovered overnight by [https://github.com/google/oss-fuzz|OSSFuzz]. FossilOrigin-Name: 6db4703f1178fc808f3a75c355fb6638fb12c88f6e1ce7f579e200ced8089114
* | | | | | Improve the bytecode for joins such that it exits earlier if it determinesdrh2025-07-02
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | that no output is possible. FossilOrigin-Name: 2d2b61cba44a756a3a41ef5c95bbb0c0b7111f4b679c578fec9bd0b214cca367
| * \ \ \ \ \ Merge trunk fixes into the empty-table-optimizations branch.drh2025-07-01
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | FossilOrigin-Name: 63306e447efb3ac17e789a331ed3bb65459eb8b79d66e9c185ba3bd852f34ce3
| * | | | | | | More aggressive optimization of addrHalt for RIGHT JOIN.drh2025-06-30
| | | | | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: 5e51d1c0dfcafef9e71c99de3f626dee157c935724b84c6e0c630299a880446f
| * | | | | | | Compute WhereLevel.addrBrk and .addrHalt early so that those labels can bedrh2025-06-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | used to abort loops early. Use this to improve performance on two more of the cases described by [forum:/forumpost/52651713ac|forum post 52651713ac]. FossilOrigin-Name: 6fc0b9ac23be6840542982de4bb282ebca1db8b5ab3baefdde95a997c1506e81
* | | | | | | | Ensure that Expr.op2 values for TK_AGG_FUNCTION nodes are adjusted whendrh2025-07-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | query flattening. FossilOrigin-Name: d27d34fb746280e7e81335db4e195914b15403ef0da7b2955550553dd78fbe9a
* | | | | | | | Improved comments on bytecode used to implement aggregate queries, to aiddrh2025-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in debugging. FossilOrigin-Name: a1a8b85cdba64a17dcdcd4e6b42b872957cec2dc05b0ac34dfcd82f59344034b
* | | | | | | | Improved byte-code comments for the short-circuit optimization ofdrh2025-07-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [0083d5169a46104a], to aid in debugging. FossilOrigin-Name: 113f9d10e347eeaa893ff8b47a461009e0b12589374b93cf3e0bddd19c702dea
* | | | | | | | Cache and reuse virtual table cursors in the bytecode engine.drh2025-07-01
| | | | | | | | | | | | | | | | | | | | | | | | FossilOrigin-Name: 2d187d4232d750cb1840f1d89c8aed65962cb0883c1d7f91c554b451e475c514
* | | | | | | | Avoid an assert() failure in fts5 that may occur when processing corrupt ↵dan2025-07-01
| |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | records. FossilOrigin-Name: 8afd6ca85724a69970181042d6aac53742ea2b76ded5966b2541c3afe1121fb9
* | | | | | | When attempting to optimize "expr AND false" to "false" anddrh2025-07-01
|/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "expr IN ()" to "false", take care not to delete aggregate functions in the "expr" as doing so can change the meaning of the query. See [forum:/forumpost/f4878de3e7dd4764|forum thread f4878de3e7]. FossilOrigin-Name: 77397bd67d918db57d5ac545d6d963194806fdabcdaa8f822b6b09e4cfe8b715