Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
113 check-ins for the month beginning 2021-02-01
Following month ↑
2021-02-28
| ||
08:24 | Initialize extra field in PgHdr1 to fix an msan complaint. (check-in: 4cb2ea5795 user: dan tags: msan-fix) | |
2021-02-27
| ||
15:32 | Add OOM test case associated with the fix in the previous commit. (check-in: a631c38d22 user: dan tags: trunk) | |
15:12 | Remove a NEVER() that might sometimes be tree following an OOM. (check-in: ccb8cf5256 user: drh tags: trunk) | |
2021-02-26
| ||
21:39 | Fix a segfault that could occur when optimizing a NOT NULL constraint against an IPK column of a sub-query. (check-in: e4d1970ef1 user: dan tags: trunk) | |
20:39 | Attempt to optimize "x IS NULL" and "x IS NOT NULL" expressions when x is a column with a NOT NULL constraint. This addresses the performance issue described by forum post a5fc33cf9d8f4ff5. (check-in: de9c86c9e4 user: dan tags: trunk) | |
20:14 | Attempt to optimize "x IS NULL" and "x IS NOT NULL" expressions when x is a column with a NOT NULL constraint. (Closed-Leaf check-in: 5ecd842555 user: dan tags: ifnull-opt) | |
15:20 | Minor simplification in resolve.c. (check-in: 310dac342e user: dan tags: trunk) | |
2021-02-25
| ||
18:28 | Fix test case in altercorrupt.test so that it works with SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds. (check-in: 062b338ff2 user: dan tags: trunk) | |
18:23 | Fix a problem with UPDATE and DELETE statements that use both INDEXED BY and LIMIT clauses in SQLITE_ENABLE_UPDATE_DELETE_LIMIT builds. (check-in: cc2b4b3866 user: dan tags: trunk) | |
16:55 | Fix handling of INSERT on views with implicitly named hidden columns in SQLITE_ENABLE_HIDDEN_COLUMNS builds. (check-in: 15795a96a8 user: dan tags: trunk) | |
15:50 | Ensure that tests like "rbu.test" and "notify2.test" that are only run by specific configurations during release testing are run for both release and debug versions of the tests. (check-in: 911df43f98 user: dan tags: trunk) | |
2021-02-23
| ||
16:40 | When a sub-transaction is released, if no pages required by containing sub-transactions were journaled, truncate the statement journal. This prevents out of control statement journal growth in some cases. See forum thread e78ffd751185a67e for context. (check-in: 23ca23894a user: dan tags: trunk) | |
15:53 | Allow WHERE terms to be pushed down into sub-queries that contain window functions, provided that the WHERE term is made up of entirely of constants and copies of expressions found in the PARTITION BY clauses of all window functions in the sub-query. (check-in: 2068946810 user: dan tags: trunk) | |
15:36 | Further tests for the push-down optimization with window functions. (Closed-Leaf check-in: 4b089f7011 user: dan tags: window-functions-pushdown) | |
2021-02-22
| ||
20:56 | Allow WHERE terms to be pushed down into sub-queries that contain window functions, provided that the WHERE term is made up of entirely of constants and copies of expressions found in the PARTITION BY clauses of all window functions in the sub-query. (check-in: dac51f303b user: dan tags: window-functions-pushdown) | |
19:57 | Add a few simple test cases for MATERIALIZED and NOT MATERIALIZED. (check-in: 64878124c1 user: drh tags: trunk) | |
16:42 | Implement the MATERIALIZED and NOT MATERIALIZED hints on common table expressions. (check-in: b5a0778cc5 user: drh tags: trunk) | |
15:44 | When a sub-transaction is released, if no pages required by containing sub-transactions were journaled, truncate the statement journal. This might prevent out-of-control statement journal growth in some cases. (Closed-Leaf check-in: e36327fb22 user: dan tags: stmt-jrnl-truncate) | |
14:25 | Add an ALWAYS() on a branch that is now unreachable. (Closed-Leaf check-in: ace54c5bd5 user: drh tags: as-materialize-redux) | |
11:07 | Fix inverted logic regarding the materialization hint on the push-down optimization. (check-in: b66a495708 user: drh tags: as-materialize-redux) | |
03:04 | Add the AS MATERIALIZED and AS NOT MATERIALIZED syntax that works like it does in PostgreSQL. (check-in: a6bb272ec0 user: drh tags: as-materialize-redux) | |
2021-02-21
| ||
23:44 | Materialize any CTE that is used more than once. (check-in: ba59159fbe user: drh tags: as-materialize-redux) | |
21:04 | Rename the "struct SrcList_item" object to the more succinct "SrcItem". This is a symbolic change only. The logic is unmodified. (check-in: bfd5bf2c73 user: drh tags: trunk) | |
01:19 | Simplified resolution of CTE names. Slightly faster and about 100 bytes of code smaller. (check-in: 0d2c992f36 user: drh tags: trunk) | |
2021-02-20
| ||
21:20 | Performance improvement in resolving the INDEXED BY index name for the common case where there is no INDEXED BY clause. (check-in: 554b286ac2 user: drh tags: trunk) | |
19:22 | Fix a case where FTS3/4 could pass a NULL pointer to memcpy() when handling a corrupt db. (check-in: 68bb541a39 user: dan tags: trunk) | |
18:02 | Update sqlite3changeset_apply_v2() so that it handles no-op UPDATE changes (UPDATE changes that modify no columns). This fixes a regression introduced by [e4ccfac09b]. Also modify sqlite3rebaser_rebase() so that it does not output changesets containing such UPDATEs. (check-in: 0288a8013e user: dan tags: trunk) | |
14:57 | Break out the Cte object from the With object. This will make it simpler to add new kinds of Cte objects (ex: DML statements) and/or MATERIALIZED keywords in the future. It brings trunk into closer alignment with the experimental as-materialize branch. (check-in: f03efe905d user: drh tags: trunk) | |
13:36 | Simplification to where.c manually cherrypicked from the as-materialize branch. (check-in: 03805a6117 user: drh tags: trunk) | |
12:47 | Merge changes from trunk. (Later:) Abandon this line of development. See the as-materialize-redux branch. (Closed-Leaf check-in: 7a90571e0a user: drh tags: as-materialize) | |
2021-02-19
| ||
18:39 | Fix another problem handling corrupt database files in the ALTER TABLE DROP COLUMN code. (check-in: 9edf2ddc47 user: dan tags: trunk) | |
15:34 | Add tests for ALTER TABLE DROP COLUMN commands. (check-in: 05dbea9b26 user: dan tags: trunk) | |
14:32 | Add support for "ALTER TABLE ... DROP COLUMN ..." commands. (check-in: c844a331e7 user: dan tags: trunk) | |
14:13 | Fix a crash that could occur in ALTER TABLE DROP COLUMN if the sqlite_schema table was corrupt. (Closed-Leaf check-in: 126ee1ec4f user: dan tags: alter-table-drop-column) | |
09:46 | Omit an branch made unreachable by the improved error message from dropping the last column of a table. (check-in: c5719fc5aa user: drh tags: alter-table-drop-column) | |
09:36 | The COLUMN keyword in ALTER TABLE DROP COLUMN is optional. (check-in: a22f87fb6c user: drh tags: alter-table-drop-column) | |
09:09 | Give a better error message on DROP COLUMN when attempting to drop the last column of a table. (check-in: 5e1f362bc3 user: drh tags: alter-table-drop-column) | |
02:30 | Add a NEVER() to an unreachable branch in the DROP COLUMN logic. (check-in: 963f498ae6 user: drh tags: alter-table-drop-column) | |
2021-02-18
| ||
23:53 | Add missing VdbeCoverage() macros. (check-in: 9bb720e659 user: drh tags: alter-table-drop-column) | |
23:03 | Enhance renameParseSql() to better handle OOMs. (check-in: 68bcde7ab5 user: drh tags: alter-table-drop-column) | |
22:47 | Merge changes from trunk into the alter-table-drop-column branch. (check-in: 9ea640073f user: drh tags: alter-table-drop-column) | |
20:27 | Fix DROP COLUMN so that it works even if the user has registered an authorizer callback. (check-in: e5f144182b user: dan tags: alter-table-drop-column) | |
19:25 | Fix a problem with schema error detection when processing ALTER TABLE DROP COLUMN commands. (check-in: 565a6fd0c9 user: dan tags: alter-table-drop-column) | |
17:48 | Add test cases for ALTER TABLE DROP COLUMN. (check-in: 204ee5e282 user: dan tags: alter-table-drop-column) | |
15:59 | Avoid invoking the update or pre-update hooks during VACUUM operations. (check-in: 3c25cb4ab8 user: dan tags: trunk) | |
15:45 | Improvement to the INSERT optimization of check-in [16ac213c57196361] so that it works with SQLITE_ENABLE_HIDDEN_COLUMN but is also easier to maintain and a little faster as well. (check-in: f985a78ecc user: drh tags: trunk) | |
14:27 | Disable the optimization of [16ac213c57196361] when the SQLITE_ENABLE_HIDDEN_COLUMN compile-time option is used, as the optimization does not work in that case. (check-in: 5168b06bcf user: drh tags: trunk) | |
12:18 | Ensure that the pre-update hook is invoked for INSERT operations on WITHOUT ROWID tables that use the xfer optimization. (check-in: 66bbad239b user: dan tags: trunk) | |
01:02 | Add missing VdbeCoverage() macros to some of the new RETURNING code. (check-in: 53a5390909 user: drh tags: trunk) | |
00:59 | Performance optimization in the resolver. (check-in: 1aafb94d4e user: drh tags: trunk) | |
00:26 | Performance optimization in the code generator for INSERT for the common case where the target table has neither generated nor hidden columns. Also fix a redundant (and thus unreachable) branch in the resolver. (check-in: 16ac213c57 user: drh tags: trunk) | |
2021-02-17
| ||
21:13 | Use the sqlite3ParserAddCleanup() mechanism to ensure that the AggInfo structure associated with an aggregate query is deallocated, for a performance increase and size reduction. (check-in: 7a1399671f user: drh tags: trunk) | |
20:46 | Fix a problem with OOM error handling in the new code on this branch. (check-in: ea999c9db5 user: dan tags: alter-table-drop-column) | |
20:19 | Merge trunk changes into this branch. (check-in: 0cd5e2f9ce user: dan tags: alter-table-drop-column) | |
20:08 | Fix various issues with the changes on this branch. Add test cases for the same. (check-in: 10538ec6fc user: dan tags: alter-table-drop-column) | |
13:19 | Enhance the ".once" and ".output" commands in the CLI so that if the filename argument begins with "|" the name becomes the concatenation of all subsequent arguments. Hence, commands like ".once | open -f" become possible without the need for quotes. (check-in: c46a94a624 user: drh tags: trunk) | |
2021-02-16
| ||
20:43 | Add experimental implementation of ALTER TABLE DROP COLUMN. Only some cases work so far. (check-in: f0217937d7 user: dan tags: alter-table-drop-column) | |
20:32 | Simplification to the resolveAlias() routine. (check-in: 00bead3931 user: drh tags: trunk) | |
20:01 | New SELECTTRACE macros more clearly deliniate when the query planner is invoked in the middle of PRAGMA vdbe_addoptrace output. (check-in: 7c03ce49b7 user: drh tags: trunk) | |
19:29 | Remove unnecessarily complexity from sqlite3WithReleaseByParse(). Improved TreeView output for the enhanced CTE structures. This code still does not work 100%. I'm saving my place in order to (maybe) come back to it later. (check-in: 30bb18b450 user: drh tags: as-materialize) | |
16:32 | Trying to get the new AS MATERIALIZE syntax of CTEs to work. There are still performance and memory management issues. This is a WIP check-in. (check-in: bf0fd9b23a user: drh tags: as-materialize) | |
00:48 | Change the syntax from "GENERATED AS" to "AS MATERIALIZED" so as to match the syntax of PostgreSQL 12+. (Closed-Leaf check-in: 78dcddd969 user: drh tags: with-generated-as) | |
2021-02-15
| ||
17:51 | Merge the LIKE operator fix from trunk. (check-in: 8c8618780a user: drh tags: with-generated-as) | |
17:02 | Fix an issue with the LIKE operator when it includes the "ESCAPE '_'" clause. Ticket [c0aeea67d58ae0fd]. (check-in: 27d4117980 user: drh tags: trunk) | |
14:55 | Merge minor fixes from trunk. (check-in: d876b287e1 user: drh tags: with-generated-as) | |
14:32 | Add tests for sqlite3_column_count(). (check-in: 7cc65ae571 user: dan tags: trunk) | |
13:17 | Ensure that the ALTER TABLE statements return 0 for sqlite3_column_count(). (check-in: 29c1932a47 user: drh tags: trunk) | |
11:14 | Fix an error in the test case fix in [ecd71203]. (check-in: 5411bfa41e user: dan tags: trunk) | |
2021-02-13
| ||
23:46 | If the GENERATED keyword occurs before the AS keyword in a common table expression (CTE) definition, then that CTE becomes an "optimization barrier". For now, that means the CTE is always materialized. It also means that query flattener or pushdown optimizations that cross the CTE boundary are omitted. (check-in: 186ec18b24 user: drh tags: with-generated-as) | |
21:01 | Add a test-control that allows setting a LIKE pattern for common table expression names such that CTEs with matching names become an optimization barrier - They are not flattened and are implemented by materialization. (Closed-Leaf check-in: 15692ec02b user: drh tags: optbarrier-test-ctrl) | |
18:14 | Fix incorrect test name labels in the select1.test script. (check-in: 179c79ea0d user: drh tags: trunk) | |
16:39 | Avoid manifesting a CTE (or other view) multiple times when it is possible to reuse the first manifestation. (check-in: 9692f51080 user: drh tags: trunk) | |
14:26 | Fix a problem in the unreleased union-all flattening enhancement (check-in: e4f8a79fd8 user: dan tags: trunk) | |
2021-02-12
| ||
21:22 | Fix a test case to account for the fact that different versions of OpenBSD behave differently when a program tries to read() from a file-descriptor open on a directory. (check-in: ecd712032f user: dan tags: trunk) | |
21:07 | Parsing of DML statements in a WITH clause. But at this point, it just generates an error about "not yet supported". (Leaf check-in: 964ff68d8f user: drh tags: dml-in-cte) | |
11:37 | Ensure all RBU tests are run as part of release testing. (check-in: a18dc08baf user: dan tags: trunk) | |
2021-02-11
| ||
16:19 | In RBU, avoid passing VFS xShmLock calls through to the underlying VFS in cases where xShmMap calls may not be. This fixes a bad interaction with ZipVFS. (Leaf check-in: 0c3838d951 user: dan tags: reuse-schema-3.31) | |
2021-02-10
| ||
20:20 | Merge latest trunk changes into this branch. (check-in: d29c41bd26 user: dan tags: reuse-schema) | |
20:00 | Fix a longstanding problem causing an RBU vacuum to omit releasing some locks before finishing. (check-in: 66c07a07b2 user: dan tags: trunk) | |
19:49 | Remove an assert() added by the previous commit that is sometimes false. (Closed-Leaf check-in: fb36ac4dc6 user: dan tags: shm-lock-fix) | |
19:40 | Fix a longstanding problem causing an RBU vacuum to omit releasing some locks before finishing. (check-in: cb5bdf82fe user: dan tags: shm-lock-fix) | |
17:31 | In RBU, avoid passing VFS xShmLock calls through to the underlying VFS in cases where xShmMap calls may not be. This fixes a bad interaction with ZipVFS. (check-in: bd1e9e0a4c user: dan tags: trunk) | |
2021-02-08
| ||
15:56 | Correctly detect correlated subqueries when resolving names in RETURNING clauses. (check-in: b43cfa0492 user: drh tags: trunk) | |
13:41 | Improved name resolution for references to a table begin modified from within a subquery in the RETURNING clause. (check-in: 799d205bfa user: drh tags: trunk) | |
2021-02-07
| ||
23:28 | Do not allow RETURNING in the DML statements of a trigger. (check-in: 7a8fe6463a user: drh tags: trunk) | |
12:59 | Fix harmless compiler warnings. (check-in: 5f8bf99579 user: drh tags: trunk) | |
2021-02-06
| ||
14:56 | Remove an ALWAYS() and NEVER() in the authorizer that become reachable as of [078dbff04a95a001]. Test case for coverage in TH3. (check-in: b469327e29 user: drh tags: trunk) | |
14:37 | Fix the OSSFuzz-discovered shift problem from two days ago. This patch was omitted from [078dbff04a95a001] apparently because I made the edit to "sqlite3.c" rather than "resolve.c" where it belongs. (check-in: 864772ffec user: drh tags: trunk) | |
2021-02-05
| ||
17:34 | Remove unreachable code. Fix a shift UB problem introduced yesterday and discovered by OSSFuzz. (check-in: 078dbff04a user: drh tags: trunk) | |
2021-02-04
| ||
23:20 | Change the RETURNING algorithm so that outputs accumulate in an ephemeral table until all modifications have been completed, and only then do results start being returned. This should help prevent problems with interleaved sqlite3_step() calls on two separate DML statements. It also seems to be closer to how PostgreSQL works, which might prevent compatibility problems. (check-in: c4615eb28c user: drh tags: trunk) | |
22:59 | Remove dead code. Fix RETURNING for INSERT into a virtual table. (Closed-Leaf check-in: dbfa38699c user: drh tags: returning-manifested) | |
21:19 | Initial commit (Leaf check-in: e73dbce8c5 user: shearer tags: selective-debug) | |
21:17 | Fix an issue with RETURNING from UPSERT. (check-in: 757b74ba0f user: drh tags: returning-manifested) | |
20:52 | Snapshot. New design appears to work on a simple test case. (check-in: 8a65fbeecf user: drh tags: returning-manifested) | |
17:29 | Preliminary changes for a new implementation of RETURNING that captures all results in a buffer and plays them all back after the DML statement completes. This avoids problems with interleaved DML statements. This particular check-in is a non-functional work in progress. (check-in: 04b77d6321 user: drh tags: returning-manifested) | |
13:52 | Add NEVER() to a branch that check-in [5d54d9fd40638138] apparently made unreachable. (check-in: 5c8e6296aa user: drh tags: trunk) | |
13:44 | Performance optimization in sqlite3FinishCoding(). (check-in: 0f34f241d3 user: drh tags: trunk) | |
11:14 | Work toward handling interleaved RETURNING statements. Trunk does not handle that case correctly. This branch is a partial implementation of ideas that might, however. (Closed-Leaf check-in: e1eb621319 user: drh tags: interleaved-returning) | |
2021-02-03
| ||
19:38 | Corrections to the 'filepath_normalize' test suite helper procedure. (check-in: 32f4d04470 user: mistachkin tags: trunk) | |
18:32 | Change the name of Vdbe.magic to Vdbe.iVdbeMagic to disambiguate with sqlite3.magic. (check-in: 6b29e549bb user: drh tags: trunk) | |
14:20 | Avoid doing any foreign-key constraint related processing for an UPDATE statement that does not modify any columns that are part of FK constraints, even if the table has a self-referencing FK. (check-in: 7f3b036e73 user: dan tags: trunk) | |
13:20 | Fix a harmless compiler warning. (check-in: 1eb69c64ed user: drh tags: trunk) | |
13:08 | Add support for the RETURNING clause following PostgreSQL syntax. Also change the behavior of SQLITE_DBCONFIG_ENABLE_TRIGGER so that TEMP triggers are always allowed, regardless of the setting. (check-in: 416c898bfb user: drh tags: trunk) | |
12:35 | Fix an assert() that might be off-by-one in the case of a prior errors in the parse. (check-in: 06b15b17be user: drh tags: trunk) | |
00:55 | Modify the SQLITE_DBCONFIG_ENABLE_TRIGGER setting so that it only disables main-schema triggers and allows TEMP trigger to continue operating. This is safe, since only the application (not an attacker) can add TEMP triggers. It will also all us to disengage SQLITE_DBCONFIG_ENABLE_TRIGGER on Fossil databases since Fossil has no main-schema triggers but does use TEMP triggers. (Closed-Leaf check-in: a10c5a2503 user: drh tags: returning) | |
00:05 | Load enhancements from trunk into the returning branch. (check-in: b84c7f60c2 user: drh tags: returning) | |
2021-02-02
| ||
20:46 | Do not allow aggregates in a RETURNING clause. Fix a memory leak that occurs when window functions are used in a RETURNING clause. (check-in: 2e9bd94b9a user: drh tags: returning) | |
20:41 | Modify the sessions extension to use more efficient SQL when applying a changeset or patchset. (check-in: e4ccfac09b user: dan tags: trunk) | |
12:01 | Report an error if RETURNING is used for DELETE or UPDATE of a virtual table. (check-in: bd5dee8425 user: drh tags: returning) | |
00:16 | Allow the RETURNING trigger to exist for virtual tables. (check-in: 2f244ab4a2 user: drh tags: returning) | |
2021-02-01
| ||
21:26 | Add a few test cases for RETURNING together with UPDATE/DELETE LIMIT. (check-in: 7611c77d6b user: drh tags: returning) | |
12:39 | Improved corrupt database detection in balance_nonroot(). (check-in: 5d54d9fd40 user: drh tags: trunk) | |
01:57 | Modify RETURNING so that it does not return changes implemented by cascading foreign keys or by triggers. (check-in: 6e62470a73 user: drh tags: returning) | |