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: 7a0cdc7edb 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: a1915cbdec 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: 41a41c173a user: drh tags: order-by-subquery) | |
02:19 | Bug fix in the subquery ORDER BY propagator. (check-in: 5a9a3b8af7 user: drh tags: order-by-subquery) | |
00:37 | Improvements to the subquery ORDER BY decision algorithm. Fewer false-negatives. (check-in: b82421e3f5 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: 2fbb4dc232 user: drh tags: order-by-subquery) | |
15:31 | Improved help message for --disable-tcl on the configure script. (check-in: 96e6cfb211 user: drh tags: trunk) | |
15:23 | Reinstate the --disable-tcl option on ./configure. Forum thread 845d4a57becc7f3c. (check-in: de927016aa user: drh tags: trunk) | |
2024-08-14
| ||
20:00 | Doc typo correction reported in the forum. (check-in: 48900a867c user: stephan tags: trunk) | |
17:58 | Improved documentation for the sha3() SQL functions in the shathree.c extension in ext/misc. (check-in: 0ce609103e user: drh tags: trunk) | |
14:26 | Fix an assert() in fts5 that might fail with an expression like "... NOT ''". (check-in: 317c91edfc user: dan tags: trunk) | |
2024-08-13
| ||
21:04 | Add the sha3_agg() aggregate to the shathree extension. (check-in: c4d7f9996c user: drh tags: trunk) | |
2024-08-12
| ||
09:49 | Resolve parameters Bind $int_N and $test_T in fuzzcheck inputs. (check-in: 9c10664416 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: d4014c87ba 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: 3778b2a9ca 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: c86ef65545 user: drh tags: trunk) | |
14:53 | Fix behavior change in the offset() SQL function introduced by check-in [f0b671183f44d0ae]. (check-in: c2ac17f183 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: f0b671183f user: drh tags: trunk) | |
09:56 | Add an assert() to fix a harmless compiler warning in the recovery extension. (check-in: 2502339339 user: drh tags: trunk) | |
2024-08-09
| ||
22:48 | Fix a few minor TCL9 compatibilities issues. (check-in: 69eed19914 user: drh tags: trunk) | |
18:53 | Import the second ALTER TABLE fix from trunk. (Closed-Leaf check-in: 1de3e58836 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: b416756320 user: drh tags: trunk) | |
18:22 | Merge the error code fix from trunk. (check-in: 81dfb8cd5d 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: 9052187efd 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: fae39ae932 user: drh tags: covering-index-patch) | |
12:35 | Bind the new debug parameters in fuzzinvariants.c. (check-in: 7e1dc26305 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: fa047c3ea7 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: 123b154ce3 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: 797b0a13fd 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: 670beb133e 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: 3b1b0c1419 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: a929cdb00f user: drh tags: trunk) | |
10:51 | Move a misplaced va_end, as reported in forum post 702c79e9da. (check-in: daa25fb35f 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: 4e69dce209 user: drh tags: trunk) | |
2024-08-07
| ||
21:20 | Fix a broken assert in fts5_expr.c. (check-in: 08cc548840 user: dan tags: trunk) | |
15:17 | Add a new assert() to help static analyzers understand that a pointer is never NULL. (check-in: 433f2b942e user: drh tags: trunk) | |
14:54 | Fix a harmless compiler warning in an assert(). (check-in: 5e4c9a74b2 user: drh tags: trunk) | |
2024-08-06
| ||
23:09 | Remove unused test cases from FTS5, as they interfere with "grep". (check-in: 048a71bae4 user: drh tags: trunk) | |
22:49 | Improved robustness of parsing of tokenize= arguments in FTS5. Forum post 171bcc2bcd. (check-in: d9f726ade6 user: drh tags: trunk) | |
20:00 | Improvements to ./configure that will hopefully break fewer builds. (check-in: 769e32a69b 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: 533a6251f1 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: 931ad7d9e3 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: 90ac845775 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: ff4ac279b0 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: 10e97abb87 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: c327c0c02c 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: 94015cda4c 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: 1637d29d51 user: drh tags: trunk) | |
17:36 | Add the "-d SECS" option to the "status" command of testrunner.tcl (check-in: 2151ea3163 user: drh tags: trunk) | |
15:28 | New MSVC makefile targets: tclextension, tclextension-install, tclextension-uninstall, and tclextension-list. (check-in: c38734f575 user: drh tags: trunk) | |
13:56 | Fix typo in a progress message in the builttclext.tcl script. (check-in: 5e7c946456 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: a59319fe4a user: drh tags: trunk) | |
00:59 | New configuration option: --with-tclsh=FILE. New makefile targets: tclextension, tclextension-install, tclextension-uninstall, tclextension-list. (check-in: 888284d1d4 user: drh tags: trunk) | |
00:56 | Previous Makefile.in change broke the tclextension-install target. (Closed-Leaf check-in: 7748367c78 user: drh tags: autoconf-revamp) | |
00:51 | Continuing refinements of the tclextension-install makefile target. (check-in: 871c20a848 user: drh tags: autoconf-revamp) | |
00:19 | Extra robustness for the SQLite Tcl Extension builder, so that it works on Debian Linux. (check-in: 2f0738daaf 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: 72a80aa0ab user: drh tags: autoconf-revamp) | |
23:00 | Add the tclextension-list makefile target. The the makefile running on Mac. (check-in: 2f667cc8e5 user: drh tags: autoconf-revamp) | |
20:26 | New makefile targets: tclextension-install and tclextension-uninstall. Seem to work on Linux. (check-in: 534f8344ab 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: 58babd2aa4 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: 8fafc679d9 user: drh tags: autoconf-revamp) | |
14:43 | Include a test case summary in the output of "errors" in testrunner.tcl. (check-in: 173df1478e user: drh tags: trunk) | |
14:16 | Add the "errors" command to testrunner.tcl. (check-in: 03b7f99229 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: ea9d88f9ca 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: f23ad09798 user: drh tags: tcl9) | |
22:25 | Make the #include section of tclsqlite.c the same as tclsqlite.h. (check-in: 2afadbeb12 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: 8327c5ed53 user: drh tags: tcl9) | |
21:59 | Use `<tcl.h>` instead of `"tcl.h"` to include the TCL interface. (check-in: 4e32d4aed7 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: 67897ca97d 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: a3044e0ae6 user: drh tags: tcl9) | |
17:15 | Fixes to testfixture routines needed to test snapshots. (check-in: 66f61c3b35 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: b8f8135191 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: 4f065fb638 user: drh tags: tcl9) | |
13:00 | Fix problems uncovered while testing Tcl9 on Windows. (check-in: d5523c77fd user: drh tags: tcl9) | |
12:19 | Minor adjustments to get Tcl9-based testing working on Macs. (check-in: 066c8672ee 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: 6fb9e37c75 user: drh tags: tcl9) | |
11:12 | Patch to testrunner.tcl so that it works with Tcl9's pedantic UTF-8 checking. (check-in: 8d4a23d32d user: drh tags: tcl9) | |
10:59 | Fixes to tclsqlite.c to facilitate TEA installs. (check-in: 7157c3c910 user: drh tags: tcl9) | |
02:01 | Fix a problem with strictly conforming UTF8 in shell1.test. (check-in: 8ee187f98d user: drh tags: tcl9) | |
01:53 | Adjust a few tests that don't work even with the new floating point comparison routine. (check-in: 895125a489 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: 71f2ee5db0 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: 8e27f5326c 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: fa549a5507 user: drh tags: tcl9) | |
18:42 | Adjustments to test cases for session so that they work with Tcl9. (check-in: d417415b96 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: 19fda979c5 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: e0d9670dd9 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: 6a63c47219 user: drh tags: tcl9) | |
16:51 | Fix the incrblob channel so that partial close works with Tcl9. (check-in: d54ec2de78 user: drh tags: tcl9) | |
15:49 | First attempt at getting the build to work with Tcl 9.0. (check-in: 6e5bb48a74 user: drh tags: tcl9) | |
2024-07-27
| ||
20:28 | Fix documentation typo. Forum post 993cb82402 (check-in: 86de4e755e 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: eb64d10655 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: ee2191f730 user: stephan tags: trunk) | |
13:53 | Add the percentile extension to the CLI by default. (check-in: bcc3184696 user: drh tags: trunk) | |
13:41 | Add the percentile_cont(Y,P) variant of percentile() to the percentile extension. (check-in: 095c22e622 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: f1185dc349 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: 6e31b1bab1 user: drh tags: trunk) | |
2024-07-22
| ||
21:46 | Doc typo fix. No code changes. (check-in: 8d558ad25b 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: 6cd9f55a97 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: 19cd8e2b05 user: stephan tags: trunk) | |
19:52 | wasm build: resolve a circular dep and do some minor tidying up. (check-in: 9df3f1f24c user: stephan tags: trunk) | |
2024-07-21
| ||
23:34 | Fixes to TreeView debugging output for VALUES clauses. (check-in: b6aed8bcb0 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: 2c122026db user: drh tags: trunk) | |
2024-07-20
| ||
16:11 | Fix an oversized allocation in sqlite3ExprCodeIN(). (check-in: d7be326a80 user: dan tags: trunk) | |
2024-07-18
| ||
19:17 | Minor typo fixes in test-script-interpreter.md. (check-in: bf54b26092 user: stephan tags: trunk) | |
18:44 | Fix a problem in FTS5 where it reports the wrong error code following an OOM. (check-in: 0c1cc4071e 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: 539e4f6617 user: dan tags: trunk) | |
16:27 | Add extra assert() statements to the fixes on this branch. (Closed-Leaf check-in: 81b6360050 user: dan tags: alignment-fixes) | |
2024-07-15
| ||
10:11 | Slight doc touchup for [af41a1e6fc8b36e9bf65] based on feedback. No code changes. (check-in: be7b1fc0c5 user: stephan tags: trunk) | |
2024-07-13
| ||
18:16 | Improve one of the JS test cases. (check-in: 3767d8bef2 user: stephan tags: trunk) | |
16:53 | Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned. (check-in: 2212d7488e user: dan tags: alignment-fixes) | |
15:42 | Add JS binding for sqlite3_column_decltype(). (check-in: 5252d292b1 user: stephan tags: trunk) | |
15:21 | JS doc touchups. No code changes. (check-in: a8e240495f user: stephan tags: trunk) | |
14:07 | Add JS bindings for sqlite3_stmt_busy() and sqlite3_stmt_explain(). (check-in: b772edfb44 user: stephan tags: trunk) | |
13:22 | Add missing sqlite3_bind_parameter_name() binding to JS. (check-in: 6dcfcc7e1c user: stephan tags: trunk) | |
12:50 | Add JS bindings and tests for sqlite3_interrupted(), is_interrupted(), and db_readonly(). (check-in: 5589ba5651 user: stephan tags: trunk) | |
11:47 | Remove a stray/harmless duplicate wasm function export entry. (check-in: 5402e4fb1c 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: 397d6a18f1 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: fbf3948a4b 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: c9f0a60902 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: e8b33525fc 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: af41a1e6fc 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: 0547ccf776 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: c4f4683091 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: 67c035c34f user: stephan tags: opfs-errant-op) | |
12:57 | Add some docs explaining [64f4f3cd878b1a72]. (check-in: 4fdf9a322f 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: 64f4f3cd87 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: 5286e0f654 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: bcef3f71a2 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: 4fabfacfcf user: dan tags: trunk) | |
16:01 | Improve the error message returned when fts5 finds a row is missing from its content table. (check-in: 9b1afd4acb 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: d8cedbe055 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: c9a3498113 user: drh tags: trunk) | |
01:05 | Small performance optimizations. (Closed-Leaf check-in: 99fd34b58a user: drh tags: reuse-subqueries) | |
2024-07-04
| ||
18:56 | Add test cases to in7.test. (check-in: 07817efc10 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: a81299be2c user: drh tags: reuse-subqueries) | |
17:49 | Update EXPLAIN output to include P4_SUBRTNSIG. (check-in: 61e56923c8 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: 2accf32b6e 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: be77fe701c 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: a204ffc06b 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: baa83b460c user: drh tags: trunk) | |
20:10 | Show the creation of IN-operator Bloom filters in the EXPLAIN QUERY PLAN output. (Closed-Leaf check-in: c10a1b99d4 user: drh tags: in-bloom) | |
18:56 | Add a new sqlite3FaultSim() call to OP_NotFound to use for testing purposes. (check-in: 84fd275bfd 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: 1933496539 user: drh tags: in-bloom) | |
2024-07-02
| ||
13:54 | Add assert() statements to FTS5 to hush-up warnings from scan-build. (check-in: 77a76654e6 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: fc248a4a0a 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: 33841c9c3c 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: f501166de4 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: da0b794852 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: e41930ef5b user: dan tags: trunk) | |
18:07 | Additional steps to make sure calls to sqlite3ExprToRegister() are sane. (check-in: 1c42d7176b 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: fcb669cfaa user: drh tags: trunk) | |
2024-06-24
| ||
18:06 | Fix an incorrect tcl comment that appeared in many fts5 test files. (check-in: d07085e203 user: dan tags: trunk) | |
16:08 | Fix some problems with calling fts5 api functions from within non-full-text queries. (check-in: 56d265f956 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: 1535828335 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: e54eb217c9 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: 2aa009c38b 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: eed76e6698 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: afae2c9e6f user: stephan tags: trunk) | |
2024-06-18
| ||
22:03 | Minor cleanups in the new fiddle build code. (check-in: d356aebdd4 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: a9f1758f1c 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: 66085ca423 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: 993143c5c3 user: stephan tags: trunk) | |
19:36 | Add instructions for how to do debugging builds of the CLI on Windows. (check-in: abe81c1861 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: 4152894433 user: drh tags: trunk) | |
09:58 | Internal doc typo fixes, as reported in the forum. No code changes. (check-in: ea16b286b4 user: stephan tags: trunk) | |
2024-06-16
| ||
17:06 | Remove some dead JS code. (check-in: 754e6e059b 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: 13242289c5 user: drh tags: trunk) | |
19:27 | Fix harmless comment typo. (check-in: ca06380233 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: e87966cf63 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: 5e700f2cc2 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: 5bd9fd5f61 user: stephan tags: trunk) | |
21:01 | Remove some JS docs which no longer apply. No code changes. (check-in: f253cab335 user: stephan tags: trunk) | |
15:50 | Fix a problem with rolling back hot journals using the unix-dotfile VFS. (check-in: a44703135e 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: 9d63033bf4 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: c298b8ba2d user: stephan tags: trunk) | |
12:17 | Doc updates in JS code. No functional changes. (check-in: 587ed3a5d2 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: 1e6fa95b88 user: dan tags: unix-dotfile-fix) | |
11:39 | Slight API doc tweak for xCheckReservedLock(), based on forum feedback. No code changes. (check-in: 2af7a96f68 user: stephan tags: trunk) | |
2024-06-11
| ||
20:28 | Handle the case where unix-dotfile is used with URI parameter nolock=1. (check-in: 3925a5b904 user: dan tags: unix-dotfile-fix) | |
20:03 | Fix a problem with rolling back hot journals using the unix-dotfile VFS. (check-in: 4ae3300b79 user: dan tags: unix-dotfile-fix) | |
17:04 | Remove some dead JS code and update some JS docs. (check-in: 6935ac71ba 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: 06e6f64533 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: 6c103aee6f 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: 56af06fa12 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: 40de393979 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: c4a9dda280 user: drh tags: trunk) | |
23:22 | Omit bogus tests accidentally added by the privious commit. (Closed-Leaf check-in: e94dfe9928 user: drh tags: var-in-limit) | |
15:03 | Better optimize queries that use parameters in the LIMIT clause. (check-in: e58cb304d1 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: f66608bd35 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: 34f05c3d89 user: drh tags: trunk) | |
01:00 | Small performance optimization in the operatorMask routine of the WHERE clause analysis logic. (check-in: 9d69fc1c87 user: drh tags: trunk) | |
00:49 | Small performance optimization in the allowedOp() routine of the WHERE clause analysis code. (check-in: 4ba8be5447 user: drh tags: trunk) | |
2024-06-05
| ||
20:50 | Fix harmless compilation issues seen with MSVC. (check-in: 816d474938 user: mistachkin tags: trunk) | |
20:41 | Small performance optimization in the codeEqualityTerm() routine of the code generator. (check-in: 8080c6eafd 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: 80bef4d60b 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: a096eb7554 user: dan tags: trunk) | |
2024-06-04
| ||
19:21 | Fix harmless compiler warnings seen with MSVC. (check-in: 93ac8573ee 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: 1976c3f7e1 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: e84f09d469 user: dan tags: trunk) | |
14:32 | Allow shell command "testctrl pending_byte" to be used in unsafe-testing mode only. (check-in: afa45c4f5a 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: b37ac2d020 user: drh tags: trunk) | |
12:36 | Omit an unused #define. (check-in: 9c2de28a14 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: 296eeb26c8 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: 85dcd0a847 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: 7c47094537 user: dan tags: xbestindex-or-terms) | |
2024-05-31
| ||
20:32 | Further tests for OR constraints on virtual tables. (check-in: ff4a30056f 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: 4edd9b29f5 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: a07ec16bbc 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: 996c46e61d user: drh tags: trunk) | |
2024-05-30
| ||
21:54 | Back out [dcc2bb2c562e97e090174], as it breaks the --with-wasi-sdk builds. (check-in: 62199562c2 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: dcc2bb2c56 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: a47c644fef user: drh tags: trunk) | |
11:14 | Update shell.c to use the msteve fork of linenoise, per /chat discussion. (check-in: ee92fa8366 user: stephan tags: trunk) | |
2024-05-29
| ||
15:16 | Remove an unused parameter from fts5ConfigParseSpecial(). Compiler-warning fix only - no functional changes. (check-in: c08dd245f7 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: 38db9b5c83 user: drh tags: trunk) | |
14:32 | Change an assert() (incorrectly) added by the previous check-in into a testcase(). (Closed-Leaf check-in: 5e64b541d1 user: drh tags: star-schema) | |
14:04 | Small performance enhancement in wherePathSolver() (check-in: bdab69641d user: drh tags: star-schema) | |
13:29 | Improvements to comments and debugging output. (check-in: 85164ee155 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: 21daf2463e user: drh tags: star-schema) | |
09:53 | Fix typos in the star-schema test cases. (check-in: 4080937353 user: drh tags: star-schema) | |
03:35 | Fix sqldiff out-of-bounds char classification error mentioned in the forum. (check-in: b31933d873 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: a98be0f548 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: 273504b74c 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: 1e49081001 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: 8ba2c2f5cb user: drh tags: trunk) | |
11:24 | Documentation typo fix. Forum post 772d6688f5. (check-in: 1f2f9c709e user: drh tags: trunk) | |
10:57 | Fix a problem with the error message reported by fts5 in some OOM cases. (check-in: c7aaa28f78 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: 2a7603c327 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: fe2e1dadba 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: 70409763f7 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: 1b6d1fbcde user: drh tags: trunk) | |
18:15 | Fix typo in comment used to generate parts of the documentation. Forum post da5a2ca4db. (check-in: 428aadf0c7 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: 32b79041d9 user: drh tags: trunk) | |
13:41 | Doc typo fix. No code changes. (check-in: eaf07fe69f 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: 82365a45b9 user: drh tags: trunk) | |
11:35 | Fix a possible buffer overwrite in the ".import" command. forum post 0c447f0548. (check-in: 0fd958fa9b user: dan tags: trunk) | |
11:31 | Add new assert() statements to help out a static analyzer. Response to forum post 17fe8ac32e0de4f5. (check-in: 857f6d5309 user: drh tags: trunk) | |
2024-05-25
| ||
23:13 | Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error. dbsqlfuzz d9de2a508f693e5a228d7a01d5341e3c64326fbb. (check-in: 57aeb3a287 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: 663f5dd32d user: drh tags: trunk) | |
21:38 | Fix another fts5 problem related to unknown tokenizer modules. (check-in: e78b778304 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: 061d7b69e6 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: f890812df0 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: 4555d66547 user: dan tags: group-by-consistency) | |
14:16 | Add the stmtrand() extension function for use in testing. (check-in: 5c97a5b9d1 user: drh tags: trunk) | |
13:33 | Fix an "ifcapable" expression in values.test. (check-in: b8442d2a60 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: cec6bb3fc9 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: 1e5385ffc3 user: drh tags: trunk) | |
14:58 | Increase the version number to 3.47.0 to begin the next development cycle. (check-in: 20e228a22e user: drh tags: trunk) | |
13:25 | Version 3.46.0 (check-in: 96c92aba00 user: drh tags: trunk, release, major-release, version-3.46.0) | |