Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
131 check-ins for the month beginning 2021-12-01
Following month ↑
2021-12-31
| ||
22:53 | Mark the REGEXP operator in the built-in extension as deterministic. (check-in: e654b57a9f user: drh tags: trunk) | |
19:20 | Simplify the sqlite3RunParser() routine by omitting the third parameter. Results in a binary that is about 100 bytes smaller and 1.4M cycles faster. (check-in: 6fb2a1bb02 user: drh tags: trunk) | |
19:08 | Fix harmless compiler warnings in the shell. (check-in: f3ea36d79b user: mistachkin tags: trunk) | |
18:26 | Fix harmless compiler warnings seen with MSVC. (check-in: a9bfb62109 user: mistachkin tags: trunk) | |
17:54 | Performance optimization and size reduction in sqlite3RunParser(). (check-in: 41ee2bac57 user: drh tags: trunk) | |
16:37 | Move the pTriggerPrg and pCleanup elements of the Parse object up into the section of that object that is persisted across calls to sqlite3NestedParse(). This fixes a memory leak reported in forum post 24bd1fef7e9323ef. (check-in: 562805cf48 user: drh tags: trunk) | |
2021-12-30
| ||
17:46 | Remove unnecessary conditionals around the ORDER BY resolver calls in multiSelectOrderBy(). (check-in: f2887e018b user: drh tags: trunk) | |
17:36 | When constructing the sqlite3_index_info object for the xBestIndex method of a virtual table, omit constant trims from the ORDER BY clause, as they will always be in the correct order. (check-in: 524c2b87d7 user: drh tags: trunk) | |
16:14 | Merge the 3.37.1 patches into the reuse-schema branch. (check-in: e9e95c8fc6 user: drh tags: reuse-schema-3.37) | |
15:30 | Version 3.37.1 (check-in: 378629bf2e user: drh tags: release, version-3.37.1, branch-3.37) | |
12:26 | Disable the atof1.test test module on non-x64 hardware. (check-in: 986a94d036 user: drh tags: branch-3.37) | |
11:35 | Fix windowC tests to specify little-endian or big-endian UTF16, for cross-platform portability. Forum post 559b84a5c6|. And give the correct prefix to tests in the windowC.test module. (check-in: 8af7cb2a3e user: drh tags: branch-3.37) | |
11:27 | Do not attempt to reprepare a prepared statement that returns SQLITE_SCHEMA if there was an OOM. This enhancement supercedes check-in [fee469925231d074]. (check-in: 103f95db3e user: drh tags: branch-3.37) | |
11:13 | Change an assert() in FTS3 into assert_fts3_nc(), since it is a harmless condition that can occur when processing a corrupt database file. (check-in: 35e2b27af7 user: drh tags: branch-3.37) | |
03:56 | Fix a minor issue in the configure script. (check-in: 0413d37e32 user: drh tags: branch-3.37) | |
03:22 | Following a prior error, an ALWAYS() in sqlite3ExprCanBeNull() might be false. dbsqlfuzz 5dbec6678a20e7595a34dfdd869a3b9722b3ca43. (check-in: b33e47709a user: drh tags: branch-3.37) | |
03:12 | When a table has an INTEGER PRIMARY KEY ON CONFLICT REPLACE and some other uniqueness constraint, and it participates in an upsert on that other constraint, ensure that code that checks for conflicts on the INTEGER PRIMARY KEY is well-formed. Fix for the problem reported by forum post 06b16b8b29f8c8c3. (check-in: 1f1e0b4e6d user: drh tags: branch-3.37) | |
02:38 | When a table has an INTEGER PRIMARY KEY ON CONFLICT REPLACE and some other uniqueness constraint, and it participates in an upsert on that other constraint, ensure that code that checks for conflicts on the INTEGER PRIMARY KEY is well-formed. Fix for the problem reported by forum post 06b16b8b29f8c8c3. (check-in: 2f09b51b1f user: drh tags: trunk) | |
00:37 | When implementing a multi-way compound SELECT using merge, try to balance the merge tree. (check-in: bb8522fe0d user: drh tags: trunk) | |
2021-12-29
| ||
13:32 | Minor changes to shell1.test test results to account for the new feature of the shell that points to the specific part of the input line where the error occurs. (check-in: d4870c0889 user: drh tags: trunk) | |
04:31 | Ensure that the affinity of columns is honored in the RETURNING clause. See forum post e0c7574ab2 for the bug report. (check-in: 4711fb6954 user: drh tags: trunk) | |
04:13 | Add the sqlite3_error_offset() interface. Use it to enhance error reporting in the CLI. (check-in: 416602a851 user: drh tags: trunk) | |
04:10 | Make .read's help tell of piped input (check-in: 155c3e9c7c user: drh tags: trunk) | |
04:10 | Change an assert() in FTS3 into assert_fts3_nc(), since it is a harmless condition that can occur when processing a corrupt database file. (check-in: e773d6219b user: drh tags: trunk) | |
04:08 | Fix the build-breaker bug in test1.c introduced by check-in [7fa20ca4c09ab024]. (Closed-Leaf check-in: 5f804da182 user: drh tags: build-bug) | |
2021-12-28
| ||
05:08 | Make .read's help tell of piped input (check-in: e4ddcd8aa5 user: larrybr tags: build-bug) | |
2021-12-25
| ||
23:59 | Change an assert() in FTS3 into assert_fts3_nc(), since it is a harmless condition that can occur when processing a corrupt database file. (check-in: c03205aee9 user: drh tags: build-bug) | |
00:26 | Add the sqlite3_error_offset() interface. Use it to enhance error reporting in the CLI. (Later:) There is a bug in src/test1.c that prevents the code from even building. How did this pass tests? Moving to a branch to prevent fugure bisect problems. (check-in: 7fa20ca4c0 user: drh tags: build-bug) | |
00:19 | One minor change for an exceptional case in sqlite3_error_offset(). (Closed-Leaf check-in: c93609a8b9 user: drh tags: improved-error-context) | |
2021-12-24
| ||
20:51 | Create new branch named "instr-bidir-more" (Leaf check-in: 4ca96d2d73 user: larrybr tags: instr-bidir-more) | |
20:22 | Add the sqlite3_error_offset() interface. Use it in the CLI to provide better context for error messages. (check-in: b518ce7743 user: drh tags: improved-error-context) | |
19:44 | Fix a minor problem in the CLI introduced by [d156123885abe6bf], apparently. (check-in: 37e6e10f43 user: drh tags: trunk) | |
13:30 | Raise an error if a schema name is attached to the table-alias name of a subquery or view. See forum post 021a33600b for the bug report. (check-in: 8af8c153f8 user: drh tags: trunk) | |
2021-12-23
| ||
00:16 | Reduce the size of the compiled binary by a couple of hundred bytes by using a thigher packing of a transformation table in date.c. Suggested by forum post 4f6efbb2a9. (check-in: c75ba4fa64 user: drh tags: trunk) | |
2021-12-21
| ||
16:59 | Update the README.md to instruct the user to remove the final comment line from the "manifest" file before using it to compute the check-in hash. (check-in: 7b4f9d95a9 user: drh tags: trunk) | |
2021-12-20
| ||
23:46 | In the json1 extension, which compiling it separately, ensure that either SQLITE_DEBUG macro or the NDEBUG macro is set prior to including assert.h. If neither macro is defined, then assert() statement do generate code but VVA() statements do not, and that is a deadly combination. forum post 858dee399e (check-in: d9f814a640 user: drh tags: trunk) | |
17:00 | Remove old script ext/fts3/mkfts3amal.tcl, as it doesn't work. (check-in: 9e33ee24b3 user: dan tags: trunk) | |
2021-12-17
| ||
23:56 | Improved documentation for the sqlite3_vtab_collation() interface. (check-in: 826f84a92d user: drh tags: trunk) | |
2021-12-16
| ||
19:50 | Fix windowC tests to specify little-endian or big-endian UTF16, for cross-platform portability. Forum post 559b84a5c6 (check-in: adf3a1e6f7 user: drh tags: trunk) | |
19:43 | Give the correct prefix to tests in the windowC.test module. (check-in: fb43456324 user: drh tags: trunk) | |
17:57 | In the CLI, omit the ".oom" command (only available in debug builds) and disable the experimental ".expert" commmand in --safe mode. (check-in: 5cda1f7da8 user: drh tags: trunk) | |
17:35 | New defenses against OOM and corrupt database problems in the CLI. (check-in: 5c9fd7fde1 user: drh tags: trunk) | |
17:21 | Fix a typo in the result of one of the new test cases. (check-in: 4d02a129c4 user: drh tags: trunk) | |
15:29 | Fix fts3 and fts4 so that they can still be used even if the other is dropped by a call to sqlite3_drop_modules(). (check-in: a0a8d6c9f0 user: dan tags: trunk) | |
14:59 | Fix a memory leak in the CLI that occurs after an error in the ".open" command. (check-in: d156123885 user: drh tags: trunk) | |
14:36 | Fix harmless compiler warning in the new Bloom filter logic. (check-in: 9406d95d3f user: drh tags: trunk) | |
14:26 | Improved robustness against OOM in the expert extension. (check-in: e732c429ba user: drh tags: trunk) | |
13:56 | Fix a potential NULL pointer dereference in the CLI logic for printing the schema of virtual tables. (check-in: fe44ebf6be user: drh tags: trunk) | |
13:29 | Add more tests for OOM conditions in the CLI. (check-in: b6fa402d15 user: drh tags: trunk) | |
00:36 | Change the query planner so that it excludes virtual table constraints that do not have the correct collation. This breaks the expert extension. (Closed-Leaf check-in: da3aae7bcf user: drh tags: vtab-collation-fix) | |
2021-12-15
| ||
20:48 | Simplify the generation of the sqlite3_index_info object during query planning for virtual tables. (check-in: 241dc0428a user: drh tags: trunk) | |
13:48 | Update this branch with the latest trunk and wal2 changes, including the checkpoint-on-close wal2 mode fix. (check-in: cffc31bf9a user: dan tags: begin-concurrent-report-wal2) | |
13:42 | Merge checkpoint-on-close fix from wal2 branch. (check-in: a92eca6c9c user: dan tags: begin-concurrent-pnu-wal2) | |
12:51 | Fix a problem causing one wal file to be deleted without being checkpointed on close in cases where the last connection to close the db does so with an out of date wal-index header in memory. (check-in: b0a70a2356 user: dan tags: wal2) | |
2021-12-14
| ||
20:13 | Enhance the virtual table query planner so that it is able to deal with ORDER BY terms that contain COLLATE clauses as long as the specified collation matches the virtual table. This is especially important for UNION ALL since a "COLLATE binary" is added to ORDER BY clauses if no COLLATE clause exists in the original SQL. (check-in: 5c3d398d20 user: drh tags: trunk) | |
18:11 | Minor fix to the ORDER BY elimination logic in generate_series(). (check-in: a2e50712fc user: drh tags: trunk) | |
00:36 | Omit the return value from sqlite3VdbeSerialGet() for a size reduction and performance improvement. (check-in: 788e79f881 user: drh tags: trunk) | |
2021-12-13
| ||
19:59 | Small performance optimization and code size reduction in moveToRoot(). (check-in: cdcde00b2d user: drh tags: trunk) | |
18:53 | Add NEVER() on an unreachable branch in the Bloom filter pull-down logic. (check-in: 4710704625 user: drh tags: trunk) | |
18:43 | Fix an off-by-one error in the Bloom filter pulldown logic, found by OSSFuzz. Also fix over-length source code lines in the immediate vicinity. (check-in: 027626521c user: drh tags: trunk) | |
00:02 | Remove unused code. (check-in: b98b24f265 user: drh tags: trunk) | |
2021-12-11
| ||
17:10 | Do not allow early evaluation of Bloom filters that use the IN operator as the machinery to deal with the IN operator is not available. dbsqlfuzz 5b51c247518278f79a45cea978702e86e86cd4f9. (check-in: 799db7cb2e user: drh tags: trunk) | |
2021-12-10
| ||
21:01 | Factor out the logic that does quoting for the SQL quote() function, so that it might be reused for other purposes. (check-in: 8e98ba1eeb user: drh tags: trunk) | |
18:11 | Almost all shell tests except shell8.test pass. (a WIP) (check-in: 653db501b4 user: larrybr tags: cli_extension) | |
17:36 | Rename the internal routine constructBloomFilter() to sqlite3ConstructBloomFilter(). OSSFuzz is reporting a crash with a garbled stack that we cannot reproduce. Perhaps the original "constructBloomFilter()" name is colliding with some internal name used by OSSFuzz. We'll see if this rename clears the problem. (check-in: 403e7312dd user: drh tags: trunk) | |
2021-12-09
| ||
20:06 | Add support for Bloom-filters as a performance optimization for joins. (check-in: 633bfeeea2 user: drh tags: trunk) | |
19:42 | Remove unused code and fix comments. Final cleanup before merging. (Closed-Leaf check-in: ce42039f56 user: drh tags: bloom-filter) | |
18:44 | Enable bloom filters for the right table of a LEFT JOIN. Fix unreachable branches. (check-in: d342ab722d user: drh tags: bloom-filter) | |
16:45 | Pickup trunk .mode upgrade + cosmetic shell changes (check-in: 8dc69c81b9 user: larrybr tags: cli_extension) | |
16:26 | Add ".mode off" and ".mode count" to the CLI. (check-in: 1eefd957ff user: drh tags: trunk) | |
16:17 | Add ".mode off" and ".mode count" to the CLI. (check-in: b11f4d080a user: drh tags: bloom-filter) | |
14:15 | New test cases added to test/fuzzdata8.db (check-in: 7046877006 user: drh tags: trunk) | |
14:09 | Do not attempt to reprepare a prepared statement that returns SQLITE_SCHEMA if there was an OOM. This enhancement supercedes check-in [fee469925231d074]. (check-in: 94fdbeffaf user: drh tags: trunk) | |
04:45 | Closer to passing all Tcl tests (with an odd failure) (check-in: 6956e98908 user: larrybr tags: cli_extension) | |
01:28 | Add SQLITE_TESTCTRL_LOGEST and enhance the LogEst utility program. Improvements to testability of bloom filters. (check-in: 88b43d798c user: drh tags: bloom-filter) | |
2021-12-08
| ||
20:36 | Clarity tweak for date.c (check-in: db58b2def0 user: larrybr tags: trunk) | |
19:50 | Improvements on the decision of whether or not to use a Bloom filter. (check-in: 0fb2a4e08f user: drh tags: bloom-filter) | |
18:50 | Enhance the sqlite3SrcListAppendFromTerm() routine so that it sets the Parser error on an OOM, causing an earlier unwind of the stack. (check-in: fee4699252 user: drh tags: trunk) | |
16:15 | Merge the WhereClause fix from trunk (check-in: d325025677 user: drh tags: bloom-filter) | |
16:07 | In the WhereClause object, do not assume that all TERM_VIRTUAL terms appear at the end of the list, because that is no longer true. Instead, keep a separate nBase count that is the size of the list excluding the tail of virtual terms. Use nBase instead of nTerm when scanning terms that are not virtual. Add assert()s to validate correctness of WhereClause. (check-in: 6024682ca4 user: drh tags: trunk) | |
2021-12-07
| ||
23:02 | For CLI, extensibility refinement and small steps toward embedability (check-in: ad9970bcb5 user: larrybr tags: cli_extension) | |
22:37 | Do not generate a Bloom filter if it cannot be used prior to the next seek, as that leads to a misleading EXPLAIN QUERY PLAN. (check-in: 2739ed5192 user: drh tags: bloom-filter) | |
2021-12-06
| ||
23:07 | Improved EXPLAIN QUERY PLAN output for Bloom filters. (check-in: 00070e1fff user: drh tags: bloom-filter) | |
21:45 | Add SQLITE_STMTSTATUS_FILTER_HIT and _MISS for tracking the effectiveness of Bloom filters. (check-in: 24ba535d20 user: drh tags: bloom-filter) | |
20:16 | Omit the OP_FilterInit opcode. Use OP_Blob to initialize each Bloom filter instead. Size the Bloom filter based on sqlite_stat1 size estimates rather than a run-time measurement for improved testability. (check-in: 8a9036ee61 user: drh tags: bloom-filter) | |
19:11 | Merge trunk fixes into the bloom-filter branch. (check-in: edacf8034d user: drh tags: bloom-filter) | |
19:03 | Fix an OOB read that could occur in fts5 when processing corrupt records. (check-in: 734606ea1a user: drh tags: branch-3.37) | |
18:57 | Fix an OOB read that could occur in fts5 when processing corrupt records. (check-in: bb9b1a15f7 user: dan tags: trunk) | |
17:23 | Create new branch named "ppvar_manage" (Leaf check-in: 74ee8d2bda user: larrybr tags: ppvar_manage) | |
16:56 | Do not allow SQLITE_LIMIT_LENGTH to be set lower than 1 as an SQLITE_LIMIT_LENGTH of 0 causes lots of unnecessary problems for users of the sqlite3_str object. (check-in: 286243f3a4 user: drh tags: branch-3.37) | |
16:51 | Do not allow certain dangerous ".testctrl" commands in safe mode. (check-in: 4602644f85 user: drh tags: branch-3.37) | |
16:42 | Fix SQLITE_TESTCTRL_IMPOSTER so that it is a harmless no-op if the schema parameter is invalid. (check-in: b15c553c2c user: drh tags: branch-3.37) | |
16:36 | In the shell tool, avoid modifying internal data structures until after the arguments to ".open" have been parsed. (check-in: cbd69ed8af user: drh tags: branch-3.37) | |
16:29 | Start a new branch on which to cherrypick fixes against 3.37.0. (check-in: cea9e41aae user: drh tags: branch-3.37) | |
16:22 | Merge .testctrl safe mode blocks (check-in: a42fc4ac08 user: larrybr tags: cli_extension) | |
15:40 | Do not allow SQLITE_LIMIT_LENGTH to be set lower than 1 as an SQLITE_LIMIT_LENGTH of 0 causes lots of unnecessary problems for users of the sqlite3_str object. (check-in: 8fd5b8ec4a user: drh tags: trunk) | |
15:24 | Do not allow certain dangerous ".testctrl" commands in safe mode. (check-in: 080e72d119 user: drh tags: trunk) | |
15:08 | Fix SQLITE_TESTCTRL_IMPOSTER so that it is a harmless no-op if the schema parameter is invalid. (check-in: 2d9a45ab10 user: drh tags: trunk) | |
13:07 | Attempt to vary the size of Bloom filters based on an estimate of how many keys the filter will hold. (check-in: a7adcf6908 user: drh tags: bloom-filter) | |
2021-12-05
| ||
20:19 | Run as many Bloom filters as possible before index lookups. (check-in: 06f6fefd67 user: drh tags: bloom-filter) | |
00:45 | Try to run all Bloom filters before any Seeks. This gives a small performance gain on the Star-Schema Benchmark. (check-in: 5be2470f87 user: drh tags: bloom-filter) | |
2021-12-04
| ||
21:11 | Miscellaneous cleanup of the new Bloom-filter code. (check-in: 201b6dd875 user: drh tags: bloom-filter) | |
18:45 | Add VdbeCoverage() macros. Adjust the Bloom-filter hash function so that it correctly deals with zero-blobs. (check-in: 629ee2e3e3 user: drh tags: bloom-filter) | |
18:40 | Add design doc for shell extensibility (check-in: 96b8ffb054 user: larrybr tags: cli_extension) | |
14:24 | Apply the Bloom filter only on those terms of an index that have equality constraints. (check-in: a70429596a user: drh tags: bloom-filter) | |
13:52 | Add the "WITH BLOOM FILTER" clause to the EXPLAIN QUERY PLAN output for cases were a Bloom filter is used. (check-in: 8e078c0e40 user: drh tags: bloom-filter) | |
13:43 | First attempt to use Bloom filters to optimize star-schema queries. (check-in: 28161fba9b user: drh tags: bloom-filter) | |
2021-12-03
| ||
19:27 | Extension interface tweaks in support of planned usage (check-in: ce2a91438a user: larrybr tags: cli_extension) | |
19:10 | Merge the sqlite3WhereBegin() simplification from trunk. (check-in: 41ba2dfdd3 user: drh tags: bloom-filter) | |
18:53 | Factor the noop-join-elimination optimization out of the sqlite3WhereBegin() routine and into a separate "no-inline" subroutine, in order to reduce the complexity of sqlite3WhereBegin() and thereby encourage C compilers to inline sqlite3WhereCodeOneLoopStart(). (check-in: 6225e9abcb user: drh tags: trunk) | |
16:02 | Merge recent trunk enhancements into the bloom-filter branch. (check-in: 11d97fb8be user: drh tags: bloom-filter) | |
15:48 | Fix exprAnalyze() after recent performance enhancements so that it is able to handle IF_NULL_ROW opcode correctly, again. (check-in: 8029e6bab5 user: drh tags: trunk) | |
14:57 | Fix unreachable branches resulting from prior optimizations. (check-in: f3d6853ee8 user: drh tags: trunk) | |
14:43 | Fix an over-length source code line in build.c. No logic changes. (check-in: b9db5c5fc6 user: drh tags: trunk) | |
13:42 | Performance optimization in the B-Tree cursor allocator btreeCursor(), making it about 800K CPU cycles faster in speedtest1, and reducing the executable size by about 100 bytes. (check-in: 9df939716a user: drh tags: trunk) | |
2021-12-02
| ||
20:30 | Make shell buildable, fix a potential leak-to-be (check-in: eab1e1af5b user: larrybr tags: cli_extension) | |
18:15 | Optimizations to exprAnalyze() and sqlite3WhereExprUsage() save about 1.5 million CPU cycles for speedtest1, and result in a smaller binary. (check-in: 1f2252e65d user: drh tags: trunk) | |
18:09 | Merge for CLI fix. (check-in: 98cf18611d user: larrybr tags: cli_extension) | |
14:28 | Move the TK_IS token so that it is adjacent to the TK_IN token, as this allows the C compiler to optimize better, resulting in a slightly smaller and faster executable. (check-in: 8832fa9088 user: drh tags: trunk) | |
14:16 | In the shell tool, avoid modifying internal data structures until after the arguments to ".open" have been parsed. (check-in: fcc509d325 user: dan tags: trunk) | |
13:45 | Remove an unnecessary branch from exprAnalyze(), resulting in a small performance gain. (check-in: 3312be1db3 user: drh tags: trunk) | |
12:55 | Small performance optimization in sqlite3WhereClauseClear(). (check-in: 080b35e62e user: drh tags: trunk) | |
12:34 | More small performance optimizations for sqlite3WhereGetMask(). (check-in: 3de2c557d9 user: drh tags: trunk) | |
04:00 | Small performance optimization in sqlite3WhereGetMask(). (check-in: 7edec54ab0 user: drh tags: trunk) | |
02:22 | Small performance enhancement for whereScanInit(). (check-in: ed84e124c6 user: drh tags: trunk) | |
01:30 | Performance improvement in query planning. (check-in: ca59533bbb user: drh tags: trunk) | |
2021-12-01
| ||
21:07 | Merge trunk fixes into the bloom-filter branch. (check-in: 0864bfbf07 user: drh tags: bloom-filter) | |
19:17 | Check for foreign key constraint errors prior to returning the results from a RETURNING clause. See forum post 793beaf322. (check-in: a818ba2ed6 user: drh tags: trunk) | |
17:46 | Extensible shell builder changes in prep for actual extension load (check-in: 00c5af1f7e user: larrybr tags: cli_extension) | |
16:31 | Add a Bloom filter to the automatic-index mechanism. (check-in: 50ac4de1d7 user: drh tags: bloom-filter) | |
11:03 | Add the "static" qualifier to some internal functions in code for various SQLite extensions. (check-in: 8c98678254 user: dan tags: trunk) | |