Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
122 check-ins for the month beginning 2024-07-01
Following month ↑
2024-07-31
| ||
23:49 | Merge the latest trunk enhancements into the lateral-join branch. (check-in: ac6ae84626 user: drh tags: lateral-join) | |
23:46 | Merge all the latest trunk enhancements into the exists-to-join branch. (Leaf check-in: 9084a4c872 user: drh tags: exists-to-join) | |
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.
| |
20:49 | Fix various problems with the code on this branch. (check-in: 8bd4ae7e95 user: dan tags: fts5-locale) | |
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:46 | Add missing documentation for new features to fts5.h. (check-in: fa0da3b28e user: dan tags: fts5-locale) | |
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) | |
10:52 | Merge latest changes from trunk into this branch. (check-in: ff64939ec8 user: dan tags: fts5-locale) | |
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 | Fix cases surrounding blob values being stored in locale=1 fts5 tables. (check-in: ae435aff17 user: dan tags: fts5-locale) | |
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:55 | Update the highlight() and snippet() functions to use locales when available. (check-in: 569ae56a67 user: dan tags: fts5-locale) | |
15:49 | First attempt at getting the build to work with Tcl 9.0. (check-in: 6e5bb48a74 user: drh tags: tcl9) | |
2024-07-29
| ||
20:31 | Fix xColumnText() and xColumnSize() APIs. Add xColumnLocale() and xTokenizeSetLocale(). (check-in: 14006711d8 user: dan tags: fts5-locale) | |
17:59 | The idea here was to simply an expression like "(a=5) IS TRUE" into "(a=5)=TRUE". But that does not work, since the original form is FALSE if y is NULL whereas the second form is NULL. Patch save for historical reference only. (Closed-Leaf check-in: d029e94399 user: drh tags: broken-istrue-opt) | |
15:00 | Fix a couple of asan problems on this branch. (check-in: 4e3e529313 user: dan tags: fts5-locale) | |
2024-07-27
| ||
20:28 | Fix documentation typo. Forum post 993cb82402 (check-in: 86de4e755e user: drh tags: trunk) | |
19:46 | Ensure that an fts5 UPDATE does not strip the locale from columns that it does not write to. (check-in: 69205264de user: dan tags: fts5-locale) | |
2024-07-26
| ||
20:50 | Add the fts5_locale() function, and begin adding the related functionality to fts5. (check-in: 8839ef7cfb user: dan tags: fts5-locale) | |
2024-07-25
| ||
16:28 | Fix a non-bare-bones-mode test case broken by the previous checkin. (check-in: 3be729493b user: stephan tags: wasm-build-rework) | |
16:21 | Strip progress handlers and window functions from the wasm bare-bones (formerly 'minimal') JS bits, noting that we can't yet use OMIT_WINDOWFUNC (for the C parts) without a custom amalgamation. Currently at 604kb. (check-in: ec02e9237e user: stephan tags: wasm-build-rework) | |
14:00 | More work on the minimal-mode wasm build (now 603kb uncompressed). Remove the hard-coded feature-enable flags from sqlite3-wasm.c and rely on the build to provide them. Some wasm build cleanup, but attempts to completely overhaul it have been thwarted by my inability to make script-generated makefile code more legible/maintainable than the current eval spaghetti. (check-in: b029c40679 user: stephan tags: wasm-build-rework) | |
10:50 | Start work on an overhaul of the wasm build process, with an eye towards less over-engineering. (check-in: ed746b3dd3 user: stephan tags: wasm-build-rework) | |
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) | |
19:31 | Fix undesirable C++-style comments in the parser. (check-in: e330596aed user: drh tags: lateral-join) | |
17:09 | Do not abort the resolver early if a LIMIT expression does not resolve, as that can result in a memory leak. (check-in: ac6dc8c605 user: drh tags: lateral-join) | |
16:59 | Only allow variables in LIMIT clauses if the LIMIT is within a LATERAL subquery and the variable resolves to another FROM clause term to the left of the subquery. We cannot allow variables from outer contexts because the LIMIT value is computed before the cursors in the outer context have been initialized. (check-in: 0a2531c3a3 user: drh tags: lateral-join) | |
16:15 | Allow LIMIT expressions to appear in any outer context. (check-in: c9d3427de5 user: drh tags: lateral-join) | |
13:55 | Do not allow LIMIT and OFFSET to be expressions except for in a LATERAL. (check-in: 1034782137 user: drh tags: lateral-join) | |
00:46 | Allow LIMIT and OFFSET to contain variables from prior terms of the FROM clause in a LATERAL subquery. Forum post dfe2cd37ca3a9a80 (check-in: 4f0515138a user: drh tags: lateral-join) | |
2024-07-21
| ||
23:36 | Merge debugging output fixes from trunk into the lateral-join branch. (check-in: 9182e99952 user: drh tags: lateral-join) | |
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) | |
21:37 | Fix to the case of a LATERAL subquery that references a prior table that uses a covering index. Forum post fc29fa4f14. (check-in: 6d863172dc user: drh tags: lateral-join) | |
18:03 | Assert added to ensure that LATERAL subqueries are materialized instead of implemented as a co-routine. (check-in: 6c14b94fb6 user: drh tags: lateral-join) | |
10:35 | Fix LATERAL subqueries so that they are able to reference other subqueries to their left that are implemented as co-routines. See Forum post dfe2cd37ca3a9a80. (check-in: 31e175fcd0 user: drh tags: lateral-join) | |
2024-07-20
| ||
17:38 | Fix rule (1c-ii) of the fromClauseTermCanBeCoroutine() decision so that it work with LATERAL. Add testcase() macros to verify bitmask conditions are all checked. (check-in: 23d83a41ea user: drh tags: lateral-join) | |
16:11 | Fix an oversized allocation in sqlite3ExprCodeIN(). (check-in: d7be326a80 user: dan tags: trunk) | |
14:06 | Add testcase() macros to bitmap tests in the new code. (check-in: 874bc7bc25 user: drh tags: lateral-join) | |
09:36 | Remove an unnecessary error offset assignment. (check-in: 4ee74b7224 user: drh tags: lateral-join) | |
08:31 | Optimizations and improved comments. (check-in: 84b80233e7 user: drh tags: lateral-join) | |
03:57 | Do not do an early abort if a lateral subquery is an empty set. (check-in: 9e50d338eb user: drh tags: lateral-join) | |
03:19 | "LATERAL" may not be a keyword, as that would cause problems for legacy databases that have tables named "lateral". It has to be parsed as an identifier. (check-in: 8217bddaf8 user: drh tags: lateral-join) | |
01:19 | Experimental implementation of LATERAL JOIN. (check-in: 3c045a96bc user: drh tags: lateral-join) | |
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:13 | Slight doc touchup for [af41a1e6fc8b36e9bf65]/[c7519d98ff09e] based on feedback. No code changes. (check-in: a61997c315 user: stephan tags: branch-3.46) | |
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:51 | 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: c7519d98ff user: stephan tags: branch-3.46) | |
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) | |
10:08 | Improved reuse of subqueries associated with IN operators, especially when the IN operator is duplicated due to predicate push-down. (check-in: 2a07caad4a user: drh tags: bedrock-3.46) | |
10:03 | 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: 557a14a24a user: drh tags: bedrock-3.46) | |
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:30 | 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. (Leaf check-in: 0bb306eb70 user: dan tags: bedrock-3.45-in-bloom) | |
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) | |