aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Fix an uninitialized variable added yesterday by [d27d34fb746280e7].HEADmasterdrh16 hours
| | | | | | 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 determinesdrh40 hours
|\ | | | | | | | | that no output is possible. FossilOrigin-Name: 2d2b61cba44a756a3a41ef5c95bbb0c0b7111f4b679c578fec9bd0b214cca367
| * Merge trunk fixes into the empty-table-optimizations branch.drh3 days
| |\ | | | | | | FossilOrigin-Name: 63306e447efb3ac17e789a331ed3bb65459eb8b79d66e9c185ba3bd852f34ce3
| * | More aggressive optimization of addrHalt for RIGHT JOIN.drh3 days
| | | | | | | | | FossilOrigin-Name: 5e51d1c0dfcafef9e71c99de3f626dee157c935724b84c6e0c630299a880446f
| * | Compute WhereLevel.addrBrk and .addrHalt early so that those labels can bedrh3 days
| | | | | | | | | | | | | | | | | | 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 whendrh2 days
| | | | | | | | | | | | | | | query flattening. FossilOrigin-Name: d27d34fb746280e7e81335db4e195914b15403ef0da7b2955550553dd78fbe9a
* | | Improved comments on bytecode used to implement aggregate queries, to aiddrh2 days
| | | | | | | | | | | | | | | in debugging. FossilOrigin-Name: a1a8b85cdba64a17dcdcd4e6b42b872957cec2dc05b0ac34dfcd82f59344034b
* | | Improved byte-code comments for the short-circuit optimization ofdrh2 days
| | | | | | | | | | | | | | | [0083d5169a46104a], to aid in debugging. FossilOrigin-Name: 113f9d10e347eeaa893ff8b47a461009e0b12589374b93cf3e0bddd19c702dea
* | | Cache and reuse virtual table cursors in the bytecode engine.drh2 days
| |/ |/| | | FossilOrigin-Name: 2d187d4232d750cb1840f1d89c8aed65962cb0883c1d7f91c554b451e475c514
* | When attempting to optimize "expr AND false" to "false" anddrh3 days
|/ | | | | | | "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
* Strive to skip the evaluation of scalar subqueries that are part of adrh3 days
|\ | | | | | | | | | | larger expression if the result from the scalar subquery does not change the result of the overall expression. FossilOrigin-Name: 0083d5169a46104a25355bdd9d5a2f4027b049191ebda571dd228477ec217296
| * For all binary operators, try to avoid computing subquery operands if thedrh4 days
| | | | | | | | | | other operand is NULL. FossilOrigin-Name: d86eb16283c4b573c506d4faa422d5d9aeb6abc279d8e6a8e2104737162d417f
| * Slightly smaller and faster version of the previous check-in.drh4 days
| | | | | | FossilOrigin-Name: f6e6fd02f4ad49c390a2d3c9626d57f9b2fff1f67eb361b30074cc1f5121810e
| * Factor out the code that tries to avoid evaluating subquery operands if thedrh4 days
| | | | | | | | | | | | other operand is NULL into a subroutine, so that it can be more easily reused by other parts of the code generator. FossilOrigin-Name: 3c6c71bcea16443b82234414137dfa1b59e2ee8fe5097906c738fc1228fec4e6
| * Improve the bytecode generated for comparisons so that if one operand isdrh5 days
| | | | | | | | | | | | | | a subquery and the other operand evaluates to NULL, the subquery operand is not even computed. This fixes 5 of the 12 slow queries described in [forum:/forumpost/52651713ac|forum post 52651713ac]. FossilOrigin-Name: f147bc04776ac0056412f69dfc518016c0d5b4e9d964664e3d88f595fb29dbe0
* | Minor API doc typo fixes from brickviking.stephan4 days
| | | | | | FossilOrigin-Name: b48d95191662e09659b5b55ae65cd462c9e1700c4f92dd9d40b59548f0797c02
* | Minor API doc typo fixes from brickviking.stephan5 days
|/ | | FossilOrigin-Name: c7cf9dcb69ce558ba6b81b2787f92ed7383e37f08b199faeb14f7adb4e494532
* Raise an error right away if the number of aggregate terms in a querydrh6 days
| | | | | exceeds the maximum number of columns. FossilOrigin-Name: 5508b56fd24016c13981ec280ecdd833007c9d8dd595edb295b984c2b487b5c8
* API doc typo fixes and closing DD element tags from brickviking.stephan7 days
| | | FossilOrigin-Name: c9ddd15b0197e6e5c5a74581d94cf986523514ffdb28c66ba18de9a22aec97e9
* Work around an apparent GCC UBSAN bug. Seedrh7 days
| | | | | [forum:/forumpost/1d7c25d4a2d6f5e2|forum thread 1d7c25d4a2d] for details. FossilOrigin-Name: 23056532e51abcff486e38a3319545e6663b4a855abe1bc443e2cd7e0473748c
* Minor API doc fixes sent off-list from brickviking.stephan8 days
| | | FossilOrigin-Name: cb4d05633a0c9cdf146f3108e1b4b10754cd79d72a425d8cc9cd21836037a01b
* Similar fix to the previous check-in, but this time fordrh9 days
| | | | | sqlite3_preupdate_new(). FossilOrigin-Name: 9aaff764d508cbd9823f23cdf0c510255721bc5c09be481ebc60bd8902ceb8c5
* Range check the column index on the sqlite3_preupdate_old() interfacedrh10 days
| | | | | | and return SQLITE_MISUSE if too large. [forum:/forumpost/b617e497287235d0|Forum post b617e49728]. FossilOrigin-Name: 6a5701e6c7be25cba93e55438f950966e1dacb32eb2b23a8acc8ac53da6f0a85
* API doc typo fixes and one rephrasing improvement from brickviking.stephan10 days
| | | FossilOrigin-Name: 85e8060c4701a601d4bc8a639acd268ee4f2736193820d55ecd9b8abf864132f
* Fix an SQL typo introduced by the previous check-in.drh10 days
| | | FossilOrigin-Name: 72a81d247bc74a21d077d311969ac585d0f26bffbd210ec60f03c38bf138790e
* Escape the "_" character in LIKE patterns in the CLI.drh10 days
| | | | | [forum:/forumpost/6a89702f5d|Forum post 6a89702f5d]. FossilOrigin-Name: cf61cd359e666c66b6bba4407a653c799f7f07e1f5ee6b837ad467029c461a6a
* Fix a harmless compiler warning injected by [c978aed3b6f82b3d].drh11 days
| | | FossilOrigin-Name: f46500247b3a2f8b4a2f0f032cc4066af9cb3918e38a09c59db0a1da5747a25c
* Improved "statement aborts at ..." log-file messages that identify thedrh11 days
| | | | | trigger that caused the abort. FossilOrigin-Name: 7691264fe37300c880d612c91cf093327841fbe85fb7ec67e777e911d2cfc9ee
* API doc typo fixes from brickviking.stephan12 days
| | | FossilOrigin-Name: 18e07f8f53693d0dace3c4025a572c1a10582290a338aa7f0913c83842a69b05
* Numerous small doc typo from BrickViking.stephan13 days
| | | FossilOrigin-Name: 3aab4415de615c178205936372c625bb571bad1016c3d2e7bb2a45932356f3d6
* Enhance sqlite3BtreeSetPageSize() so that it detects early if no changesdrh14 days
| | | | | are needed and exists with SQLITE_OK. FossilOrigin-Name: c978aed3b6f82b3d9d2e0ca0283c611351bca5e5496e86a9d5d0731ebcd27c84
* Improve the accuracy of sqlite3BtreeRowCountEst().drh2025-06-19
| | | FossilOrigin-Name: e553fb538ec1527457e2927edf9127dccf268a8a3b5918d4fb0d066ad9676094
* Generalize the indexCellCompare() so that works on any index page, not justdrh2025-06-19
| | | | | the current page that a cursor is pointing to. FossilOrigin-Name: b305a7f5db183d8e0e5d62ca3c9c6260ad94bb954f7342bd3caabcd8308a21f5
* A slight doc rephrasing for clarity, suggested in the forum.stephan2025-06-19
| | | FossilOrigin-Name: 0d6084a398edb013fcfb613eff8d75e2f86cbb5e3c8049328ede89e75db93cb3
* Doc typo fixes from [forum:0bce273669 | forum post 0bce273669].stephan2025-06-19
| | | FossilOrigin-Name: 8f97e3f00d24b26fe87a9d3396ad855277a1a369f6f89e9c77dc9af4d203bdf1
* Extend the pedantic enforcement of type to VIRTUAL columns.drh2025-06-18
| | | FossilOrigin-Name: b734c74e55acb26eb61b60937bef870f4b55b2e2e7560a22362f5f31ba2fcd03
* Enforce judgmental typing on STORED generated columns for STRICTdrh2025-06-18
| | | | | tables. [forum:/forumpost/6caf195248a849e4|Forum post 6caf195248]. FossilOrigin-Name: 5e9279bff0482806f86657ae05ca3e916708d138bc3c3ceb3fbf454818649d44
* Change the definition of SQLITE_DYNAMIC to a function that has exactlydrh2025-06-18
| | | | | | the same type as sqlite3_destructor_type, in an effort to work around possible legacy compiler bugs. FossilOrigin-Name: 83553edf78c35d171a0ddf1a51306e963d715e56d95b8159b561b729cfb27843
* Avoid writing frames with no checksums into the wal file if adrh2025-06-17
|\ | | | | | | | | | | savepoint is rolled back after dirty pages have already been spilled into the wal file. FossilOrigin-Name: 5973f9b9aa828ec9274b02a124b95f452c58235eaafffbdda1c32b4ae2d5616d
| * Avoid writing frames with no checksums into the wal file if a savepoint is ↵dan2025-06-17
| | | | | | | | | | rolled back after dirty pages have already been spilled into the wal file. Possible fix for [forum:/forumpost/b490f726db | forum post b490f726db]. FossilOrigin-Name: 3a3269fe8e925a522d5df9f011220a842fb15a9f56e785884e32d2e15abda5bb
* | Fix a corner-case for [9441fff52cc4e19c].drh2025-06-17
|/ | | FossilOrigin-Name: 336a59eb3afd80ce048de472368df6dfc32934ee783859d37663ed8f5cf169a5
* Fix an issue going back to version 3.39.0 with transitive IS constraintsdrh2025-06-16
| | | | | | in queries that make use of RIGHT JOIN. Problem reported by [forum:/forumpost/68f29a2005|forum post 68f29a2005]. FossilOrigin-Name: 9441fff52cc4e19c44df1a77ffe474f409d519b270c7166ce17f99e6ea48fc1e
* Improved debugging output for the transitive constraint optimization.drh2025-06-16
| | | FossilOrigin-Name: 94b53c20e9bc8687c44272419aa7a93076eebdeae9a4f50b95b96a49993f9c0d
* Make the show-%p-az-zero hack of the previous check-in configurable atdrh2025-06-16
| | | | | | run-time using the 0x100000 bit of either .treetrace or .wheretrace. As before, this is all a no-op except for debugging builds. FossilOrigin-Name: a29627d7e7f8344d9a099cc133bda85250b02dc5ee5f358ba59691e0816b5b2d
* Add an "#if 0" that can be changed to "1" to cause all %p output to renderdrh2025-06-16
| | | | | as 0, thus making comparisons of .treetrace and .wheretrace output easier. FossilOrigin-Name: 65e2704c0bc329f3dd248548a2d4edb7d3ace8ceaf0b82b8618b9b1b764884cd
* Have sqlite3_setlk_timeout() take the database handle mutex. This fixes an ↵dan2025-06-12
| | | | | assert() failure that could occur if sqlite3_setlk_timeout() were called on a threadsafe handle. FossilOrigin-Name: a95d126e1330e1b83f42b51f97c4c216622cf38062f3b5d72ccb76313187e850
* Fix the concat_ws() SQL function so that it includes empty strings in thedrh2025-06-11
| | | | | concatenation. [forum:/forumpost/52503ac21d|Forum post 52503ac21d]. FossilOrigin-Name: 80a78987da484d435a8242c05c48d546d430920df713b24a9d9d9fff7ba1113d
* Improved selection of the divisor when subdividing nested Bitvec objects.drh2025-06-10
| | | | | | This fixes a potential stack overflow that can occur when the database size is within 60 pages of the maximum allowed by the file format. FossilOrigin-Name: f7ab764ed9df6d7a4a96cb0933d291f00174f33fed3d9951785078fe225adcb7
* Minor corrections to the new Bitvec testing logic.drh2025-06-10
| | | FossilOrigin-Name: 77b79ca1277419b91589aff2c601d4abdd7107d48019a58f7f7c85d96c2a538e
* Enhancements to sqlite3BitvecBuiltinTest() that allow testing code todrh2025-06-10
| | | | | create very large Bitvec objects that do not use the linear array cross-check. FossilOrigin-Name: c5680672cae23f65637eebf66f3bb983a2864be03ea70378832034f3c89ef728