Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
249 ancestors of trunk:202408161851 back to version-3.46.0
2024-08-16
| ||
18:51 | If a subquery has an ORDER BY clause and that ordering is helpful in satisfying the ORDER BY or GROUP BY of the outer query without doing an extra sort, then omit or reduce the sort in the outer query. Call this the "order-by-subquery optimization". (check-in: 7a0cdc7e user: drh tags: trunk) | |
15:35 | Ensure that memory allocations in ANALYZE are always 8-byte aligned in order to satisfy a new assert() added by [539e4f661767ef90]. (check-in: a1915cbd user: drh tags: trunk) | |
11:26 | Fix handling of COLLATE. Add test cases for the same. Code cleanup for improved understandability and maintainability. (Closed-Leaf check-in: 41a41c17 user: drh tags: order-by-subquery) | |
02:19 | Bug fix in the subquery ORDER BY propagator. (check-in: 5a9a3b8a user: drh tags: order-by-subquery) | |
00:37 | Improvements to the subquery ORDER BY decision algorithm. Fewer false-negatives. (check-in: b82421e3 user: drh tags: order-by-subquery) | |
2024-08-15
| ||
23:38 | If a subquery is materialized due to an ORDER BY and that ordering is useful in helping to satisfy the ORDER BY or GROUP BY in the order query without doing an extra sort, then omit the extra sort. (check-in: 2fbb4dc2 user: drh tags: order-by-subquery) | |
15:31 | Improved help message for --disable-tcl on the configure script. (check-in: 96e6cfb2 user: drh tags: trunk) | |
15:23 | Reinstate the --disable-tcl option on ./configure. Forum thread 845d4a57becc7f3c. (check-in: de927016 user: drh tags: trunk) | |
2024-08-14
| ||
20:00 | Doc typo correction reported in the forum. (check-in: 48900a86 user: stephan tags: trunk) | |
17:58 | Improved documentation for the sha3() SQL functions in the shathree.c extension in ext/misc. (check-in: 0ce60910 user: drh tags: trunk) | |
14:26 | Fix an assert() in fts5 that might fail with an expression like "... NOT ''". (check-in: 317c91ed user: dan tags: trunk) | |
2024-08-13
| ||
21:04 | Add the sha3_agg() aggregate to the shathree extension. (check-in: c4d7f999 user: drh tags: trunk) | |
2024-08-12
| ||
09:49 | Resolve parameters Bind $int_N and $test_T in fuzzcheck inputs. (check-in: 9c106644 user: drh tags: trunk) | |
2024-08-10
| ||
19:57 | Prevent the fts5 xPhraseNext() or xPhraseFirst() APIs from returning an out-of-range column number, even if the database is corrupt. (check-in: d4014c87 user: dan tags: trunk) | |
15:46 | Revision to check-in [d9f726ade6b258f8] so that OOM and other unrelated failures are not overridden by a syntax error in the tokenizer spec. (check-in: 3778b2a9 user: drh tags: trunk) | |
15:05 | Fix harmless compiler warning related to the TCL8-to-TCL9 transition. This change in testing code only and is not relevante to the core SQLite. (check-in: c86ef655 user: drh tags: trunk) | |
14:53 | Fix behavior change in the offset() SQL function introduced by check-in [f0b671183f44d0ae]. (check-in: c2ac17f1 user: drh tags: trunk) | |
10:05 | Enhancements to covering-index prediction. In particular, avoid the false-positive prediction described by forum post e60e4c295d22f8ce. Add early detection of over-prediction of covering-indexes so that sqlite3_prepare() will return an error rather than just generate bad bytecode. (check-in: f0b67118 user: drh tags: trunk) | |
09:56 | Add an assert() to fix a harmless compiler warning in the recovery extension. (check-in: 25023393 user: drh tags: trunk) | |
2024-08-09
| ||
22:48 | Fix a few minor TCL9 compatibilities issues. (check-in: 69eed199 user: drh tags: trunk) | |
18:53 | Import the second ALTER TABLE fix from trunk. (Closed-Leaf check-in: 1de3e588 user: drh tags: covering-index-patch) | |
18:42 | Fix another instance where ALTER TABLE was returning SQLITE_INTERNAL instead of SQLITE_ERROR one malformed input. (check-in: b4167563 user: drh tags: trunk) | |
18:22 | Merge the error code fix from trunk. (check-in: 81dfb8cd user: drh tags: covering-index-patch) | |
18:18 | Fix the internal routine sqlite3ResolveExprListNames() so that it returns SQLITE_OK or SQLITE_ERROR instead of WRC_Continue or WRC_Abort. Without this fix, some times of obscure syntax errors end up returning SQLITE_INTERNAL rather than SQLITE_ERROR. (check-in: 9052187e user: drh tags: trunk) | |
17:09 | Do not attempt to use a covering index based purely on columns-used when doing an UPDATE or DELETE of a WITHOUT ROWID table. Raise an SQLITE_INTERNAL error if there is ever a situation where a table reference cannot be converted into an index reference when the query planner thinks that a covering index is appropriate. (check-in: fae39ae9 user: drh tags: covering-index-patch) | |
12:35 | Bind the new debug parameters in fuzzinvariants.c. (check-in: 7e1dc263 user: drh tags: trunk) | |
12:19 | Remove unused static var cBadGroup from ext/consio/console_io.c to resolve a compiler warning reported in the fossil forum. This is a build fix, not a functional change. (check-in: fa047c3e user: stephan tags: trunk) | |
2024-08-08
| ||
15:26 | Ensure sqlite3expert.c unregisters any SQL user-functions it registers with the database handle before returning. (check-in: 123b154c user: dan tags: trunk) | |
15:07 | Add assert() statements and reorganize code slightly in fts3 and fts5 to make it easier to follow. (check-in: 797b0a13 user: dan tags: trunk) | |
14:45 | Do not let the number of terms on a VALUES clause be limited by SQLITE_LIMIT_COMPOUND_SELECT, even if the VALUES clause contains elements that appear to be variables due to the use of double-quoted string literals. Chromium issue 358174302. (check-in: 670beb13 user: drh tags: trunk) | |
12:14 | Back out the --memory option to ".parameter init" in the CLI, as the capability is no longer needed for testing due to the new "$int_N" and "$text_T" automatic bindings, and the "init --memory" is hence just added complication. (check-in: 3b1b0c14 user: drh tags: trunk) | |
12:08 | In the CLI, recognize magic parameter names "$int_NNN" and "$text_TTT" and bind them with integer value NNN and text value TTT respectively. Intended for testing and debugging use only. (check-in: a929cdb0 user: drh tags: trunk) | |
10:51 | Move a misplaced va_end, as reported in forum post 702c79e9da. (check-in: daa25fb3 user: stephan tags: trunk) | |
10:10 | Add the --memory option to the ".parameter init" CLI command. When present, the --memory option causes the sqlite_parameters table to be created in a completely independent :memory: database. This can be done to avoid parameter binding queries from being affected by debug settings such as ".wheretrace", ".treetrace", "PRAGMA vdbe_addoptrace=on", and similar. (check-in: 4e69dce2 user: drh tags: trunk) | |
2024-08-07
| ||
21:20 | Fix a broken assert in fts5_expr.c. (check-in: 08cc5488 user: dan tags: trunk) | |
15:17 | Add a new assert() to help static analyzers understand that a pointer is never NULL. (check-in: 433f2b94 user: drh tags: trunk) | |
14:54 | Fix a harmless compiler warning in an assert(). (check-in: 5e4c9a74 user: drh tags: trunk) | |
2024-08-06
| ||
23:09 | Remove unused test cases from FTS5, as they interfere with "grep". (check-in: 048a71ba user: drh tags: trunk) | |
22:49 | Improved robustness of parsing of tokenize= arguments in FTS5. Forum post 171bcc2bcd. (check-in: d9f726ad user: drh tags: trunk) | |
20:00 | Improvements to ./configure that will hopefully break fewer builds. (check-in: 769e32a6 user: drh tags: trunk) | |
10:29 | Change the AggInfoColumnReg() and AggInfoFuncReg() macros for compilers that cannot parse empty elements of a comma expression. Forum post 8fd21998dc. (check-in: 533a6251 user: drh tags: trunk) | |
2024-08-04
| ||
10:13 | Restore legacy "tcl_install" makefile target, as an interim measure until I can figure out what is going on. (check-in: 931ad7d9 user: drh tags: trunk) | |
2024-08-03
| ||
23:00 | Fix to the previous checkin: The colUsed parameter should have high-order bit set if any of the 64-th or greater columns of the virtual table is used. The lower 63 bits of colUsed always show the usage of the first 63 columns of the virtual table. (check-in: 90ac8457 user: drh tags: trunk) | |
21:45 | Ensure that the sqlite3_index_info.colUsed mask always includes the PK fields of WITHOUT ROWID virtual tables. (check-in: ff4ac279 user: drh tags: trunk) | |
18:58 | Fix a typo in [c327c0c0] preventing the shell tool from running ".dump" scripts that feature virtual tables. (check-in: 10e97abb user: dan tags: trunk) | |
18:45 | Ensure the sqlite3_index_info.colUsed mask always includes the PK fields of WITHOUT ROWID vtabs in cases where they may be used. (Closed-Leaf check-in: c327c0c0 user: dan tags: vtab-pk-colUsed-fix) | |
15:55 | Add the --status option to the test runs using testrunner.tcl. Only works on Unix platforms. The "exec" command appears to interfere with VT100 escape codes on windows. (check-in: 94015cda user: drh tags: trunk) | |
2024-08-02
| ||
18:20 | Make sure the input buffer is big enough for an memcpy() when doing the restore autodetection in the shell. (check-in: 1637d29d user: drh tags: trunk) | |
17:36 | Add the "-d SECS" option to the "status" command of testrunner.tcl (check-in: 2151ea31 user: drh tags: trunk) | |
15:28 | New MSVC makefile targets: tclextension, tclextension-install, tclextension-uninstall, and tclextension-list. (check-in: c38734f5 user: drh tags: trunk) | |
13:56 | Fix typo in a progress message in the builttclext.tcl script. (check-in: 5e7c9464 user: drh tags: trunk) | |
11:32 | Fix problems in the configure/Makefile system caused by recent enhancements and report by forum post 242ebd0c81. (check-in: a59319fe user: drh tags: trunk) | |
00:59 | New configuration option: --with-tclsh=FILE. New makefile targets: tclextension, tclextension-install, tclextension-uninstall, tclextension-list. (check-in: 888284d1 user: drh tags: trunk) | |
00:56 | Previous Makefile.in change broke the tclextension-install target. (Closed-Leaf check-in: 7748367c user: drh tags: autoconf-revamp) | |
00:51 | Continuing refinements of the tclextension-install makefile target. (check-in: 871c20a8 user: drh tags: autoconf-revamp) | |
00:19 | Extra robustness for the SQLite Tcl Extension builder, so that it works on Debian Linux. (check-in: 2f0738da user: drh tags: autoconf-revamp) | |
2024-08-01
| ||
23:30 | Simplification the ./configure script. Carry Makefile CFLAGS and OPTS through into builttclext.tcl. Fix a bug in tclsqlite.c introduced by the previous check-in. (check-in: 72a80aa0 user: drh tags: autoconf-revamp) | |
23:00 | Add the tclextension-list makefile target. The the makefile running on Mac. (check-in: 2f667cc8 user: drh tags: autoconf-revamp) | |
20:26 | New makefile targets: tclextension-install and tclextension-uninstall. Seem to work on Linux. (check-in: 534f8344 user: drh tags: autoconf-revamp) | |
20:18 | Work on a TCL script that will compile and install the TCL extension. Works on Linux only, so far. This is an incremental check-in. (check-in: 58babd2a user: drh tags: autoconf-revamp) | |
18:10 | Clean up and restructure the TCL configuration sections in autoconf. The new --with-tclsh=FILE option lets you select the specific tclsh that you want to run. (check-in: 8fafc679 user: drh tags: autoconf-revamp) | |
14:43 | Include a test case summary in the output of "errors" in testrunner.tcl. (check-in: 173df147 user: drh tags: trunk) | |
14:16 | Add the "errors" command to testrunner.tcl. (check-in: 03b7f992 user: drh tags: trunk) | |
2024-07-31
| ||
22:36 | Fix the tclsqlite.c TCL interface module so that it works with both Tcl8 and Tcl9. Make changes across the TCL-based test harness to enable SQLite to be tested with either Tcl8 or Tcl9. Get the --with-tcl= argument on the configure script working. Testing changes only - no changes to the SQLite core. I believe the previous merge attempt didn't work because of errors in the merge itself, not because of faults in the code. Trying again... (check-in: ea9d88f9 user: drh tags: trunk) | |
22:26 | testrunner.db should be in WAL mode for improved concurrency while running "watch sqlite3 test/testrunner.tcl status". (Leaf check-in: f23ad097 user: drh tags: tcl9) | |
22:25 | Make the #include section of tclsqlite.c the same as tclsqlite.h. (check-in: 2afadbeb user: drh tags: tcl9) | |
22:17 | Fix typo in testrunner.tcl for the "status" command that was causing it to fail if any errors were seen. (check-in: 8327c5ed user: drh tags: tcl9) | |
21:59 | Use `<tcl.h>` instead of `"tcl.h"` to include the TCL interface. (check-in: 4e32d4ae user: drh tags: tcl9) | |
21:46 |
Changed: Move this back onto the branch. It isn't ready for trunk yet.
| |
19:57 | More tweaks to testfixture-implemented TCL commands to make them safe for Tcl9. (check-in: 67897ca9 user: drh tags: tcl9) | |
19:56 | Under Tcl9, the %x format letter truncates to 32-bits. Must use %llx in order to get a 64-bit rendering. (check-in: a3044e0a user: drh tags: tcl9) | |
17:15 | Fixes to testfixture routines needed to test snapshots. (check-in: 66f61c3b user: drh tags: tcl9) | |
16:37 | Fix a typo in testrunner_data.tcl that prevented --with-tcl specifications from being carried through into sub-builds. Adjust test cases to account for new floating-point differences discovered when --with-tcl was fixed. (check-in: b8f81351 user: drh tags: tcl9) | |
15:04 | Remove obsolete testfixture TCL commands formerly required by Windows but now handled by Tcl itself. Update tests case accordingly. (check-in: 4f065fb6 user: drh tags: tcl9) | |
13:00 | Fix problems uncovered while testing Tcl9 on Windows. (check-in: d5523c77 user: drh tags: tcl9) | |
12:19 | Minor adjustments to get Tcl9-based testing working on Macs. (check-in: 066c8672 user: drh tags: tcl9) | |
11:42 | Adjust the configure script so that the --with-tcl option is used to find the appropriate tclsh. (check-in: 6fb9e37c user: drh tags: tcl9) | |
11:12 | Patch to testrunner.tcl so that it works with Tcl9's pedantic UTF-8 checking. (check-in: 8d4a23d3 user: drh tags: tcl9) | |
10:59 | Fixes to tclsqlite.c to facilitate TEA installs. (check-in: 7157c3c9 user: drh tags: tcl9) | |
02:01 | Fix a problem with strictly conforming UTF8 in shell1.test. (check-in: 8ee187f9 user: drh tags: tcl9) | |
01:53 | Adjust a few tests that don't work even with the new floating point comparison routine. (check-in: 895125a4 user: drh tags: tcl9) | |
01:45 | Implement a new comparison routine to compare text renderings of floating point values. This gets the number of failures down to just 5. But the routine needs work, and probably refactoring. (check-in: 71f2ee5d user: drh tags: tcl9) | |
2024-07-30
| ||
20:39 | All tests in "make test" now pass with Tcl9, except for about 198 cases where the error involves small differences in the rendering to floating point values. (check-in: 8e27f532 user: drh tags: tcl9) | |
18:49 | More adjustments to the incrblob channel: Apparently you need to wait until the close2Proc is called with a flag of 0 before actually shutting down the channel. (check-in: fa549a55 user: drh tags: tcl9) | |
18:42 | Adjustments to test cases for session so that they work with Tcl9. (check-in: d417415b user: drh tags: tcl9) | |
18:15 | Tcl_ChannelType implementations for Tcl9 apparently require that wideSeekProc be implemented. Also adjust minor test script issues for fts5 tests so that they can be run sequentially and so that they do not depend on the specific floating point output formats generated by Tcl. (check-in: 19fda979 user: drh tags: tcl9) | |
17:09 | Get rid of "-encoding binary" across all test cases, as that is no longer supported in Tcl9. Use "-translation binary" instead. (check-in: e0d9670d user: drh tags: tcl9) | |
16:59 | Use the SQLite format() function to format floating point values for test results, to avoid inconsistences in TCL versions. (check-in: 6a63c472 user: drh tags: tcl9) | |
16:51 | Fix the incrblob channel so that partial close works with Tcl9. (check-in: d54ec2de user: drh tags: tcl9) | |
15:49 | First attempt at getting the build to work with Tcl 9.0. (check-in: 6e5bb48a user: drh tags: tcl9) | |
2024-07-27
| ||
20:28 | Fix documentation typo. Forum post 993cb82402 (check-in: 86de4e75 user: drh tags: trunk) | |
2024-07-24
| ||
23:58 | wasm minimal build: strip authorizers and JSON support (saves approx 35kb). Strip vtab support from the JS bits but cannot yet strip it from the C bits because that requires a custom-configured sqlite3.c. (check-in: eb64d106 user: stephan tags: trunk) | |
22:07 | Restructuring of the wasm build to support an experimental 'minimal' build mode which elides all non-core APIs. (check-in: ee2191f7 user: stephan tags: trunk) | |
13:53 | Add the percentile extension to the CLI by default. (check-in: bcc31846 user: drh tags: trunk) | |
13:41 | Add the percentile_cont(Y,P) variant of percentile() to the percentile extension. (check-in: 095c22e6 user: drh tags: trunk) | |
12:12 | JNI SQLTester: fix --new command to force-replace db if it already exists. Add no-op impls for --stmt-cache and --jsonglob commands. (check-in: f1185dc3 user: stephan tags: trunk) | |
2024-07-23
| ||
16:23 | Enhance the percentile() extension function to include the median() variant. Update the implementation to implement its own sorting algorithm, so that the extension no longer depends on qsort(). (check-in: 6e31b1ba user: drh tags: trunk) | |
2024-07-22
| ||
21:46 | Doc typo fix. No code changes. (check-in: 8d558ad2 user: stephan tags: trunk) | |
21:21 | Move a block of JS code which was inadvertently (and harmlessly) moved in the previous checkin. Clarify the semantics of an internal-use-only API. Add another WAL-related JS test. (check-in: 6cd9f55a user: stephan tags: trunk) | |
20:58 | OPFS VFSes: remove the on-open() pragma calls, as those (A) already reflected the build-time default settings and (B) they made it illegal to run locking_mode=exclusive, which is a requirement for WAL mode without shared memory. Modify part of the test suite to demonstrate that the SAHPool VFS can run in WAL mode so long as locking_mode=exclusive is used. (check-in: 19cd8e2b user: stephan tags: trunk) | |
19:52 | wasm build: resolve a circular dep and do some minor tidying up. (check-in: 9df3f1f2 user: stephan tags: trunk) | |
2024-07-21
| ||
23:34 | Fixes to TreeView debugging output for VALUES clauses. (check-in: b6aed8bc user: drh tags: trunk) | |
23:10 | Improved debugging output when using PRAGMA vdbe_addoptrace: Show the range of opcodes being checked for Column-to-Copy conversion. (check-in: 2c122026 user: drh tags: trunk) | |
2024-07-20
| ||
16:11 | Fix an oversized allocation in sqlite3ExprCodeIN(). (check-in: d7be326a user: dan tags: trunk) | |
2024-07-18
| ||
19:17 | Minor typo fixes in test-script-interpreter.md. (check-in: bf54b260 user: stephan tags: trunk) | |
18:44 | Fix a problem in FTS5 where it reports the wrong error code following an OOM. (check-in: 0c1cc407 user: drh tags: trunk) | |
2024-07-17
| ||
18:38 | Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned. (check-in: 539e4f66 user: dan tags: trunk) | |
16:27 | Add extra assert() statements to the fixes on this branch. (Closed-Leaf check-in: 81b63600 user: dan tags: alignment-fixes) | |
2024-07-15
| ||
10:11 | Slight doc touchup for [af41a1e6fc8b36e9bf65] based on feedback. No code changes. (check-in: be7b1fc0 user: stephan tags: trunk) | |
2024-07-13
| ||
18:16 | Improve one of the JS test cases. (check-in: 3767d8be user: stephan tags: trunk) | |
16:53 | Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned. (check-in: 2212d748 user: dan tags: alignment-fixes) | |
15:42 | Add JS binding for sqlite3_column_decltype(). (check-in: 5252d292 user: stephan tags: trunk) | |
15:21 | JS doc touchups. No code changes. (check-in: a8e24049 user: stephan tags: trunk) | |
14:07 | Add JS bindings for sqlite3_stmt_busy() and sqlite3_stmt_explain(). (check-in: b772edfb user: stephan tags: trunk) | |
13:22 | Add missing sqlite3_bind_parameter_name() binding to JS. (check-in: 6dcfcc7e user: stephan tags: trunk) | |
12:50 | Add JS bindings and tests for sqlite3_interrupted(), is_interrupted(), and db_readonly(). (check-in: 5589ba56 user: stephan tags: trunk) | |
11:47 | Remove a stray/harmless duplicate wasm function export entry. (check-in: 5402e4fb user: stephan tags: trunk) | |
01:40 | Add several convenience links to the OPFS VFS concurrency tester app for launching it with various combinations of options. (check-in: 397d6a18 user: stephan tags: trunk) | |
01:02 | Add an option to the opfs-sahpool VFS which tells it to ignore a previous init failure and retry, as an opt-in workaround for a browser quirk which occasionally denies OPFS access on the first attempt and permits it on subsequent attempts. This resolves issue #79 of the npm distribution. (check-in: fbf3948a user: stephan tags: trunk) | |
00:55 | Rename the new opfs-sahpool init-retry flag to the suitably descriptive, and suitably onerous, forceReinitIfPreviouslyFailed, based on feedback. (Closed-Leaf check-in: c9f0a609 user: stephan tags: sahpool-reinit-fallback) | |
2024-07-12
| ||
14:41 | sqldiff: fail if the 2nd db argument cannot be opened read-only. (check-in: e8b33525 user: stephan tags: trunk) | |
13:49 | Work around a difficult-to-trigger Atomics API message-passing quirk in the OPFS VFS which appears in rare instances in some browsers when running high I/O loads. This resolves issue #12 of the npm distribution. (check-in: af41a1e6 user: stephan tags: trunk) | |
13:45 | sqldiff: if the first db argument does not exist, fail instead of creating an empty db. Resolving that for the second argument is trickier, as discussed in forum post ec2d429e32. (check-in: 0547ccf7 user: stephan tags: trunk) | |
2024-07-11
| ||
19:50 | Reformulate the forceReinitIfFailed handling based on feedback, to correct the type-checking and resolve a potential race condition. (check-in: c4f46830 user: stephan tags: sahpool-reinit-fallback) | |
14:07 | Remove the timing and counter metrics from the OPFS VFS, as they're long-since unused so are just wasted CPU cycles. (Closed-Leaf check-in: 67c035c3 user: stephan tags: opfs-errant-op) | |
12:57 | Add some docs explaining [64f4f3cd878b1a72]. (check-in: 4fdf9a32 user: stephan tags: opfs-errant-op) | |
12:36 | Proposed workaround for the "errant op" case in the OPFS VFS, as discussed in issue #12 of the npm distribution. (check-in: 64f4f3cd user: stephan tags: opfs-errant-op) | |
11:04 | Add an option to force the opfs-sahpool VFS init to re-run after it fails on a first attempt, as a workaround for flaky environments where initial access to OPFS sync access handles is rejected but then permitted on a second attempt. Reported and discussed in issue #79 of the npm distribution. (check-in: 5286e0f6 user: stephan tags: sahpool-reinit-fallback) | |
2024-07-10
| ||
08:33 | Rename some JS files for consistency. This affects only the build process, not the deliverables. (check-in: bcef3f71 user: stephan tags: trunk) | |
2024-07-08
| ||
17:39 | Fix a use-after-free that could occur following an OOM introduced by [d8cedbe0]. (check-in: 4fabfacf user: dan tags: trunk) | |
16:01 | Improve the error message returned when fts5 finds a row is missing from its content table. (check-in: 9b1afd4a user: dan tags: trunk) | |
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. (check-in: d8cedbe0 user: drh tags: trunk) | |
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: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-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) | |
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-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-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) | |
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:01 | Remove some JS docs which no longer apply. No code changes. (check-in: f253cab3 user: stephan tags: trunk) | |
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) | |
2024-06-11
| ||
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) | |
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
| ||
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) | |
2024-06-09
| ||
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-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) | |
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: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) | |
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) | |
2024-06-04
| ||
19:21 | Fix harmless compiler warnings seen with MSVC. (check-in: 93ac8573 user: mistachkin tags: trunk) | |
17:26 | Better handle WHERE terms that are common to two or more OR branches when planning virtual table queries. Fix for ticket [6e3ace1270f29930]. (check-in: 1976c3f7 user: dan tags: trunk) | |
15:07 | Fix a couple of memory leaks in the shell tool code that could occur when processing errors. (check-in: e84f09d4 user: dan tags: trunk) | |
14:32 | Allow shell command "testctrl pending_byte" to be used in unsafe-testing mode only. (check-in: afa45c4f user: dan tags: trunk) | |
2024-06-03
| ||
18:04 | Address a corner-case associated with the call-function-once optimization of check-in [663f5dd32d9db832] that was causing a (harmless) use of an uninitialized bytecode register. dbsqlfuzz 8a44f675401a8b1f68a43bf813c4f4f72ad8f0ea (check-in: b37ac2d0 user: drh tags: trunk) | |
12:36 | Omit an unused #define. (check-in: 9c2de28a user: drh tags: trunk) | |
07:22 | Modify three #if checks in os_unix.c to improve handling of SQLITE_OMIT_WAL on WASI builds. Based on the discussion in/around forum post 57e918431735128a. (check-in: 296eeb26 user: stephan tags: trunk) | |
2024-06-02
| ||
10:52 | Be more aggressive about freeing memory associated with the sqlite3_index_info.idxStr field. (Closed-Leaf check-in: 85dcd0a8 user: drh tags: xbestindex-or-terms) | |
2024-06-01
| ||
17:56 | Have fts5.xBestIndex return SQLITE_CONSTRAINT, instead of a large cost, when no usable plan can be found. (check-in: 7c470945 user: dan tags: xbestindex-or-terms) | |
2024-05-31
| ||
20:32 | Further tests for OR constraints on virtual tables. (check-in: ff4a3005 user: dan tags: xbestindex-or-terms) | |
19:26 | Better handle WHERE terms that are common to two or more OR branches when planning virtual table queries. (check-in: 4edd9b29 user: dan tags: xbestindex-or-terms) | |
15:39 | Do not even try star-schema detection if the join has fewer than 5 tables, since 5 is the minimum for a positive detection. (check-in: a07ec16b user: drh tags: trunk) | |
14:39 | Document the OP_Explain opcode. Add the WhereLoop.rRun value as P3 in OP_Explain opcodes associated with WhereLoops, for testing purposes. (check-in: 996c46e6 user: drh tags: trunk) | |
2024-05-30
| ||
21:54 | Back out [dcc2bb2c562e97e090174], as it breaks the --with-wasi-sdk builds. (check-in: 62199562 user: stephan tags: trunk) | |
17:56 | Remove the unconditional SQLITE_OMIT_WAL when building in wasi-sdk mode, per requests in the forum. (check-in: dcc2bb2c user: stephan tags: trunk) | |
13:27 | Ensure that the second pass call to wherePathSolver() always reports a positive value for the estimated number of output rows. This fixes a long-standing (though exceedingly minor) problem that was only revealed by a new assert() added yesterday. dbsqlfuzz 545d6debc2da496ab2b915e33ea34d9a35a935df (check-in: a47c644f user: drh tags: trunk) | |
11:14 | Update shell.c to use the msteve fork of linenoise, per /chat discussion. (check-in: ee92fa83 user: stephan tags: trunk) | |
2024-05-29
| ||
15:16 | Remove an unused parameter from fts5ConfigParseSpecial(). Compiler-warning fix only - no functional changes. (check-in: c08dd245 user: drh tags: trunk) | |
15:08 | Use a heuristic of artifically lowering the cost of fact tables in a star-schema query in order to prevent plans where the fact tables are in outer loops from being trimmed by the path limiter. This helps to generate better (faster) query plans in those particular cases. (check-in: 38db9b5c user: drh tags: trunk) | |
14:32 | Change an assert() (incorrectly) added by the previous check-in into a testcase(). (Closed-Leaf check-in: 5e64b541 user: drh tags: star-schema) | |
14:04 | Small performance enhancement in wherePathSolver() (check-in: bdab6964 user: drh tags: star-schema) | |
13:29 | Improvements to comments and debugging output. (check-in: 85164ee1 user: drh tags: star-schema) | |
10:40 | Remember the amount of the heuristic cost adjustment associated with star schemas and compensate when computing whether or not to use Bloom filters. (check-in: 21daf246 user: drh tags: star-schema) | |
09:53 | Fix typos in the star-schema test cases. (check-in: 40809373 user: drh tags: star-schema) | |
03:35 | Fix sqldiff out-of-bounds char classification error mentioned in the forum. (check-in: b31933d8 user: larrybr tags: trunk) | |
00:38 | Use a heuristic in the query planner to help it better cope with large star schema queries. (check-in: a98be0f5 user: drh tags: star-schema) | |
2024-05-28
| ||
19:08 | Fix a couple of assert() statements so that they cannot fire when the SQLITE_TESTCTRL_INTERNAL_FUNCTIONS debugging capability is activated. dbsqlfuzz f5b347cf167a62fbe08062b2feee65cb9306e363. (check-in: 273504b7 user: drh tags: trunk) | |
18:53 | Tweaks to the query planner so that it is better able to deal with star queries with many dimensions and bad indexes. (check-in: 1e490810 user: drh tags: trunk) | |
12:41 | Increase the number of parallel paths in the query solver from 12 to 20. In the .wheretrace output, sort the parallel paths in order of increasing cost. (check-in: 8ba2c2f5 user: drh tags: trunk) | |
11:24 | Documentation typo fix. Forum post 772d6688f5. (check-in: 1f2f9c70 user: drh tags: trunk) | |
10:57 | Fix a problem with the error message reported by fts5 in some OOM cases. (check-in: c7aaa28f user: dan tags: trunk) | |
00:16 | Improve the automatic-index decision such that no attempt is made to create an automatic index on a column that is known to be non-selective because if its use in other indexes that have been analyzed. See ticket [8ff324e120d5e9bd] and forum post b21c2101a559be0a. (check-in: 2a7603c3 user: drh tags: trunk) | |
00:01 | Query planner tuning: Increase the maximum number of simultaneous solutions to track in the solver from 10 to 12. (check-in: fe2e1dad user: drh tags: trunk) | |
2024-05-27
| ||
21:55 | Avoid creating an automatic index on a column that is known to be not very selective. (Closed-Leaf check-in: 70409763 user: drh tags: auto-index-improvements) | |
19:52 | The previous check-in was a little two aggressive about skipping the initialization of entries in the CellArray.ixNx array. Fixed here. (check-in: 1b6d1fbc user: drh tags: trunk) | |
18:15 | Fix typo in comment used to generate parts of the documentation. Forum post da5a2ca4db. (check-in: 428aadf0 user: drh tags: trunk) | |
15:13 | Very small performance increase and size reduction by removing unnecessary ALWAYS() macros from the btree balance logic and replacing them with special initialization of CellArray and some assert()s. (check-in: 32b79041 user: drh tags: trunk) | |
13:41 | Doc typo fix. No code changes. (check-in: eaf07fe6 user: stephan tags: trunk) | |
13:24 | For compatibility with PostgreSQL, when right-hand side of the ->> operator is negative, it should index from the right side of the JSON array on the left-hand side. (check-in: 82365a45 user: drh tags: trunk) | |
11:35 | Fix a possible buffer overwrite in the ".import" command. forum post 0c447f0548. (check-in: 0fd958fa user: dan tags: trunk) | |
11:31 | Add new assert() statements to help out a static analyzer. Response to forum post 17fe8ac32e0de4f5. (check-in: 857f6d53 user: drh tags: trunk) | |
2024-05-25
| ||
23:13 | Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error. dbsqlfuzz d9de2a508f693e5a228d7a01d5341e3c64326fbb. (check-in: 57aeb3a2 user: drh tags: trunk) | |
2024-05-24
| ||
23:44 | Ensure that queries like "SELECT func(a) FROM tab GROUP BY 1" only call the func() function once per row. Fix for the issue described in forum thread bf8f43aa522c2299. (check-in: 663f5dd3 user: drh tags: trunk) | |
21:38 | Fix another fts5 problem related to unknown tokenizer modules. (check-in: e78b7783 user: dan tags: trunk) | |
21:23 | Fix a crash in fts5 that could occur within "PRAGMA integrity_check" if the specified tokenizer was unknown. (check-in: 061d7b69 user: dan tags: trunk) | |
20:18 | When omitting result columns for the vector-IN optimization, make sure that any result-set column references in both the ORDER BY clause and the GROUP BY clause are updated appropriately. (Closed-Leaf check-in: f890812d user: drh tags: group-by-consistency) | |
18:31 | Ensure that queries like "SELECT indeterministic(a) FROM tbl GROUP BY 1" invoke the indeterministic function only once for each row of tbl. (check-in: 4555d665 user: dan tags: group-by-consistency) | |
14:16 | Add the stmtrand() extension function for use in testing. (check-in: 5c97a5b9 user: drh tags: trunk) | |
13:33 | Fix an "ifcapable" expression in values.test. (check-in: b8442d2a user: dan tags: trunk) | |
2024-05-23
| ||
23:26 | Fix the window-function group_concat() so that it returns an empty string if it has one or more empty string inputs. This fixes a bug introduced by [c6da39115d3e2b0f] on 2019-03-26 (version 3.28.0) and reported by forum post bf8f43aa522c2299. (check-in: cec6bb3f user: drh tags: trunk) | |
15:05 | Merge various enhancements that were being held on a branch until after the 3.46.0 release. (1) Allow arbitrary expressions in the second argument to the RAISE() function. (2) Performance optimization to the OP_OpenRead and OP_OpenWrite bytecode operators. (3) Allow FTS5 tables to be dropped even if the associated tokenizer is not available. (4) Performance optimizations in FTS5. (5) Generate better bytecode to improve performance of ONEROW scans. (check-in: 1e5385ff user: drh tags: trunk) | |
14:58 | Increase the version number to 3.47.0 to begin the next development cycle. (check-in: 20e228a2 user: drh tags: trunk) | |
13:25 | Version 3.46.0 (check-in: 96c92aba user: drh tags: trunk, release, major-release, version-3.46.0) | |