SQLite

Timeline
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

722 check-ins using file ext/misc/fileio.c version 91663804

2025-01-10
18:03
Update log messages on this branch to say "v=22". Also add log message to slow calls to sqlite3_schema_copy(). (Leaf check-in: b0cd8dfc user: dan tags: cf8f1552-commit-instr)
17:36
Add the experimental sqlite3_schema_copy() API, for copying schemas between database handles. (check-in: 04ea435d user: dan tags: cf8f1552-commit-instr)
17:09
Minor updates to schemacopy.test. (Closed-Leaf check-in: 1d544b53 user: dan tags: schema-copy)
15:10
Allow ".testctrl schemacopy 1" in the shell tool on this branch. For testing sqlite3_schema_copy(). (check-in: 1edc2e55 user: dan tags: schema-copy)
11:34
Update test script wal2big2.test to be less sensitive to PRNG output. (check-in: 2a5e7c5c user: dan tags: schema-copy)
2025-01-09
20:41
Run tests with SQLITE_TESTCTRL_SCHEMACOPY for mdevtest and sdevtest on this branch. (check-in: c25dd2de user: dan tags: schema-copy)
19:18
Rationalize and add comments to new code on this branch. (check-in: e1603c9c user: dan tags: schema-copy)
17:12
Fix minor issues on this branch. Remove unused code. (check-in: c2610bb4 user: dan tags: schema-copy)
2025-01-08
17:16
Fix problem in test code on this branch. (check-in: 05d90f8b user: dan tags: schema-copy)
10:55
Ensure that integrity-check processes tables in the same order when using a copied schema as it does when using one loaded directly from the db. (check-in: 961af944 user: dan tags: schema-copy)
2025-01-07
21:04
Fix many problems in the sqlite3_schema_copy() function. (check-in: ac9ca885 user: dan tags: schema-copy)
2025-01-06
20:39
Implemenation of experimental API sqlite3_schema_copy(), for copying a database schema between connections. More testing to come. (check-in: 65ede04d user: dan tags: schema-copy)
2024-12-23
11:31
Up logs to "v=21". (check-in: dc3a24a7 user: dan tags: cf8f1552-commit-instr)
11:23
Experimental: If SQLite is compiled with SQLITE_WAL_BIGHASH defined, use hash tables large enough to fit 128K, instead of 4K, entries in the *-shm file. (check-in: 6e800b70 user: dan tags: cf8f1552-commit-instr)
2024-12-20
19:37
When loading stat4 data, make a single large allocation for all Index.aSample[] arrays, instead of a separate allocation for each. (check-in: b40cd739 user: dan tags: cf8f1552-commit-instr)
2024-12-13
18:13
Avoid a memset() when loading stat4 data. Add instrumentation to the same code. (check-in: fa87355f user: dan tags: cf8f1552-commit-instr)
2024-12-12
20:39
Increase the maximum number of arguments on an SQL function to 1000 with the capability to increase it further up to 32767 using a compile-time option. (check-in: 3c25c69c user: drh tags: cf8f1552-commit-instr)
19:20
Add extra logging for alternative stat4 code. (check-in: 9dde0365 user: dan tags: cf8f1552-commit-instr)
19:15
Experimental code to load stat4 data using a single pass. (check-in: e0bcd305 user: dan tags: cf8f1552-commit-instr)
2024-12-11
20:42
When a writer initializes a new *-shm file hash table, zero only the hash-table slots, not the array of page numbers. (check-in: ac5401c6 user: dan tags: cf8f1552-commit-instr)
2024-12-10
14:56
Fix a problem with the formatting of "slow schema" log messages. Also change logging version to v=17. (check-in: df4183ac user: dan tags: cf8f1552-commit-instr)
2024-12-09
21:26
Fix a problem with non-PASSIVE wal2 checkpoints sometimes taking the WRITER lock. (check-in: 1a59cae3 user: dan tags: cf8f1552-commit-instr)
2024-12-06
17:52
Update logging (now v=16) to more closely analyze all attempts to load the main db schema. (check-in: 65b75373 user: dan tags: cf8f1552-commit-instr)
09:36
Guard the x64 assembler in wal.c with "ifdef __x86_64__". (check-in: 5fa1699e user: dan tags: cf8f1552-commit-instr)
2024-12-05
19:45
Add logging to report on occasions when loading the ANALYZE data is slow. (check-in: 5f9f6764 user: dan tags: cf8f1552-commit-instr)
16:52
Use an inline asm "ret stosp" instruction instead of a memset() when a writer is required to zero a hash table. (check-in: c10fa6af user: dan tags: cf8f1552-commit-instr)
2024-12-04
11:01
Temporarily enable zeroing of wal2-mode hash tables within PASSIVE, as well as non-PASSIVE, checkpoints. (check-in: a97a2b0d user: dan tags: cf8f1552-commit-instr)
2024-11-28
19:14
Update logging version to "v=13". (check-in: 442167b8 user: dan tags: cf8f1552-commit-instr)
18:58
In wal2 mode, attempt to zero old *-shm hash table pages within non-PASSIVE checkpoints. This saves writers from having to do it. (check-in: 40aafd45 user: dan tags: cf8f1552-commit-instr)
2024-11-26
17:30
Avoid ever logging times for ROLLBACK commands. (check-in: bc7f7986 user: dan tags: cf8f1552-commit-instr)
2024-11-20
20:26
Logging enhancements. And mark logs v=12. (check-in: 853f9cf4 user: dan tags: cf8f1552-commit-instr)
18:49
Experimental change to omit writing frame checksums to the wal file. (check-in: 4d370672 user: dan tags: cf8f1552-commit-instr)
17:47
Update logging version to "v=11". This should have been part of the previous commit. (check-in: e6663fab user: dan tags: cf8f1552-commit-instr)
2024-11-19
17:32
Extra logging for the freelist and hash table components of COMMITs of BEGIN CONCURRENT transactions. (check-in: 2ba41da8 user: dan tags: cf8f1552-commit-instr)
2024-11-13
14:42
Increase maximum length of sqlite3_log() messages to 700 bytes. Mark log messages as v=10. (check-in: 35aa893d user: dan tags: cf8f1552-commit-instr)
11:12
Optimize deferred allocation of pages on this branch by avoiding BTALLOC_LE. (check-in: e0c01767 user: dan tags: cf8f1552-commit-instr)
2024-11-08
17:09
Even more detailed logging of slow COMMIT statements. (check-in: 3a45387a user: dan tags: cf8f1552-commit-instr)
2024-11-04
17:33
Avoid loading the entire record into memory for an sqlite3_preupdate_old() call that retrieves an IPK value. (Leaf check-in: f9a90a0d user: dan tags: branch-3.46)
2024-11-01
15:25
Update log messages to say "v=8" instead of "v=7". (check-in: 492a0a85 user: dan tags: cf8f1552-commit-instr)
15:20
Still more logging, this time focused on the sqlite3WalFrames() function. (check-in: 52d332f0 user: dan tags: cf8f1552-commit-instr)
2024-10-30
18:24
Add extra logging to analyze COMMIT commands. (check-in: 7dbb43bd user: dan tags: cf8f1552-commit-instr)
2024-10-25
18:37
Update special logging messages on this branch to say "v=6" instead of "v=5". (check-in: af4e778b user: dan tags: cf8f1552-commit-instr)
18:24
Reduce the number of malloc()/free() calls that may occur when a BEGIN CONCURRENT transaction is committed. (check-in: fcd68beb user: dan tags: cf8f1552-commit-instr)
2024-10-23
17:16
Extra logging to debug slow commit statements. (check-in: 9cafae1f user: dan tags: cf8f1552-commit-instr)
2024-10-22
16:26
Add still more logging to determine why schema loads are so slow in some circumstances. (check-in: d02ec06e user: dan tags: cf8f1552-commit-instr)
2024-10-21
11:49
Add extra logging to SQL statements used to load the database schema on this branch. This requires SQLITE_ENABLE_STMT_SCANSTATUS. (check-in: 08e1dea9 user: dan tags: cf8f1552-commit-instr)
2024-10-17
12:17
Fix the OPFS VFS's xOpen() to honor the read-only flag. Fix the OPFS SAHPool VFS to enable re-installation of the VFS after calling OpfsSAHPoolUtil.removeVfs(). (check-in: 63ee3584 user: stephan tags: branch-3.46)
2024-10-10
15:28
Fix a typo in the previous commit. (check-in: 6deb4794 user: dan tags: cf8f1552-commit-instr)
14:31
Add extra logging points to the code on this branch. (check-in: f29ff2f3 user: dan tags: cf8f1552-commit-instr)
2024-10-08
15:08
Add logging to help analyze slow "PRAGMA cache_size = ?" statements. (check-in: cd6f585c user: dan tags: cf8f1552-commit-instr)
2024-10-07
16:11
Add logging to help analyze commit performance. (check-in: c5391f2c user: dan tags: cf8f1552-commit-instr)
12:24
Fix handling of U+fffd in the LIKE optimization. (check-in: 242cb4bb user: drh tags: branch-3.46)
2024-09-27
10:57
Allow UPDATEs of unindexed columns in fts5 contentless_unindexed=1 tables. Testing to come. (check-in: cd36d66c user: dan tags: fts5-contentless-unindexed)
2024-09-25
12:03
Prevent regular DELETE and UPDATE statements from running against contentless_unindexed=1 tables that are not also contentless_delete=1. (check-in: 21539e9d user: dan tags: fts5-contentless-unindexed)
2024-09-20
17:38
Passing shell tests on Linux and Windows. A number of FILE* API content transfer calls are diverted to the consio library via macros. (Leaf check-in: 15465462 user: larrybr tags: win-dupe-crt-fio)
14:18
Fix flub in cfWrite(). (for Win32) (check-in: 3884ddb4 user: larrybr tags: win-dupe-crt-fio)
13:13
Sync with trunk. Buildable. (A WIP, to be further tested) (check-in: 187f1d0a user: larrybr tags: win-dupe-crt-fio)
12:58
New assert()s to help verify union access. No logic changes. Testing and validation code only. (check-in: b7b64c53 user: drh tags: trunk)
02:08
Move non-console FILE* I/O to {Read,Write}File() on Win32. (This is a WIP. It builds but needs more testing.) (check-in: b769ed00 user: larrybr tags: win-dupe-crt-fio)
2024-09-19
15:44
Fix harmless compiler warning in the vfstrace extension. (check-in: c8b4d092 user: drh tags: trunk)
13:39
Improved rebustness to malformed UTF-16 inputs to sqlite3_prepare16_v2(). (check-in: 7b3a517b user: drh tags: trunk)
00:05
Remove a stray newline. (check-in: 77f587dc user: mistachkin tags: trunk)
2024-09-18
16:33
Improvements to the scope of valueFromFunction(). (check-in: a0f39419 user: drh tags: trunk)
15:52
Fix the preupdate hook so that it works when the "old.*" row has a column with a non-NULL default value that was added by ALTER TABLE ADD COLUMN after the current record was created. (check-in: 6a8c6879 user: dan tags: trunk)
15:38
Fix sqlite3-rsync so that it recognizes drive-letters on the front of pathnames in Windows, and does not misinterpret them as hostnames. (check-in: 54a3bbd5 user: drh tags: trunk)
15:02
Fix the preupdate hook so that it works when the "old.*" row has a column with a non-NULL default value that was added by ALTER TABLE ADD COLUMN after the current record was created. (Closed-Leaf check-in: 00a398cf user: dan tags: preupdate-hook-fix)
2024-09-17
22:57
Fix harmless static analyzer warning in sqlite3-rsync. (check-in: a63e412b user: drh tags: trunk)
21:42
Add assert() statements to some of the sqlite3_bind() APIs that help human readers and static analyzers, both, reason about the code and verify that it is memory safe. (check-in: 97528788 user: drh tags: trunk)
10:36
In sqlite3-rsync, do not allow the '/' character to appear anywhere in the USER@HOST: prefix to one of the argument databases. (check-in: 6089a904 user: drh tags: trunk)
2024-09-16
20:53
Fix a typo in an error message in sqlite3-rsync. (check-in: 3f25d6c8 user: drh tags: trunk)
14:11
Cleanup the sqlite3-rsync executable as part of "make clean" (check-in: 8c5e481b user: drh tags: trunk)
10:58
In sqlite3-rsync, open the replica database using ATTACH since the sqlite3_dbpage virtual table is technically a part of "main". This avoids locking problems. (check-in: 39c56c83 user: drh tags: trunk)
09:12
Improved error message in sqlite3-rsync if the SQL statement for ORIGIN_TXN fails. (check-in: 73bde71e user: drh tags: trunk)
2024-09-15
18:37
Provide more opportunity for the remote side in sqlite3-rsync to send error messages back to the local side. Be sure to invoke pclose2() when done. (check-in: 23a63505 user: drh tags: trunk)
2024-09-14
20:30
Fix the fts5 xInstToken() API for prefix queries that do not use prefix-indexes. This is experimental. (check-in: 97c2824f user: dan tags: fts5-tokendata-prefix)
16:52
Merge subsequent changes to sqlite-rsync that were accidentally missed by the prior check-in. (check-in: 50762ba0 user: drh tags: trunk)
16:39
Enhancements to sqlite_dbpage() so that it accepts INSERT statements that can extend or truncate the database. Add the sqlite3-rsync utility program that make a copy of a live database over SSH. (check-in: b7a8ce4c user: drh tags: trunk)
16:30
CLI arg handling robustness improvements. (Leaf check-in: 129aca54 user: stephan tags: sqlite3-rsync)
16:28
Add the --version option. (check-in: 9961334c user: drh tags: sqlite3-rsync)
16:03
New debugging options: --logfile, --errorfile, --remote-errorfile. If page 1 changes, always send it last. (check-in: 2d8cd766 user: drh tags: sqlite3-rsync)
11:38
Always show the -v traffic message even if there are multiple -v options. (check-in: fc05a5b7 user: drh tags: sqlite3-rsync)
11:23
Add the --logfile FILE option for debugging. (check-in: 30e1b92d user: drh tags: sqlite3-rsync)
10:59
Improved error messages coming out of sqlite3-rsync. (check-in: 452fb6de user: drh tags: sqlite3-rsync)
10:48
Make the output from sqlite3-rsync with a single -v option the same as it is with regular rsync. Only show the SSH command with two or more -v options, or if there is an error in popen2(). (check-in: 105ec44b user: drh tags: sqlite3-rsync)
2024-09-13
23:41
Merge sqlite_dbpage fixes into the sqlite3-rsync branch. (check-in: dff76b7a user: drh tags: sqlite3-rsync)
21:47
Bug fix in the enhanced sqlite_dbpage for when truncating two or more ATTACH-ed databases within the same transaction. (Leaf check-in: 6aa9c8e7 user: drh tags: dbpage)
16:30
Require that the contentless_unindexed=1 option be specified before storing the values of fts5 UNINDEXED column belonging to contentless tables. (check-in: c51dc2a5 user: dan tags: fts5-contentless-unindexed)
16:15
Fix the hanging problem. (Closed-Leaf check-in: d57903f7 user: drh tags: sqlite3-rsync-consio)
16:12
Fix harmless compiler warning on Windows. (check-in: 86e0219d user: drh tags: sqlite3-rsync)
16:10
Close the db as sqlite3_analyzer exits. (See forum post, "sqlite3_analyzer not closing WAL-mode db cleanly" .) (check-in: 94ceac98 user: larrybr tags: trunk)
16:08
Changes so that the -consio sub-branch of sqlite3-rsync will compile on Win11. It compiles, but it does not work. The process just hangs. (check-in: b4eff1fd user: drh tags: sqlite3-rsync-consio)
15:37
Merge latest trunk changes, including the changes to the fts5 locale=1 feature, into this branch. (check-in: d2f0d199 user: dan tags: fts5-contentless-unindexed)
14:40
Merge sqlite3-rsync branch into sqlite3-rsync-consio branch. (check-in: c9bdbe21 user: stephan tags: sqlite3-rsync-consio)
13:53
Improved informational output from sqlite3-rsync. (check-in: e55e3e8e user: drh tags: sqlite3-rsync)
12:35
Preveious check-in was actually doing an 8-round KeccakF1600. This one corrects that to just 6 rounds. (check-in: 3c36f581 user: drh tags: sqlite3-rsync)
12:28
Change the hash algorithm from SHA1 to a 6-round KeccakF1600 with a rate of 160. This uses about 1/3rd fewer CPU cycles. (check-in: 96c7f47a user: drh tags: sqlite3-rsync)
12:01
Merge sqlite3-rsync branch into sqlite3-rsync-consio branch. (check-in: 983979cc user: stephan tags: sqlite3-rsync-consio)
11:14
Further enhancement to PTRMAP display in showdb: Show the details of invalid entries that are within the range of the database file. Continue to ignore invalid entries beyond the end of the database file. (check-in: 4cad385b user: drh tags: trunk)
2024-09-12
23:30
Better initialization of new database files in sqlite3-rsync. (check-in: 75d5a8eb user: drh tags: sqlite3-rsync)
21:58
Enhancement to the "showdb" utility such that the "ptrmap" command shows PTRMAP entries that extend off the end of the database, as long as they appear to be well-formatted. (check-in: a9f95fe5 user: drh tags: trunk)
21:33
A slight tweak to consio to enable it to build both (A) directly embedded in shell.c and (B) as a separately-compiled .c file for use with sqlite3-rsync.c. (check-in: 6ffb392f user: stephan tags: sqlite3-rsync-consio)
21:03
Add RSYNC_OPT to the sqlite3-rsync build flags. (check-in: b2a3497e user: stephan tags: sqlite3-rsync)
20:50
Convert sqlite3-rsync.c to use the ext/consio I/O library. The caveat is that it requires direct inclusion of the consio source code, making sqlite3-rsync.c no longer a standalone file. (check-in: 62a9b6fd user: stephan tags: sqlite3-rsync-consio)
18:15
Port some of the shell's CLI flag-handling code into sqlite3-rsync to make the arg handling more robust. (check-in: 53fb9b11 user: stephan tags: sqlite3-rsync)
17:06
Replica must be in writable_schema mode. (check-in: e3855257 user: drh tags: sqlite3-rsync)
16:54
Improved --commcheck. Add the infoMsg() function which is useful for debugging. (check-in: b979d02f user: drh tags: sqlite3-rsync)
15:51
Pass the names of both the origin and the replica databases to the remote side, so that if the remote is the replica, it will have access to the origin database name in case the replica name is really a directory. (check-in: 435c3017 user: drh tags: sqlite3-rsync)
15:36
Add a protocol version number to the first message, and give the two sides an opportunity to negotiate a suitable protocol number, for future compatibility. Send the page size as a power-of-two. (check-in: df0623aa user: drh tags: sqlite3-rsync)
14:43
Add sha1() functions to the CLI. Fix sha1b() such that it actually returns a BLOB. (check-in: fe65821a user: drh tags: sqlite3-rsync)
12:04
Improved debugging output. (check-in: 80461e0d user: drh tags: sqlite3-rsync)
2024-09-11
17:02
Progress on the sqlite3-rsync utility. This is an incremental check-in. It does compile, but it does not work. (check-in: fa06977b user: drh tags: sqlite3-rsync)
12:17
Disable the debug-use-only functions sqlite3_mutex_held() and sqlite3_mutex_notheld() when compiling with TSAN in as much as those routines cause TSAN to complain. Response to https://issues.chromium.org/issues/41427446. (check-in: db702dd7 user: drh tags: trunk)
2024-09-10
22:14
Improved SSH infrastructure. The foundation is now in place to begin working on the actual sync protocol. Still experimental. Still a work in progress. (check-in: 9a1a95f5 user: drh tags: sqlite3-rsync)
20:32
Alternative implementation of fts5 locale=1 feature that allows blobs to be stored in indexed columns of fts5 locale=1 tables. (check-in: 198305de user: dan tags: trunk)
18:38
Remove a stray "breakpoint" from a test script. (Closed-Leaf check-in: 7d87a27a user: dan tags: fts5-locale-alternate)
17:05
Initial infrastructure for the sqlite3-rsync utility. Prototype only. Does not work. (check-in: 397b2d37 user: drh tags: sqlite3-rsync)
16:40
Fix a test in fts3corrupt4.test that would fail if SQLITE_ENABLE_FTS5 was not defined. (check-in: 437849c8 user: dan tags: trunk)
16:19
Alternative implementation of fts5 locale=1 feature that allows blobs to be stored in indexed columns of fts5 locale=1 tables. (check-in: 55c5c119 user: dan tags: fts5-locale-alternate)
12:09
Add the ability for sqlite_dbpage to truncate the database file by writing a NULL page. Experimental. (check-in: eb3c89ee user: drh tags: dbpage)
2024-09-09
19:12
Fix an OOM-handling problem affecting locale=1 fts5 tables. (check-in: d8103684 user: dan tags: trunk)
18:45
Generalize the sqlite3_dbpage virtual table so that it is able to write new pages onto the end of the database file using INSERT. (check-in: fe0d67e7 user: drh tags: trunk)
15:39
Move the vfstrace extension out of src/ and into ext/misc/. Make it a standard part of the CLI. Improve its output. Also fix some unrelated comment typos. (check-in: 123cb1f5 user: drh tags: trunk)
15:33
Fix dependencies in makefiles to include ext/misc/vfstrace.c as necessary. Improved xFileControl() output from vfstrace.c. (Closed-Leaf check-in: e8f2d631 user: drh tags: vfstrace)
15:19
Fix harmless compiler warnings in the vfstrace.c extension. (check-in: f23954e6 user: drh tags: vfstrace)
15:12
Fix harmless compiler warnings in FTS5. (check-in: aa75e701 user: drh tags: trunk)
14:50
Move the vfstrace extension out of src/ over into ext/misc/ where it belongs. Make it part of the standard build for the CLI. Bring some of the vfstrace output up-to-date. (check-in: 055b97de user: drh tags: vfstrace)
2024-09-07
16:22
Fix a problem with fts5 locale=1 tables and UPDATE statements that may affect more than one row. (check-in: 70e42f94 user: dan tags: trunk)
16:04
Fix an off-by-one error in the routines that bind the special $test_TTT and $int_NNN parameters for fuzz testing. Fix to testing logic only - no changes to the SQLite core. (check-in: 6206b90a user: drh tags: trunk)
2024-09-06
20:12
Add tests for an fts5 NEAR() expression with a single argument phrase. (check-in: e319d43b user: dan tags: trunk)
15:52
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: f9ce1aba user: drh tags: reuse-schema)
15:45
Update the bedrock branch to include all the latest enhancements from trunk. (check-in: 4a3386cc user: drh tags: bedrock)
15:42
Merge the latest trunk enhancement into the wal2 branch. (check-in: f3e3ad69 user: drh tags: wal2)
15:39
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 2a87a969 user: drh tags: begin-concurrent)
15:01
Resolve the "No rule to make target '0'" error when building with --disable-tcl. (check-in: d94541ae user: stephan tags: trunk)
14:01
Fix a harmless stray carriage-return character. (check-in: 84a6c5f9 user: drh tags: trunk)
13:13
In testrunner.tcl, correctly capture and display information about the system under test: hostname, OS, pointer size, byte-order. (check-in: ec75cfc5 user: drh tags: trunk)
11:21
Fix harmless compiler warnings. (check-in: 60fb8ee1 user: drh tags: trunk)
10:35
A testcase() macro added to help ensure that the fix to the omit-noop-join optimization from yesterday does not regress. (check-in: 224628b1 user: drh tags: trunk)
09:49
Clarification and simplification to the README.md file and to the instructions for building on Windows. (check-in: f69ef1a3 user: drh tags: trunk)
2024-09-05
23:44
Ensure that the WhereInfo.revMask bitmap is adjusted when tables are removed from the FROM clause by the Omit-Noop-Join optimization. (check-in: 2b543fbc user: drh tags: branch-3.46)
23:40
Fix a testrunner status reporting problem introduced by [aa5f10f21dbfb24e]. (check-in: d20c65c3 user: drh tags: trunk)
23:22
Ensure that the WhereInfo.revMask bitmap is adjusted when tables are removed from the FROM clause by the Omit-Noop-Join optimization of [0cd82ee9a8413cf1]. Fix for the issue described by format post 8a1e467e905b8d27. (check-in: 22ca5a2f user: drh tags: trunk)
15:55
Update notes on build procedures in the README.md file. (check-in: 1d12744f user: drh tags: trunk)
15:28
Testrunner.tcl enhancements: (1) Attempt to build the SQLite tcl extension if it is not already available. (2) testrunner target "devtest" is added as an alias for "mdevtest". (3) Try to keep summary information at the end of a test below 80-characters per line. (4) Update the Makefile.in so that the "clean" target removes the tcl extension built by item 1 above. (check-in: aa5f10f2 user: drh tags: trunk)
12:06
Enhance testrunner.tcl to keep track of the platform and SQLite version as reported by individual test cases and to report that information in the summary at the end of each test run. (check-in: 80ebb7c7 user: drh tags: trunk)
11:46
Faster implementation of the aggregate_test_counts procedure inside of testrunner.tcl. (check-in: a01d8695 user: drh tags: trunk)
2024-09-04
18:51
Make the default TCLDIR be C:\Tcl in the Makefile.msc. (check-in: c2c0a917 user: drh tags: trunk)
17:15
Merge all the latest branch-3.46 fixes into the bedrock-3.46 branch. (Leaf check-in: 69b3791e user: drh tags: bedrock-3.46)
16:54
Update the bedrock branch to include all of the latest trunk enhancements. (check-in: cf8f1552 user: drh tags: bedrock)
16:46
Merge all the latest trunk enhancements into the wal2 branch. (check-in: 9f530343 user: drh tags: wal2)
16:45
Fix a bug in the parsing of some corner-case JSON PATH strings that contain escaped double-quotes. (check-in: c49c2a8c user: drh tags: branch-3.46)
16:01
Fix a bug in the parsing of some corner-case JSON PATH strings that contain escaped double-quotes. (check-in: 60ac55c4 user: drh tags: trunk)
13:42
Put a proper shebang at the start of the testrunner.tcl script and make the script executable. (check-in: c0c6e9ab user: drh tags: trunk)
13:09
Make extra efforts to delete the over-size directory names created by the win32longpath.test module. (check-in: 3c8035ed user: drh tags: trunk)
11:22
Add the "joblist" command to testrunner.tcl (check-in: f64469f4 user: drh tags: trunk)
2024-09-03
18:55
Store the values of any UNINDEXED columns of a contentless fts5 table persistently in the database. Warning: This currently creates a (technically) incompatible file-format for contentless fts5 tables that have UNINDEXED columns. (check-in: dcacb1a8 user: dan tags: fts5-contentless-unindexed)
17:01
Add SQLITE_USE_ONLY_WIN32 to the Default configuration for testing on Windows. Take it off of Stdcall. (Leaf check-in: 8ace3f15 user: drh tags: new-win32-test-config)
16:04
Enhance the "errors" command in testrunner.tcl so that it accepts the "-s" or "--summary" argument to see a list of failed jobs, and so that an additional argument is a GLOB pattern that restricts the output to jobs whose names match that pattern. (check-in: dcbebe30 user: drh tags: trunk)
14:15
Fix ext/consio so that it works correctly with SQLITE_USE_ONLY_WIN32. (check-in: efc6f3d7 user: drh tags: trunk)
14:00
In testrunner.tcl, compile the Windows Default configuration using SQLITE_ENABLE_STMT_SCANSTATUS. (check-in: 49e8b163 user: drh tags: trunk)
12:41
Fix harmless compiler warnings in the percentile extension. (check-in: c5557f28 user: drh tags: trunk)
10:53
In testrunner.tcl, allow setting njob to zero, which causes no new jobs to be launched and for the process to shut down once all current jobs are completed. (check-in: 0ef65fd4 user: drh tags: trunk)
02:09
Cause cfGets() (under SQLITE_USE_ONLY_WIN32) to better emulate fgets(). (check-in: 2d783524 user: larrybr tags: win-dupe-crt-fio)
2024-09-02
21:59
Fix possible NULL pointer dereference following OOM in the new error reporting logic of the percentile extension. (check-in: 7891a266 user: drh tags: trunk)
18:41
Fix a technically undefined signed integer overflow in fts5. (check-in: e6bec37e user: dan tags: trunk)
17:27
Make the percential extension easier to incorporate as a built-in on Windows applications. (check-in: 831e2be4 user: drh tags: trunk)
14:46
Remove some debug/test code from percentile. Make the extension easier to statically link. (check-in: 6e5f146e user: drh tags: trunk)
12:07
Enhance the percentile extension to support percentile_cont() and percentile_disc(). Add support for ordered-set aggregate notation in the parser when compiling with SQLITE_ENABLE_ORDERED_SET_AGGREGATES. A new function property SQLITE_SELFORDER1 must appear on any aggregate function that wants to take advantage of the ordered-set aggregate notation. (check-in: 557bd245 user: drh tags: trunk)
11:17
Improved error messages on percentile functions. More tests cases for percentile and for ordered-set aggregates. (Leaf check-in: e1bca168 user: drh tags: ordered-set-agg)
09:40
Change the name of the enabling compile-time macro to SQLITE_ENABLE_ORDERED_SET_AGGREGATES. (check-in: 3b1cdddf user: drh tags: ordered-set-agg)
2024-09-01
23:56
More internal documentation improvements. (check-in: 8b91b749 user: drh tags: ordered-set-agg)
23:47
Improved documentation of recent enhancements to the percentile extension. (check-in: 51e7b4c9 user: drh tags: ordered-set-agg)
23:27
The WITHIN GROUP (ORDER BY ...) syntax is now a compile-time option: SQLITE_ENABLE_ORDERED_SET_FUNCS. There is no increment in the code size if the option is omitted. (check-in: c9367e25 user: drh tags: ordered-set-agg)
20:24
Implement percentile_cont() and percentile_disc(). (check-in: b1a93f67 user: drh tags: ordered-set-agg)
19:19
No prepare-time penality for ordered-set aggregates for applications that do not use them. (check-in: e070c16d user: drh tags: ordered-set-agg)
18:57
Merge fixes from trunk into the ordere-set-agg branch. (check-in: 7528ddcf user: drh tags: ordered-set-agg)
18:54
Improved sort function in the percentile extension. (check-in: 9f84e8d5 user: drh tags: trunk)
10:52
Fix to the quicksort algorithm in the percentile extension. (check-in: 54313f74 user: drh tags: trunk)
2024-08-31
22:22
Add error checking: Do not allow functions other than those in the percentile extension to use the ordered-set aggregate notation. (check-in: 317d9014 user: drh tags: ordered-set-agg)
20:09
Demonstration of how ordered-set aggregates might be parsed and integrated into the existing parse tree, should we decide to support them. (check-in: ef977789 user: drh tags: ordered-set-agg)
19:24
Include percentile() and merge() in the fuzzcheck test utility. (check-in: d1d0942a user: drh tags: trunk)
18:35
Omit the percentile_cont() function added by [095c22e62248f8ef] (and not yet released) since its usage conflicts with the PG percentile_cont() function. (check-in: 3fe0a852 user: drh tags: trunk)
18:08
Allow percentile() and median() to act as window functions. (check-in: 94cf96af user: drh tags: trunk)
17:50
Still more test cases. (Closed-Leaf check-in: f0990460 user: drh tags: percentile-window)
17:27
Add more test cases. (check-in: 0d0e5456 user: drh tags: percentile-window)
16:55
Avoid unnecessary sort operations when running one of the percentile aggregates as a window function. (check-in: 5d311536 user: drh tags: percentile-window)
15:02
Test cases added. (check-in: 25e68229 user: drh tags: percentile-window)
14:31
Enhance the percentile() and median() extension functions so that they can be window functions. (check-in: 4d0e3df4 user: drh tags: percentile-window)
2024-08-30
17:33
Do not fail the omittest if ICU libraries are not installed. (check-in: ddc55efd user: drh tags: trunk)
16:51
New makefile target: "tidy". The "tidy" target removes all build products be leaves behind test results. The "clean" target has been enhanced to do a better job. The tool/omittest.tcl script is rewritten to work on the configure-generated Makefile and to require no arguments. (check-in: e48add02 user: drh tags: trunk)
16:43
A couple of #defines so that the build work with SQLITE_OMIT_FLOATING_POINT. (Closed-Leaf check-in: be768f80 user: drh tags: makefile-improvements)
16:24
Rework the tool/omittest.tcl script so that it works with the configure-generated Makefile, and requires no arguments. Update the configure-generated Makefile with a new "tidy" target which is like "clean" except that is preserves test logs. Use "make tidy" to force everything to be recompiled from scratch without destroying logs. (check-in: 99491df1 user: drh tags: makefile-improvements)
12:10
Improvements to "make clean" on unix. (check-in: a1d775f0 user: drh tags: makefile-improvements)
01:11
In the testrunner.tcl status report, try to provide a rough estimate of the time remaining. (check-in: 90bc616d user: drh tags: trunk)
2024-08-29
23:43
Merge the latest trunk enhancement into the bedrock branch through the wal2 intermediary. (check-in: ff94464c user: drh tags: bedrock)
23:33
Merge all the latest trunk enhancements into the wal2 branch. (check-in: dfecc79c user: drh tags: wal2)
23:32
Sync the autoconf/Makefile.msc with the main ./Makefile.msc (check-in: 9de47c36 user: drh tags: trunk)
23:26
Sync the amalgamation makefile for MSVC with the main makefile. (check-in: fcc4c3b4 user: drh tags: begin-concurrent)
23:24
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: b05d30be user: drh tags: begin-concurrent)
22:05
Fix a problem in winOpen(). Merge the makefile enhancements from trunk. (check-in: bd247ae7 user: drh tags: reuse-schema)
19:37
Fix tests cases for SQLITE_ENABLE_SHARED_CACHE so that they work on Windows. (check-in: 60795a30 user: drh tags: reuse-schema)
18:32
All makefiles are responsive to OPTIONS=... command-line arguments, and add the RHS value of OPTIONS= to builds and to lemon and other build steps that might respond to -D or -U options. (check-in: 854b3776 user: drh tags: trunk)
17:42
Merge all the latest trunk enhancements into the reuse-schema branch. (check-in: 87aa6fc2 user: drh tags: reuse-schema)
17:18
Fix a case where the BTCF_AtLast flag was being left set incorrectly. This was causing obscure window function queries to fail. (check-in: 45778b0b user: drh tags: branch-3.46)
16:27
Fix a case where the BTCF_AtLast flag was being left set incorrectly. This was causing obscure window function queries to fail. (check-in: e042eb02 user: dan tags: trunk)
2024-08-28
19:13
Do not allow sqlite3_blob_open() to work on a any table that contains generated columns, even columns of the table which are not generated themselves, because such columns might be part of the expression of a STORED column. This restriction could be relaxed some, but that would be a lot of code for something that nobody ever uses. (check-in: 6e849471 user: drh tags: trunk)
15:54
Fix a dropped error code in fts5. (check-in: df55502e user: dan tags: trunk)
13:55
Update the README.md file to recommend running "devtest" instead of "mdevtest". (check-in: eb016f66 user: drh tags: trunk)
13:51
Maybe [7420b13238da4e6b] was not such a good idea. Restore "make test" so that it works as before - running a single-threaded test over the source tree with options specified by ./configure and similar. Instead, change the "make devtest" target so that runs the automated multi-threaded tests on a standard configuration. (check-in: dc9fee98 user: drh tags: trunk)
13:34
Minor wording change on testrunner output. (check-in: 115e6859 user: drh tags: trunk)
12:10
Update the "make test" target so that it is really just "mdevtest" with "srctree-check" and "sourcetest". (check-in: 7420b132 user: drh tags: trunk)
11:03
Further improvements to the status display in order to maximum the amount of information shown on the limited screen realestate available when running via "watch" or in continuous monitoring mode. All details are still shown when doing a stand-alone "status". (check-in: 557a2c65 user: drh tags: trunk)
10:36
Only limit the number of failures reported by testrunner status if using VT100 cursor movement. For a straight-up "status" command, show everything. (check-in: 791237e0 user: drh tags: trunk)
10:25
In the testrunner status display, limit the number of reported failed jobs to avoid overflowing the terminal when there are many failures. (check-in: ffeaa4d5 user: drh tags: trunk)
09:47
Disable shell test cases that require virtual tables when testfixture is built using SQLITE_OMIT_VIRTUALTABLE. (check-in: 8c73d54f user: drh tags: trunk)
09:31
Reenable SQLITE_OMIT_VIRTUALTABLE on the Device-One alignment for testrunner. (check-in: 8f2cb357 user: drh tags: trunk)
2024-08-27
22:28
Changes to the way "release" tests were constructed in [d03d35eebaf82709] were incorrect. Fixed here. Also enhance --explain to chose permutation configurations and so that PATTERNS on the the command line can match against permutation configurations. (check-in: 1f962ffc user: drh tags: trunk)
21:44
Improvements to --status overwrite in testrunner. (check-in: 26372762 user: drh tags: trunk)
20:37
Avoid reading the structure record from within the fts5 xConnect method. (check-in: 6a6ce343 user: dan tags: trunk)
19:49
Further minor improvements and tweaks to the testrunner --status display. (check-in: 7d1ccc6d user: drh tags: trunk)
19:48
Fix typo in the previous check-in. Ensure that --status header lines do not overflow and wrap. (Closed-Leaf check-in: 2eaea674 user: drh tags: testrunner-fix)
19:43
In testrunner, when doing the --status updates to the screen, be sure to overwrite dead text at the end of each line with spaces. (check-in: 7c195f13 user: drh tags: testrunner-fix)
19:28
Further improvement to the status display in testrunner.tcl. Show the number of errors and the number of test cases on the status summary. (check-in: dbc1ac86 user: drh tags: trunk)
19:27
Modify the implementation of "wrapper" tokenizers to make them more robust in the case where the database connection is closed before the tokenizers are deleted. (check-in: 7c0001d6 user: dan tags: trunk)
19:17
Improvements to testrunner.tcl: Show elapse time in MM:SS or HH:MM:SS. Keep track of the total number of tests and the total number of errors and report those values on a summary line at the end. (check-in: 40b23292 user: drh tags: trunk)
18:25
Add test code to drop an fts5 table with corrupt records in its shadow tables. (check-in: ca21c942 user: dan tags: trunk)
17:38
Updates to testrunner: (1) Omit all testing of User-Auth. (2) Automatically add the "*" wildcard before and after all pattern arguments. (3) Build the sqlite3 CLI for release tests. (check-in: d03d35ee user: drh tags: trunk)
14:35
Merge the SQLITE_USE_ONLY_WIN32 flag for consio into trunk. (check-in: e9b03b08 user: drh tags: trunk)
14:25
Only avoid all C-runtime I/O if the SQLITE_USE_ONLY_WIN32 flag is defined. (check-in: 164b1e19 user: drh tags: win-dupe-crt-fio)
13:57
Merge all the latests trunk enhancements into the win-dupe-crt-fio branch. (check-in: 2d52db98 user: drh tags: win-dupe-crt-fio)
2024-08-26
23:32
Earlier error detection while processing complex aggregate queries. dbsqlfuzz 5242c2f07f4aa031aa3c80461f18e9b7619ede9b (The previous check-in on this branch really should have been this cherrypick.) (check-in: f9c6cbc1 user: drh tags: branch-3.46)
23:19
Early termination of updateAccumulators() after error detection. (check-in: faecd450 user: drh tags: branch-3.46)
19:08
Changes to documentation comments in fts5.h. (check-in: 886545a8 user: dan tags: trunk)
17:35
Randomize the name of the attached database used to do VACUUM. (check-in: 0f4e65d7 user: drh tags: trunk)
16:15
Bind the new debug parameters in fuzzinvariants.c. (check-in: 29e9bcfa user: drh tags: branch-3.46)
14:20
Remove redundant #ifdef accidentally inserted into mkkeywordhash.c. Update 2024-08-27: This branch demonstrates that FROM-first queries can be achieved by simply adding new production rules to the LALR(1) grammar. We do not wish to go down that path at this time. But we might revisit that idea in the future. For now, this branch is closed. (Closed-Leaf check-in: b08f3b74 user: drh tags: sql-pipes)
14:06
Add the AGGREGATE clause to the pipeline. (check-in: 16d32676 user: drh tags: sql-pipes)
13:20
Working better now. (check-in: 4bdcc18d user: drh tags: sql-pipes)
12:26
Reduce rules added to the grammar. Kinda works, but there are still bugs. (check-in: 3c7a5cc6 user: drh tags: sql-pipes)
02:53
Another version of the parser with a slightly richer syntax. The ghastly pipe operator is now optional, but is never required. Pipelines cannot be initiated from an arbitrary SELECT unless the arbitrary SELECT is a subquery on the initial FROM. (check-in: 8781d735 user: drh tags: sql-pipes)
00:15
Proof-of-concept grammar rules to parse Google-style "pipe" syntax for SQL, without the ghastly "|>" operator. The grammar rules are not connected to working code. They just parse the syntax. Pipelines that begin with an ordinary SELECT statement must have the keyword "INTO" (rather than the "|>" operator) separating the SELECT from the start of the pipeline, to avoid syntactic and semantic ambiguity. (check-in: 2c4bae3e user: drh tags: sql-pipes)
2024-08-25
12:04
Merge trunk into the wasm-build-rework branch. (check-in: a1cf3095 user: stephan tags: wasm-build-rework)
11:59
shell.c.in: use eputz/oputz() instead of eputf/oputf() where appropriate to avoid compilation errors in -std=c99 mode (namely wasm builds). (check-in: 9ef8317f user: stephan tags: trunk)
2024-08-24
20:05
Fix harmless compiler warnings in fts5V2toV1Tokenize(). (check-in: df65d00f user: drh tags: trunk)
20:01
Fix compiler warnings in the CLI detected by MSVC. (check-in: 23ae505c user: drh tags: trunk)
19:06
Improved help message for the --enable-test-status configuration option. Fix the build for when that option is omitted. (check-in: b404a5fe user: drh tags: trunk)
19:02
New ./configure option --enable-test-status causes testrunner.tcl to be run with the --status option for targets like mdevtest and releasetest. (check-in: 9ca8513c user: drh tags: trunk)
18:42
Remove a term from an assert() that is no longer relevant. (check-in: 8b476625 user: drh tags: trunk)
17:37
Avoid a stack overflow that could be caused by a recursively defined WINDOW() with a strategically embedded error. (check-in: 07400271 user: drh tags: branch-3.46)
15:54
Avoid a stack overflow that could be caused by a recursively defined WINDOW() with a strategically embedded error. (check-in: bada54bd user: dan tags: trunk)
11:48
Ensure that the WhereLoop.u.btree.pOrderBy field added by the order-by-subquery optimization [7a0cdc7edb704a88] is correctly initialized. dbsqlfuzz 437be171a98687082a31ea6efc2fd5c5d64481c8. (check-in: b75f8b22 user: drh tags: trunk)
2024-08-23
21:20
Eliminate use of strcpy() in shell.c.in to squelch an unwarranted link-time warning on OpenBSD. (check-in: 32e9bf7f user: stephan tags: trunk)
17:40
Fix a problem in the ext/fts5/extract_api_docs.tcl script. (check-in: 9a9d0f63 user: dan tags: trunk)
15:18
Add fts5 auxiliary function fts5_get_locale(). For querying the locale of a stored value. (check-in: 396f720f user: dan tags: trunk)
2024-08-22
18:12
Enhance the generate_series() table-valued function such that it is able to recognize equality and inequality constraints on the "value" column and optimize its operating accordingly. (check-in: d50b7848 user: drh tags: trunk)
16:22
Add the SQLITE_INDEX_SCAN_HEX bit to the sqlite3_index_info.idxFlags bitmask. When set, this bit causes the EXPLAIN QUERY PLAN output to show the idxNum value in hex rather than in decimal. This is purely a debugging aid. (check-in: 6c00e88e user: drh tags: trunk)
2024-08-21
20:25
Add SQLITE_TESTCTRL_GETOPT. Use it to implement improvements to the ".testctrl opt" dot-command in the CLI, and similar enhancements to TH3. (check-in: 6500baa9 user: drh tags: trunk)
18:57
Add the new SQLITE_TESTCTRL_OPTGET that retrieves the current optimization setting. Use this in the CLI to provide symbolic fine-grain control over optimization settings using the ".testctrl opt" dot-command. (Closed-Leaf check-in: 0ea4e1e8 user: drh tags: optimization-onoff)
17:38
Improved comments on byte-code subroutine calls to materialize subqueries. Should not affect production builds. (check-in: 6b024c85 user: drh tags: trunk)
13:57
README.md: a markup link fix and use the canonical URL for Fossil. (check-in: c49bfee6 user: stephan tags: trunk)
13:44
Updates and enhancements to the README.md file. No code changes. (check-in: 3161b802 user: drh tags: trunk)
12:01
Add code comments for a "table-of-contents" and various milestone marks in the 1300+ line long sqlite3Select() function, to help improve readiability and maintainability. Comment changes only - no functional changes. (check-in: 00cfbb9f user: drh tags: trunk)
10:37
Fix a minor typo in a comment. (check-in: 92c80af1 user: drh tags: trunk)
10:32
Improvements to treetrace output for subqueries. Debug code only. (check-in: 0a835d18 user: drh tags: trunk)
09:56
De-duplicate some error-output code in shell.c.in as part of tracking down the cause of forum post 5647ca2af1. (check-in: fd590449 user: stephan tags: trunk)
07:38
Remove incorrect assert() statements in the SrcItem invariant validator. dbsqlfuzz 7f908865436ce531b0ace55c97a1c71d05c4e76c. (check-in: 81a1ede3 user: drh tags: trunk)
2024-08-20
23:11
Refactor the SrcItem object to move fields associated with subqueries out into a separate object named Subquery. This reduces the size of the SrcItem object by about 1/3rd and provides improved performance. (check-in: 484bcd75 user: drh tags: trunk)
22:44
Fix a name resolution issue with CTEs. (Leaf check-in: 4fa8235d user: drh tags: srcitem-opt)
22:05
Fix minor comment issues. (check-in: c1bbed19 user: drh tags: srcitem-opt)
20:01
Remove unreachable code. (check-in: 17699329 user: drh tags: srcitem-opt)
19:09
Tighter checking of access constraints on union members in SrcItem. Improved invariant checking. (check-in: fd72d340 user: drh tags: srcitem-opt)
17:41
Fix some stray SrcItem field name fixes. (check-in: bc5f5ce5 user: drh tags: srcitem-opt)
17:24
Fix a memory leak so that now all dev tests (including TH3) are passing. (check-in: 3995c45f user: drh tags: srcitem-opt)
16:50
Memory issues fixes so that mdevtest now passes. (check-in: b249516f user: drh tags: srcitem-opt)
14:16
When the database encoding is UTF-16LE and the GLOB optimization is used, it is ok to use the range search over an index, but it is not ok to disable the actual GLOB function call. (check-in: db917d50 user: drh tags: branch-3.46)
14:12
When the database encoding is UTF-16LE and the GLOB optimization is used, it is ok to use the range search over an index, but it is not ok to disable the actual GLOB function call. (check-in: 33996983 user: drh tags: trunk)
12:15
The LIKE/GLOB optimization restricts its attention to the pattern prefix that is all ASCII. (check-in: 5815f132 user: drh tags: branch-3.46)
12:09
Fix for the UTF-16LE problem reporte by forum post dc7e1b7527e84343. Because of the unexpected ordering of characters using the default collation (memcmp() order) in UTF-16LE, the LIKE/GLOB optimization restricts its attention to the pattern prefix that is all ASCII, which is the common case. (check-in: a5797ebd user: drh tags: trunk)
2024-08-19
23:43
Earlier error detection while processing complex aggregate queries. dbsqlfuzz 5242c2f07f4aa031aa3c80461f18e9b7619ede9b (check-in: 70f49730 user: drh tags: trunk)
22:48
Refactor the SrcItem object so that information about subqueries is stored in a separately allocated Subquery object. This reduces the memory requirements for SrcItem and makes the code run faster. It also provides an expansion path for subquery processing that does not burden simple queries. The current checking mostly works, but there are still issues that need to be tracked down and fixed. (check-in: 8ff5dda8 user: drh tags: srcitem-opt)
20:35
Update some comments that are processed into the fts5.html webpage. (check-in: 3e06ab21 user: dan tags: trunk)
14:33
Add the fts5_locale() function and related functionality to fts5. (check-in: b9632900 user: dan tags: trunk)
14:23
Fix leap-year handling for dates prior to 0400-03-01. (check-in: 6767bf1c user: drh tags: branch-3.46)
14:20
Fix leap-year handling for dates prior to 0400-03-01. Forum post eaa0a09786c6368b. (check-in: 474b7e34 user: drh tags: trunk)
13:53
New date/time test cases to validate ancient dates. (Closed-Leaf check-in: 82719074 user: drh tags: ancient-date-fix)
12:54
Attempt to fix date/time calculations for days earlier than 0400-03-01. See forum thread eaa0a09786c6368b. (check-in: 00cae11f user: drh tags: ancient-date-fix)
10:40
Merge trunk changes into this branch. (Closed-Leaf check-in: 6787603b user: dan tags: fts5-locale)
2024-08-18
14:46
Fix a problem with detail=none, content='' tables. (check-in: 4b807081 user: dan tags: fts5-locale)
09:53
Automatically disable directory fsync when compiling for AIX. (check-in: 8d170e07 user: drh tags: trunk)
2024-08-17
23:23
Give unique names to fields in the SrcItem object, to facilitate analysis of how those fields are used using "grep". (check-in: 9f5aeef3 user: drh tags: srcitem-opt)
19:46
Reduce the size of the SrcItem object by combining fields into a union. (check-in: a4c59ac3 user: drh tags: srcitem-opt)
19:40
Fix a broken assert() in fts5_storage.c. (check-in: 01116e32 user: dan tags: fts5-locale)
19:11
Merge trunk changes into this branch. (check-in: 6a8ff9ba user: dan tags: fts5-locale)
19:07
Tests to improve coverage of fts5_expr.c. (check-in: f4b839e5 user: dan tags: fts5-locale)
17:22
Add tests to restore coverage of fts5_tokenizer.c. (check-in: 8f925736 user: dan tags: fts5-locale)
16:17
Adjust Makefile.in so that it outputs a slightly better error message on an attempt to build something that requires TCL libraries when HAVE_TCL is false. (check-in: a4043cbe user: drh tags: trunk)
15:52
Adjust the "configure" script so that it just disables the ability to run tests rather than erroring out if tclsh is unable to recommend a suitable tclConfig.sh. (check-in: 793ff83d user: drh tags: trunk)
14:59
Fix a typo in an "ifdef" that broke SQLITE_OMIT_ANALYZE builds. (check-in: c09da26c user: dan tags: trunk)
2024-08-16
19:05
Add tests to restore coverage of fts5_config.c. (check-in: 9d971b31 user: dan tags: fts5-locale)
19:04
Merge all the latest trunk enhancements, and especially the order-by-subquery optimization, into the bedrock branch, via wal2. (check-in: d0591db3 user: drh tags: bedrock)
18:58
Merge the latest trunk enhancements into the wal2 branch. (check-in: a78208b5 user: drh tags: wal2)
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)
17:54
Add tests to restore coverage of fts5_storage.c. (check-in: 38841881 user: dan tags: fts5-locale)
16:20
Add tests to restore coverage of fts5_main.c. (check-in: 681edd08 user: dan tags: fts5-locale)
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)
20:33
Extra tests. (check-in: fb257540 user: dan tags: fts5-locale)
18:50
Further tests and fixes for this branch. (check-in: d2798524 user: dan tags: fts5-locale)
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)
15:04
Add a compile-time option that enables setting the encryption key. (Leaf check-in: dafc5174 user: drh tags: iotester)
14:50
incremental improvements to iotester. (check-in: 51f5d3d9 user: drh tags: iotester)
14:26
Fix an assert() in fts5 that might fail with an expression like "... NOT ''". (check-in: 317c91ed user: dan tags: trunk)
14:12
More incremental improvements to the iotester program. (check-in: 30a383fc user: drh tags: iotester)
13:31
Further improvements to the new iotester program. (check-in: dd71dde5 user: drh tags: iotester)
2024-08-13
21:15
More tests for the new code on this branch. (check-in: 00792e80 user: dan tags: fts5-locale)
21:04
Add the sha3_agg() aggregate to the shathree extension. (check-in: c4d7f999 user: drh tags: trunk)
20:16
Use the xDelete method of the VFS rather than direct interation with the filesystem. (check-in: 96df5aa6 user: drh tags: iotester)
19:30
Infrastructure for a new test program named "iotester" that strives to verify the operation of a VFS object. (check-in: b46d86c2 user: drh tags: iotester)
15:04
Add tests and fix minor issues with the code on this branch. (check-in: def5243a user: dan tags: fts5-locale)
09:16
Version 3.46.1 (check-in: c9c2ab54 user: drh tags: release, branch-3.46, version-3.46.1)
2024-08-12
18:39
Add extra documentation comments to fts5_main.c. (check-in: 1a7a9bd3 user: dan tags: fts5-locale)
17:28
Fix problem with some fts5 aux function APIs with (locale=, detail=none/column) tables. (check-in: bf116dec user: dan tags: fts5-locale)
17:03
Fix further issues to do with fts5 locale support. (check-in: e6261235 user: dan tags: fts5-locale)
13:31
Merge current trunk into this branch. (check-in: 900a593d user: stephan tags: wasm-build-rework)
11:46
Update the porter tokenizer to use locales. (check-in: 3291ce3a user: dan tags: fts5-locale)
11:13
Update the auxiliary function API to include xTokenize_x2() instead of xSetLocale(). (check-in: f7d56a1f user: dan tags: fts5-locale)
09:49
Resolve parameters Bind $int_N and $test_T in fuzzcheck inputs. (check-in: 9c106644 user: drh tags: trunk)
2024-08-10
20:24
Merge the latest trunk enhancements into main reuse-schema branch. (check-in: 31a71a79 user: drh tags: reuse-schema)
20:22
Merge all the branch-3.46 patches into the reuse-schema as a new sub-branch called reuse-schema-3.46. (Leaf check-in: a27b12ee user: drh tags: reuse-schema-3.46)
20:16
Merge all the latest branch-3.46 changes into the bedrock-3.46 branch via the wal2-3.46 intermediary. (check-in: cfb334dc user: drh tags: bedrock-3.46)
20:03
Merge trunk changes into this branch. (check-in: b2430075 user: dan tags: fts5-locale)
20:02
Merge the latest branch-3.46 changes into wal2 as a new sub-branch called wal2-3.46. (Leaf check-in: b917d07f user: drh tags: wal2-3.46)
19:59
Merge all of the latest branch-3.46 into the begin-concurrent branch as a new sub-branch called begin-concurrent-3.46. (Leaf check-in: 6cc14462 user: drh tags: begin-concurrent-3.46)
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)
19:18
Fix an uninitialized variable in fts5_tcl.c. (check-in: 924d3467 user: dan tags: fts5-locale)
18:59
Update the fts5_tokenizer_v2 API so that the locale is passed as parameter to xTokenize(), instead of via a separate call to xSetLocale(). (check-in: 03e63ed2 user: dan tags: fts5-locale)
16:29
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: fc956353 user: drh tags: branch-3.46)
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:56
Fix behavior change in the offset() SQL function introduced by check-in f0b671183f44d0ae. (check-in: d6fc6e5f user: drh tags: branch-3.46)
14:53
Fix behavior change in the offset() SQL function introduced by check-in [f0b671183f44d0ae]. (check-in: c2ac17f1 user: drh tags: trunk)
13:45
Cherrypick ALTER TABLE fixes from trunk so that ALTER TABLE no longer returns SQLITE_INTERNAL instead of SQLITE_ERROR after malformed input. (check-in: 6decf00f user: drh tags: branch-3.46)
11:02
Cherrypick various minor fixes from trunk into branch-3.46. (check-in: 6047b18e user: drh tags: branch-3.46)
10:14
Enhancements to covering-index prediction. 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: 4afe3201 user: drh tags: branch-3.46)
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)
20:59
Ensure tokenizers registered with xCreateTokenizer_v2() can be accessed using xFindTokenizer(), and that those registered with xCreateTokenizer() work with xFindTokenizer_v2(). (check-in: a3ef7d47 user: dan tags: fts5-locale)
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)
13:56
Add SQLITE_TESTCTRL_EDITSTMT for making rogue changes to the statement bytecode, to test the death-cursor error detection mechanism. (Closed-Leaf check-in: 58ffd5d9 user: drh tags: death-cursor)
12:35
Bind the new debug parameters in fuzzinvariants.c. (check-in: 7e1dc263 user: drh tags: trunk)
12:20
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: be3de2e6 user: stephan tags: branch-3.46)
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)
10:56
Fix some signed/unsigned compiler warnings on this branch. (check-in: 681d2280 user: dan tags: wal2)
10:50
Fix some signed/unsigned compiler warnings on this branch. (check-in: d615d529 user: dan tags: bedrock)
10:37
Remove two unnecessary int casts, as reported in forum post 84fe63b7b3. (check-in: 137cc3e9 user: dan tags: begin-concurrent)
09:49
Remove two unnecessary int casts, as reported in forum post 84fe63b7b3. (check-in: 1de0c1b5 user: stephan tags: bedrock)
02:10
Change the null-cursor in the previous check-in into a death-cursor. Any access of the cursor causes the prepared statement to return an SQLITE_INTERNAL error. We'll need to add a way to edit the bytecode using sqlite3_test_control() in order to test the death-cursor code path. (check-in: 8894b243 user: drh tags: death-cursor)
01:38
If there is any question about whether or not the WHERE_IDX_ONLY flag in the query planner is correct, create a backup null-cursor for the table, so that we never try to run an OP_Column against an unopened cursor. (check-in: 7f1617f7 user: drh tags: death-cursor)
2024-08-08
19:45
Do not allow the WHERE_IDX_ONLY query planner result in cases where a partial index is used on an UPDATE or a DELETE, since the code might still need to access the original table due to parameterized terms in the WHERE clause of the partial index. (Closed-Leaf check-in: 7058d93b user: drh tags: partial-index-terms-patch)
16:04
In the vdbe_addoptrace output, show OP_Column opcodes that fail to translate from table to index. This is an aid to testing and analysis only. No changes to production code. (Closed-Leaf check-in: 7f464793 user: drh tags: extra-debug)
15:42
Ensure sqlite3expert.c unregisters any SQL user-functions it registers with the database handle before returning. (check-in: 27083144 user: dan tags: branch-3.46)
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:49
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. (check-in: 05dbfad7 user: drh tags: branch-3.46)
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:55
Move a misplaced va_end, as reported in forum post 702c79e9da. (check-in: 569824c7 user: stephan tags: branch-3.46)
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:54
Improved robustness of parsing of tokenize= arguments in FTS5. (check-in: 7a65ac42 user: drh tags: branch-3.46)
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
21:06
Change things so that locale=1 is required to write fts5_locale() values to an fts5 table, and so that blobs may not be stored in indexed (i.e. not UNINDEXED) columns of these tables. (check-in: c98ccc12 user: dan tags: fts5-locale)
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)
17:15
Clarify the role of Fts5Storage.pSavedRow in the new feature on this branch. (check-in: e8a61d5c user: dan tags: fts5-locale)
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)
01:06
Merge the latest trunk enhancements into the reuse-schema branch. (check-in: ff9fdd07 user: drh tags: reuse-schema)
00:47
Merge the latest trunk enhancements into the bedrock branch. (check-in: c1f616ce user: drh tags: bedrock)
00:38
Merge the latest trunk enhancements into the wal2 branch. (check-in: eac58205 user: drh tags: wal2)
00:02
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 3b131bd9 user: drh tags: begin-concurrent)
2024-07-31
23:49
Merge the latest trunk enhancements into the lateral-join branch. (check-in: ac6ae846 user: drh tags: lateral-join)
23:46
Merge all the latest trunk enhancements into the exists-to-join branch. (Leaf check-in: 9084a4c8 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: 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. 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. (check-in: 2a04b1be user: drh tags: tcl9)
20:49
Fix various problems with the code on this branch. (check-in: 8bd4ae7e user: dan tags: fts5-locale)
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:46
Add missing documentation for new features to fts5.h. (check-in: fa0da3b2 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: 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)
10:52
Merge latest changes from trunk into this branch. (check-in: ff64939e user: dan tags: fts5-locale)
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
Fix cases surrounding blob values being stored in locale=1 fts5 tables. (check-in: ae435aff 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: 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:55
Update the highlight() and snippet() functions to use locales when available. (check-in: 569ae56a user: dan tags: fts5-locale)
15:49
First attempt at getting the build to work with Tcl 9.0. (check-in: 6e5bb48a user: drh tags: tcl9)
2024-07-29
20:31
Fix xColumnText() and xColumnSize() APIs. Add xColumnLocale() and xTokenizeSetLocale(). (check-in: 14006711 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: d029e943 user: drh tags: broken-istrue-opt)
15:00
Fix a couple of asan problems on this branch. (check-in: 4e3e5293 user: dan tags: fts5-locale)
2024-07-27
20:28
Fix documentation typo. Forum post 993cb82402 (check-in: 86de4e75 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: 69205264 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: 8839ef7c 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: 3be72949 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: ec02e923 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: b029c406 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: ed746b3d 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: 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)
19:31
Fix undesirable C++-style comments in the parser. (check-in: e330596a 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: ac6dc8c6 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: 0a2531c3 user: drh tags: lateral-join)
16:15
Allow LIMIT expressions to appear in any outer context. (check-in: c9d3427d user: drh tags: lateral-join)
13:55
Do not allow LIMIT and OFFSET to be expressions except for in a LATERAL. (check-in: 10347821 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: 4f051513 user: drh tags: lateral-join)
2024-07-21
23:36
Merge debugging output fixes from trunk into the lateral-join branch. (check-in: 9182e999 user: drh tags: lateral-join)
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)
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: 6d863172 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: 6c14b94f 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: 31e175fc 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: 23d83a41 user: drh tags: lateral-join)
16:11
Fix an oversized allocation in sqlite3ExprCodeIN(). (check-in: d7be326a user: dan tags: trunk)
14:06
Add testcase() macros to bitmap tests in the new code. (check-in: 874bc7bc user: drh tags: lateral-join)
09:36
Remove an unnecessary error offset assignment. (check-in: 4ee74b72 user: drh tags: lateral-join)
08:31
Optimizations and improved comments. (check-in: 84b80233 user: drh tags: lateral-join)
03:57
Do not do an early abort if a lateral subquery is an empty set. (check-in: 9e50d338 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: 8217bdda user: drh tags: lateral-join)
01:19
Experimental implementation of LATERAL JOIN. (check-in: 3c045a96 user: drh tags: lateral-join)
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:13
Slight doc touchup for [af41a1e6fc8b36e9bf65]/[c7519d98ff09e] based on feedback. No code changes. (check-in: a61997c3 user: stephan tags: branch-3.46)
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: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: c7519d98 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: 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)
10:08
Improved reuse of subqueries associated with IN operators, especially when the IN operator is duplicated due to predicate push-down. (check-in: 2a07caad 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: 557a14a2 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: 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-27
15:03
Merge all the latest trunk enhancements into the recursive-cte-orderby-fix branch. (Leaf check-in: 5f159e54 user: drh tags: recursive-cte-orderby-fix)
14:54
Merge the latest trunk enhancements into the exists-to-join branch. (check-in: fc643f8a user: drh tags: exists-to-join)
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-20
12:07
Do not attempt the exists-to-join optimization if the FROM clause is full. (check-in: 8e3a1d28 user: drh tags: exists-to-join)
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-17
13:06
Improve the JS-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: d34e7880 user: stephan tags: branch-3.46)
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)
18:06
Add tests for the change on this branch. (check-in: ae19ff9b user: dan tags: exists-to-join)
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:08
Fix a potential db corruption case triggered by the OPFS VFS's xCheckReservedLock() implementation. (check-in: a7cd07d9 user: stephan tags: branch-3.46)
21:01
Remove some JS docs which no longer apply. No code changes. (check-in: f253cab3 user: stephan tags: trunk)
17:01
Do not attempt the exists-to-join optimization for expressions from the ON clause of joins. (check-in: 4666433c user: dan tags: exists-to-join)
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)
10:17
Improvements to the layout and comments for the new round() implementation. (Leaf check-in: d6b1df1a user: drh tags: round-up-2)
00:30
Test cases for the round() function for values within one epsilon of the 5 round-up threshold. (check-in: 552b1b10 user: drh tags: round-up-2)
2024-06-11
22:47
A second approach to working on the round() function so that it gives a small boost to numbers that are ...49999999 such that they round up. (check-in: 44dd6328 user: drh tags: round-up-2)
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)
18:22
Provide the ability to disable the exists-to-join optimization using SQLITE_TESTCTRL_OPTIMIZATIONS. Provide tree-trace output for the optimization. (check-in: 33a3f327 user: drh tags: exists-to-join)
17:37
Merge trunk enhancements into the exists-to-join branch. (check-in: 5f25a951 user: drh tags: exists-to-join)
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
19:45
Add missing calls to sqlite3exprSkipCollateAndLikely() to the enchancement on this branch. (check-in: 078537d0 user: dan tags: exists-to-join)
19:31
Fix a crash that could occur when the SELECT in an EXISTS(SELECT ...) used an unknown collation sequence. (check-in: f3009a6d user: dan tags: exists-to-join)
18:30
The aggressive rounding behavior is now only accessible using the internal sqlite3MPrintf() function. The round() SQL function uses that internal function so it can access the aggressive rounding. But ordinary extensions and the format() SQL function cannot. Update: Superseded by round-up-2 branch (Closed-Leaf check-in: 3dec4b35 user: drh tags: round-up)
18:10
More aggressive rounding behavior for the round() function only. Format() still uses the classic behavior, and the same behavior exhibited by printf() in glibc. (check-in: a1b57288 user: drh tags: round-up)
14:31
Change the rounding behavior of float point to decimal conversions such that if the next digit is 4 but the value is within one epsilon of the next digit being 5 and if the epsilon is small compared the number of digits to be rendered, then go ahead and round up anyhow, even though the correct behavior would be to round down. (check-in: 4a790d3b user: drh tags: round-up)
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)
12:29
Check-in contained undesired test code. (Leaf check-in: 43f376ce user: drh tags: mistake)
2024-06-09
17:58
Disable the omit-noop-join optimization when there are 64 or more terms in the ORDER BY clause. (check-in: a7fe90c1 user: drh tags: branch-3.46)
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-08
18:13
Add extra tests for the changes on this branch. (check-in: a6365c77 user: dan tags: exists-to-join)
2024-06-07
21:00
Experimental optimization to rewrite a SELECT with an EXISTS(...) expression in the WHERE clause as a join. (check-in: 972a33db user: dan tags: exists-to-join)
19:48
At attempt at improving the performance of unixRead(). Partly successfuly, but the improvement is not that much and there is question whether or not the improvement is worth the extra complication and code space. (Leaf check-in: aebc790a user: drh tags: fast-read)
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:54
Harmonize function names. (Leaf check-in: db43d7aa user: mistachkin tags: concatb)
20:52
Add an experimental concatb() function. (check-in: 07d84202 user: mistachkin tags: concatb)
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)
16:50
Fix an fts5 problem with secure-delete mode causing integrity-check to erroneously report a corrupt index. (check-in: 0a7fa0a4 user: drh tags: branch-3.46)
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:25
Experimentally enable linenoise multiline mode in shell.c. (Closed-Leaf check-in: 33ad9d8a user: stephan tags: linenoise-multiline)
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)
18:41
Fix another problem with the sqlite3_log() message identifying the table or index that a conflicting page belongs to. (check-in: 19d5fd8a user: dan tags: bedrock)
18:35
Fix another problem with the sqlite3_log() message identifying the table or index that a conflicting page belongs to. (check-in: d033d943 user: dan tags: begin-concurrent)
15:37
For query planning purposes, assume every table holds at least 100 rows, as this seems to give better worst-case performance if the table row count estimate turns out to be inaccurate. Park this change on a branch for now and consider it for a future enhancement. (Leaf check-in: 76c7d933 user: drh tags: min-row-estimate)
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:38
Fix a possible buffer overwrite in the ".import" command. (check-in: 55eee9f9 user: drh tags: branch-3.46)
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:17
Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error. (check-in: 01ead0a2 user: drh tags: branch-3.46)
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:34
Increase the version number to 3.46.1 (check-in: 170e3a91 user: drh tags: branch-3.46)
23:30
Fix the window-function group_concat() so that it returns an empty string if it has one or more empty string inputs. (check-in: 7fe11274 user: drh tags: branch-3.46)
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)
14:09
Version 3.46.0 for the reuse-schema branch (check-in: 8f6b8594 user: drh tags: reuse-schema)
14:09
Version 3.46.0 for the bedrock branch (check-in: 483d112a user: drh tags: bedrock)
14:05
Version 3.46.0 for the wal2 branch. (check-in: fdc0e148 user: drh tags: wal2)
14:04
Version 3.46.0 for the begin-concurrent branch (check-in: e3f8c70e user: drh tags: begin-concurrent)
13:25
Version 3.46.0 (check-in: 96c92aba user: drh tags: trunk, release, major-release, version-3.46.0)
2024-05-21
17:37
Ensure an sqlite_dbdata cursor is properly reset before being used again, even if it has already encountered database corruption. (check-in: 3210e1ca user: dan tags: trunk)
15:24
Merge the latest trunk enhancements into the bedrock branch. (check-in: c65a82f1 user: drh tags: bedrock)
15:20
Merge the lates trunk enhancements into the reuse-schema branch. (check-in: 97e0af88 user: drh tags: reuse-schema)
15:20
Merge the latest trunk enhancements into the wal2 branch. (check-in: d4217d9f user: drh tags: wal2)
15:17
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 5c1c8651 user: drh tags: begin-concurrent)
14:54
Do not attempt to run mmapcorrupt.test with builds that do not support mmap(). (check-in: 54a49f18 user: dan tags: trunk)
13:34
Fix harmless compiler warnings. (check-in: aab59f9f user: drh tags: trunk)
11:11
Fix the -> and ->> operators so that when the RHS is a string that looks like a number, it is still treated as a string, because that is what PG does. Forum post 9e52cdfe15c3926e. (check-in: de8182cf user: drh tags: trunk)
2024-05-20
19:59
Omit a capi3 test from 2007 that depends upon undefined behavior (UAF). (check-in: a60a0b75 user: drh tags: trunk)
19:51
Do not run the tests in recovercorrupt4.test with the inmemory_journal permutation. (check-in: c13205d6 user: dan tags: trunk)
17:52
Improvements to the documentation of sqlite3_vtab_distinct(). Do not allow sqlite3_vtab_distinct() to return 2 or 3 if the rowid column of the virtual table is used, as doing so might lead to an incorrect answer. (check-in: 08058d66 user: drh tags: trunk)
16:00
Improvements to the sqlite3_vtab_distinct() documentation. (Closed-Leaf check-in: 6ee041d3 user: drh tags: vtab-distinct-fix)
2024-05-18
20:00
Fix the definition of sqlite3_vtab_distinct() such that return codes 2 and 3 mean that all rows must be distinct over "colUsed" which is a superset of "aOrderBy". Also, disallow return codes 2 and 3 if the rowid of the virtual table is accessed. (check-in: 922731ce user: drh tags: vtab-distinct-fix)
15:21
JS error message and doc typos reported in the forum. No code changes. (check-in: 1a073f9a user: stephan tags: trunk)
2024-05-17
22:51
Improvements to a VDBE comment. No changes to anything that affects queries. (check-in: c2188da8 user: drh tags: trunk)
14:26
Merge branches "fix-onerow-opt", "faster-openread", "fts5-delay-tokenizer" and "enhanced-raise", each containing minor enhancements prepared for 3.46, into this branch. (Closed-Leaf check-in: 6dc64721 user: dan tags: pending-3.46)
13:56
Fix a problem in where.c preventing SQLite from identifying some ONEROW scans, leading to (slightly) sub-optimal byte-code. (Closed-Leaf check-in: b41e7120 user: dan tags: fix-onerow-opt)
2024-05-16
16:22
Add extra tests for the error messages generated by sqlite3_declare_vtab() when passed something other than a well-formed CREATE TABLE statement. (check-in: 5fa0c2a0 user: dan tags: trunk)
15:57
The sqlite3_declare_vtab() interface should return SQLITE_ERROR, not SQLITE_MISUSE when a nonsense SQL input is provided, for legacy compatibility. Forum post 4b875d7b2a. (check-in: 1ec2961a user: drh tags: trunk)
00:20
Fix a case where an error in the ORDER BY clause of an aggregate function that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command. dbsqlfuzz 899d9255555a07f1fe11a0bb51a2fe197b3150cd (check-in: 953271f2 user: drh tags: trunk)
2024-05-15
23:36
Back out the assert() fixes from [a9443dbfbe25e588] and [3afaeac56dff58db] (but keep the corresponding test cases) because they are both made obsolete by the previous fix on this branch. (Closed-Leaf check-in: 3120c7c8 user: drh tags: alter-table-fix)
21:38
Fix a case where an error in the ORDER BY clause of an aggregate function that is part of a trigger body might cause an assert() to fail in an ALTER TABLE command. (check-in: b79a8be3 user: dan tags: alter-table-fix)
15:06
If there is no data available for a field in a corrupted record, but the type is available, have the recovery extension substitute 0, 0.0, '' or X'' instead of a NULL value. (check-in: 8eb326c2 user: dan tags: trunk)
2024-05-14
19:41
Optimize queries against fts5vocab(row) tables that do use the "cnt" column. (Closed-Leaf check-in: 96a591c2 user: dan tags: fts5-delay-tokenizer)
19:09
Avoid calculating the value of the "cnt" column for fts5vocab(row) queries that do not use it. (check-in: c0c91e30 user: dan tags: fts5-delay-tokenizer)
17:16
Have fts5 tables delay initializing the tokenizer until it is first used in all cases where the tokenizer is not "trigram". (check-in: ca4fdcb8 user: dan tags: fts5-delay-tokenizer)
2024-05-13
20:06
Allow existing fts5 tables to be dropped even if the associated tokenizer is not available. (check-in: 69ef47ee user: dan tags: fts5-delay-tokenizer)
2024-05-12
00:26
Optimization in the implementation of OP_OpenRead and OP_OpenWrite (Closed-Leaf check-in: 3a256a16 user: drh tags: faster-openread)
2024-05-11
16:44
Add tests to bestindexC.test. No changes to code. (check-in: 58d938c0 user: dan tags: trunk)
2024-05-10
18:24
Fix aggregate function processing to correctly deal with OOMs inside of sqlite3ParserAddCleanup(). (dbsqlfuzz b2d11ca70e55ee8bde48ae0b53fa3e9355812f95). Also add improved testing support by causing sqlite3FaultSim(300) to simulate an OOM inside of sqlite3ParserAddCleanup() and by adding improved fault-sim support to the CLI. (check-in: c6fd70b3 user: drh tags: trunk)
18:15
Add a test for the fixes on this branch. (Closed-Leaf check-in: 716088d6 user: dan tags: cleanup-testing)
18:10
The sqlite3FaultSim(300) error from [1e8863909ac369e5] must be treated as an OOM, since it simulates an OOM. Also fix deferred deletion of Expr objects from [a53bdd311c4154fd] so that it does not corrupt the AST if an OOM occurs. (check-in: c623d9a5 user: drh tags: cleanup-testing)
17:05
Improvements to the ".testctrl fault_install" command in the CLI. (check-in: 48b34ded user: drh tags: cleanup-testing)
16:28
Add an sqlite3FaultSim(300) call to the sqlite3ParserAddCleanup() routine for more precise simulation of OOM errors in that routine. (check-in: 1e886390 user: drh tags: cleanup-testing)
09:26
Squelch two OMIT-flag-related warnings reported in forum post 388243d9882067a9. No functional changes. (check-in: 1d671605 user: stephan tags: trunk)
2024-05-09
18:39
Add a maintenance-reminder comment explaining [dc58ed65492857]. (check-in: 857f5d7f user: stephan tags: trunk)
18:00
Reformulate a for-in loop to a for loop in wasm.xWrap() to work around downstream frameworks modifying the JS Array prototype, as reported in forum post b549992634b55104. (check-in: dc58ed65 user: stephan tags: trunk)
2024-05-08
17:57
Rename a shadowed local var, as reported in forum post 2ba65af31. No functional changes. (check-in: d030c87c user: stephan tags: trunk)
17:42
Allow arbitrary expressions as the second argument to RAISE(). (Closed-Leaf check-in: 003e1c8c user: drh tags: enhanced-raise)
11:51
Fix a hyperlink typo in session documentation. (check-in: 42d67c6f user: drh tags: trunk)
2024-05-07
19:45
Fix bug in test script sessionconflict.test. (check-in: e29decb8 user: dan tags: trunk)
17:58
Ensure successive scans of pragma virtual tables return consistent rowids. (check-in: 6838bf3a user: dan tags: trunk)
13:20
Fix a compilation error in test/lemon-test01.y, reported in forum post f0ad095705. (check-in: 576b68c8 user: stephan tags: trunk)
2024-05-06
20:21
When extracting links from sqlar archives, clobber any existing file or link, and do not call utimes() to set the timestamp - it looks through the link and operates on the target. (check-in: 2bf8c3f9 user: dan tags: trunk)