Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
1181 check-ins using file src/btree.h version 55066f513e
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: f9a90a0d2c user: dan tags: branch-3.46) | |
2024-10-19
| ||
13:44 | Get tool-zip target, and its prerequisites, building. (check-in: 38cc5db3a8 user: stephan tags: autosetup) | |
13:19 | Get more of the test/utility targets building. (check-in: 24c81c6c52 user: stephan tags: autosetup) | |
13:18 | Work around a JimTCL regsub incompatibility in mkccode.tcl. (check-in: c2e5dd791c user: stephan tags: autosetup) | |
12:47 | Get the spell-checking targets working. Rename some symbols. (check-in: e389ef9c14 user: stephan tags: autosetup) | |
00:49 | Get mptest(er) building. (check-in: f740f6a444 user: stephan tags: autosetup) | |
2024-10-18
| ||
16:47 | Remove the problematic dbfuzz2-asan/msan targets, which Richard says are not used anymore. (check-in: 503ce205a1 user: stephan tags: autosetup) | |
16:39 | Get most of the fuzzing-related apps building, sans dbuzz2-asan/msan, both of which refuse to link with clang v18 because it's trying to use -lstdc++ despite the app being only C. (check-in: 3e84345292 user: stephan tags: autosetup) | |
2024-10-17
| ||
23:14 | Fix obsolete M4 macro in the configure script for the TEA extension within the autoconf tarball. (check-in: 360613a224 user: drh tags: trunk) | |
22:20 | Merge current trunk into the autosetup branch. (check-in: 352da23b46 user: stephan tags: autosetup) | |
22:19 | General cleanups. Rename BTCL to BTCLSH for some clarity. (check-in: 83eaef7d62 user: stephan tags: autosetup) | |
18:12 | Fixes from code inspection: (1) Extra paranoid defense against integer overflow. (2) Remove a stray blank line in an FTS5 comment. (check-in: 8563728dee user: drh tags: trunk) | |
16:22 | Fix a typo in compile-for-unix.md. Simplify hyperlinks in the compile-for-* documents. (check-in: 8cd7d15774 user: drh tags: trunk) | |
13:29 | Improved README.txt file in the amalgamation-autoconf tarball. (check-in: b781435038 user: drh tags: trunk) | |
13:00 | Attempt to get the TEA builder in the amalgamation-autoconf tarball working using hints from Jan Nijtmans. (check-in: ad9d7bdef9 user: drh tags: trunk) | |
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: 63ee358420 user: stephan tags: branch-3.46) | |
12:14 | Ensure that the OPFS VFS's xOpen() writes back the read-only flag to the output flags. Resolves the problem reported in forum post cf37d5ff1182c31081. (check-in: 0a32624015 user: stephan tags: trunk) | |
11:12 | When calling OpfsSAHPoolUtil.removeVfs(), ensure that the cached result the VFS init is also removed so that the VFS may later be registered again with the same name. Set up test code for the regression reported in forum post cf37d5ff11 (which uncovered the removeVfs() shortcoming) but that test is currently only known to fail with the "opfs" VFS and is not currently set up to fail. (check-in: b7f7a5deea user: stephan tags: trunk) | |
2024-10-16
| ||
15:14 | Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 93f0febab4 user: drh tags: reuse-schema) | |
15:03 | Merge the latest trunk enhancements into the wal2 branch. (check-in: 2e96c8bb7a user: drh tags: wal2) | |
14:05 | Add has_tclconfig to the tidy makefile target. (check-in: 309e6d6f07 user: stephan tags: trunk) | |
14:04 | Get testfixture building. (check-in: 9a7e56a017 user: stephan tags: autosetup) | |
13:02 | Merge trunk into this branch. (check-in: 9c3bb3dc4f user: stephan tags: autosetup) | |
11:05 | Change the name of the new utility program from sqlite3-rsync to sqlite3_rsync - dash changed to underscore - for consistency with the preexisting sqlite3_analyzer. (check-in: 86e794cbaa user: drh tags: trunk) | |
10:20 | In the unix Makefile, strip compiled binaries prior to adding them to the tool ZIP archive. (check-in: cd8ae6fd71 user: drh tags: trunk) | |
2024-10-15
| ||
22:22 | Fix harmless compiler warning in flockCheckReservedLock(). (check-in: f369de3d8f user: drh tags: trunk) | |
18:45 | Fix the "tool-zip" makefile target so that it includes sqlite3-rsync. (check-in: ecdbedb16b user: drh tags: trunk) | |
14:28 | Fix a typo in a comment used to generate document. No code changes. (check-in: 9b4bc5c4c1 user: drh tags: trunk) | |
14:00 | Cross-reference the sqlite3_backup_init() function to the documentation for VACUUM INTO and sqlite3-rsync. Comment changes only. No changes to code. (check-in: 405c23ce02 user: drh tags: trunk) | |
2024-10-14
| ||
18:43 | Avoid the possibility of buffer overrun in the READ_UTF8 macro by using an less-than operator rather than not-equal-to. (check-in: 20e60bf058 user: drh tags: trunk) | |
11:48 | There is no need to DELETE the content of sqlite_sequence in the output of the CLI ".dump" command because that table will initially be empty if it exists at all. Forum post 2e31f49d004 (check-in: 8d7fe903d0 user: drh tags: trunk) | |
10:45 | The CLI now default to ".crlf ON" in Windows. CSV output always uses CRLF on all platforms. (check-in: 84d19f03b1 user: drh tags: trunk) | |
09:19 | Be consistent about using "CRLF" instead of "CRNL". (check-in: ec4f4cfd5f user: drh tags: trunk) | |
09:08 | Fix a harmless compiler warning in the CLI. (check-in: 31c46e84ff user: drh tags: trunk) | |
2024-10-12
| ||
19:33 | Fix a problem with the ".expert" command and queries that use virtual tables. (check-in: 43787b8ec5 user: dan tags: trunk) | |
18:33 | Ensure that test file ext/expert/expert1.test works with non-fts5 builds. (Closed-Leaf check-in: 933dfd0618 user: dan tags: expert-vtab-fix) | |
18:00 | Allow the ".expert" command to analyze statements that use built-in virtual tables. (check-in: a201906cd3 user: dan tags: expert-vtab-fix) | |
2024-10-11
| ||
23:31 | Additional clarification in the comments to sqlite3_stdio.c. No changes to code. (check-in: 2db24c5364 user: drh tags: trunk) | |
20:36 | Experimental change to explain query plan to identify covering indexes on expressions. (Closed-Leaf check-in: 3bb03a2891 user: dan tags: eqp-covering-index-on-expr) | |
19:57 | Update comments in ext/misc/sqlite3_stdio.c to reflect the latest enhancements. No changes to code. (check-in: 9621c3b527 user: drh tags: trunk) | |
19:33 | Add the doc/compile-for-unix.md document. (check-in: a3e16e478b user: drh tags: trunk) | |
19:22 | Avoid a segfault when calling src-verify without any arguments. (check-in: c0c4e6f111 user: stephan tags: trunk) | |
19:18 | Add two missing $(BEXE) suffixes, as reported in forum post 9ad28680d3. Problem introduced by [1218a203483cecdc] being incomplete in where it added that suffix. (check-in: de9663c0aa user: stephan tags: trunk) | |
19:13 | Improved instructions in the TEA readme for building the TCL extension. (check-in: bf996f7102 user: drh tags: trunk) | |
19:08 | Update the README for the TEA extension in the amalgamation tarball. (check-in: acc866c8f1 user: drh tags: trunk) | |
18:59 | Avoid running some new tests in lock5.test with the inmemory_journal permutation. (check-in: 0b12e2e55c user: dan tags: trunk) | |
17:43 | Update the autoconf Makefile.msc (check-in: 911ab32997 user: drh tags: trunk) | |
17:02 | An improved method for statically linking sqlite3_analyzer.exe using Tcl9. Enable wildcard expansion of arguments to testfiture on Windows. (check-in: 9b87ea219b user: drh tags: trunk) | |
14:30 | Fix the CSV output mode in the CLI such that the line ending is NL by default but goes to CRLF if ".crnl on" is set. Make the .crnl command available on non-Windows builds. Update the .crnl command such that if it has no arguments it shows the current setting. (check-in: da750e39df user: drh tags: trunk) | |
14:02 | Avoid undesirable NL to CRLF translation when doing binary output to the Windows console. (check-in: d25bdce36a user: drh tags: trunk) | |
2024-10-10
| ||
10:47 | Improvements to TCL9 support. Fixes to the Makefiles so that the "install" targets are consistent and so that they work better with TCL9. (check-in: bcfae7183e user: drh tags: trunk) | |
10:33 | For compatibility, allow the TCL interfact to continue working with TCL 8.5. (Closed-Leaf check-in: 69346e9d47 user: drh tags: make-install-fixes) | |
09:59 | Adjustments to the Makefile.msc to get static builds of sqlite3_analyzer.exe working with TCL9. Update the compile-for-windows.md document for TCL9. (check-in: df16d07d8d user: drh tags: make-install-fixes) | |
2024-10-09
| ||
20:05 | Improvements to Makefile.msc: (1) Attempt to find sane values for key variables based on the value of TCLDIR. (2) Default to TCLVERSION 90 instead of 86. (3) Add the "tcl-env" target that shows the values of key variables associated with TCL. (check-in: 6b7a789a41 user: drh tags: make-install-fixes) | |
17:47 | Add quotes around $(CC) in tclextension-related targets so that a CC of "ccache cc" works. (check-in: e8f719d13f user: stephan tags: make-install-fixes) | |
16:32 | Fix a problem in the generate_series() extension introduced by [d50b784807333c54]. (check-in: 41d58a014c user: drh tags: trunk) | |
16:28 | Fix the xCheckReservedLock() method of the flock VFS to avoid dropping the file lock. (check-in: f7acb189d8 user: dan tags: trunk) | |
15:40 | Fix the xCheckReservedLock() method of the flock VFS to avoid dropping the file-lock. (Closed-Leaf check-in: 8ffaf85249 user: dan tags: flock-vfs-fix) | |
13:54 | Change the makefile to prefer the use of tclsh9.0 if it is available. (check-in: 28e2b9a23f user: drh tags: make-install-fixes) | |
13:40 | Make it so that the TCL extension installed using "make install" has the same name as the one installed by "make tclextension-install". (check-in: e21fc1ba44 user: drh tags: make-install-fixes) | |
13:26 | Add sqlite3rc.h build. (check-in: 8d5f99f7e3 user: stephan tags: autosetup) | |
13:20 | More work on the tcl build parts. (check-in: 292ad7d519 user: stephan tags: autosetup) | |
13:19 | Changes to the TCL extension and how it is built, suggested by Jan Nijtmans. (check-in: 9c06901932 user: drh tags: make-install-fixes) | |
11:52 | Improved handling of unicode characters in the LIKE optimization. Follow-up to [bce52ce2a6e7f3d3]. (check-in: 9d0eb39804 user: drh tags: trunk) | |
08:05 | Remove extra layer of quotes around install target dirs. (check-in: f2e3cf219e user: stephan tags: autosetup) | |
07:12 | More work on the tcl build bits. (check-in: f00988a909 user: stephan tags: autosetup) | |
05:28 | Generic build cleanups. (check-in: 2cd213b387 user: stephan tags: autosetup) | |
05:20 | Add a few missing $(BEXE) suffixes on makefile targets which are apparently never run on platforms where that var is non-empty. (check-in: 1218a20348 user: stephan tags: trunk) | |
04:27 | More work on the --with-tcl bits. (check-in: 4d4cc49b6a user: stephan tags: autosetup) | |
04:01 | Get much of the --with-tcl-related bits working. (check-in: 4e4a740369 user: stephan tags: autosetup) | |
2024-10-08
| ||
17:27 | Enable the ".crnl" command on Windows builds of the CLI even if the SQLITE_U8TEXT_ONLY or SQLITE_U8TEST_STDIO compile-time options are used. (check-in: 6364a2f044 user: drh tags: trunk) | |
16:33 | Fix build portability problems discovered on an ARM OpenBSD system. (check-in: ef5348dc3f user: stephan tags: autosetup) | |
16:06 | Get some basic install rules working. (check-in: e9ab211f82 user: stephan tags: autosetup) | |
16:05 | Make tool/emcc.sh.in Bourne-friendly. (check-in: a69ab88474 user: stephan tags: autosetup) | |
15:11 | Additional improvements to the behavior of ".crnl" in the CLI. The default output mode is O_BINARY so that results are identical on Windows and non-Windows systems. On Windows you can optionally do ".crnl on" to enable NL-to-CRLF conversion on output. Output to Windows console is always O_U8TEXT and so is unaffected by the .crnl setting. (check-in: dbfc10b898 user: drh tags: trunk) | |
14:07 | Fix the .crnl command in the shell so that it does not get undone by calls to print a quoted string or CSV output. (check-in: 6b932337c8 user: drh tags: trunk) | |
10:10 | Allow expressions with subtypes to be read from indexes unless they are being used as direct or indirect parameters to SQLITE_SUBTYPE functions. (check-in: 39a56a23fe user: drh tags: trunk) | |
00:15 | Add an ALWAYS() on a branch in the new indexed-subtype logic. (Closed-Leaf check-in: f150c3c5b8 user: drh tags: indexed-subtype-expr) | |
2024-10-07
| ||
21:04 | Add a NEVER() to an unreachable branch in the new indexed-subtype logic. Mark the pi() function as deterministic. (check-in: 50be8f5091 user: drh tags: indexed-subtype-expr) | |
18:06 | The (undocumented) subtype() SQL function should have the SQLITE_SUBTYPE flag. (check-in: c361dd9184 user: drh tags: indexed-subtype-expr) | |
16:53 | Merge the latest trunk enhancements into the indexed-subtype-expr branch. (check-in: 2fe2f37458 user: drh tags: indexed-subtype-expr) | |
12:48 | Add the undocumented test/debug function parseuri(), useful for fuzzing. Only appears when compiling with SQLITE_DEBUG. (check-in: 011fab70cb user: drh tags: trunk) | |
12:24 | Fix handling of U+fffd in the LIKE optimization. (check-in: 242cb4bbee user: drh tags: branch-3.46) | |
12:19 | Fix handling of U+fffd in the LIKE optimization. dbsqlfuzz eee57fb9eea1dfa5aa40dfa87865cf8c84d12f96. (check-in: bce52ce2a6 user: drh tags: trunk) | |
12:15 | Check-in to the wrong branch. (Closed-Leaf check-in: 13addee687 user: drh tags: mistake) | |
11:47 | Fix an assert() failure in "PRAGMA integrity_check" that could occur when checking a corrupt database. (check-in: d218993be5 user: dan tags: trunk) | |
2024-10-06
| ||
21:26 | Origin should not send content for the lock-byte page to the replica, in sqlite3-rsync. Forum post d14b55e5fa19c25f. (Closed-Leaf check-in: aa9bd711cc user: drh tags: parseuri) | |
15:01 | New SQL function for testing/debugging use only: parseuri(). (check-in: 37d3b6b17e user: drh tags: parseuri) | |
2024-10-05
| ||
22:28 | Fix minor problem with error recovery after OOM in the parser. (check-in: aafab58453 user: drh tags: lateral-join) | |
22:02 | Merge the Makefile fix from trunk. (check-in: 9403bbaaff user: drh tags: lateral-join) | |
21:44 | Back out [2f7eab381e16] because the stderr output on systems without gmake causes grief in the testing tools. (check-in: cc6f3de032 user: stephan tags: trunk) | |
18:10 | Allow expressions with subtypes to be read from indexes unless they are being used as direct or indirect parameters to SQLITE_SUBTYPE functions. (check-in: aa440e78e9 user: dan tags: indexed-subtype-expr) | |
17:37 | Experimental change to allow expressions with subtypes to be read from indexes in situations where they are not used as function parameters. (check-in: ac63f98ad8 user: dan tags: indexed-subtype-expr) | |
15:51 | Merge latest trunk changes into this branch. (check-in: a92bb48a48 user: dan tags: lateral-join) | |
12:06 | Merge trunk into autosetup branch. (check-in: 6cbb05fde1 user: stephan tags: autosetup) | |
12:02 | Add ext/wasm to the top-level clean/distclean rules in such a way that any error due to a lack of gmake are ignored. (check-in: 2f7eab381e user: stephan tags: trunk) | |
2024-10-04
| ||
17:02 | Fix typo in documentation for SQLITE_SUBTYPE. No code changes. (check-in: 6733893f45 user: dan tags: trunk) | |
2024-10-03
| ||
16:31 | Unconditionally include <ctype.h> in sqliteInt.h, even in builds where it is not needed. (check-in: 825f01d7e2 user: drh tags: trunk) | |
10:06 | Fix to the previous: The dbpageRollbackTo() method should return SQLITE_OK. (check-in: 4dea722112 user: drh tags: trunk) | |
09:53 | Fix missing return value from the new dbpageRollbackTo() callback. (check-in: d1e0992e1f user: drh tags: trunk) | |
2024-10-02
| ||
18:54 | Modify the behavior of sqlite_dbpage so that the null-INSERT that truncates a database must be the very last INSERT operation within a transaction in order to be effective. This simplifies the code and also makes the behavior easier to document and understand. (check-in: b869a7d9ce user: drh tags: trunk) | |
17:43 | Fix a typo in fts5delete.test. (check-in: b1f001435e user: dan tags: trunk) | |
17:04 | Add the contentless_unindexed=1 option to fts5. This causes the values of any UNINDEXED columns of a contentless fts5 table to be stored persistently in the database. (check-in: 58313ac59e user: dan tags: trunk) | |
16:55 | Adjust the new truncation behavior of sqlite_dbpage(N,null) such that it causes the database to be truncated to N-1 pages. This makes more since. An error is raised if N is less than 2. (check-in: 7d5ff86ef7 user: drh tags: trunk) | |
13:26 | Remove all use of the "long double" data type from SQLite, as hardware support for long double is increasingly rare and the use of long double creates challenges for some compilers. (check-in: 761d8fd18b user: drh tags: trunk) | |
11:34 | Remove a few more traces of long double from the code. (Closed-Leaf check-in: 11d6a89e4a user: drh tags: omit-long-double) | |
11:15 | Ensure that if sqlite3_snapshot_get() is called immediately after a "BEGIN", then it locks the database such that the returned snapshot object may not be invalidated by a writer or checkpointer until after the sqlite3_snapshot_get() caller has closed its transaction. (check-in: eb5277e490 user: dan tags: trunk) | |
11:11 | Merge latest trunk changes into this branch. (Closed-Leaf check-in: 2b3945e6a5 user: dan tags: snapshot_get-locking) | |
11:11 | Update docs for sqlite3_snapshot_get(). (check-in: 78c3892ab7 user: dan tags: snapshot_get-locking) | |
2024-10-01
| ||
20:38 | Rationalize code further. And add tests. (check-in: 0ca002a4ab user: dan tags: fts5-tokendata-prefix) | |
20:29 | Remove all code that makes use of the C-language "long double" datatype. (check-in: f622b52024 user: drh tags: omit-long-double) | |
19:10 | New #ifdefs to omit code that is unused when SQLITE_USE_LONG DOUBLE is defined. (check-in: 98066e2d22 user: drh tags: trunk) | |
17:57 | Another comment about the LONGDOUBLE wasm topic. No code changes. (check-in: 1755831cb1 user: stephan tags: trunk) | |
17:08 | Use the new SQLITE_USE_LONG_DOUBLE to disable long-double support in WASM builds, as they cannot be represented in JS and this saves approximately 5.5kb in the resulting wasm file. (check-in: fa7b56f776 user: stephan tags: trunk) | |
16:55 | Add compile-time option -DSQLITE_USE_LONG_DOUBLE=0 to omit all attempts to use "long double". Or =1 to omit attempts to use the Dekker algorithms to achieve high-resolution floating point. (check-in: ca5964ef70 user: drh tags: trunk) | |
13:40 | Get more of the CLI utils building. (check-in: 6838b7b5d6 user: stephan tags: autosetup) | |
11:09 | Correct missing LDFLAGS_ZLIB for libsqlite3.so. (check-in: 98bbba3a05 user: stephan tags: autosetup) | |
11:04 | Fix reversed logic in the build/target/host names in several hwaci-* functions. (check-in: fde7257ad9 user: stephan tags: autosetup) | |
10:49 | Add an #if'd-out block to sqlite3-wasm.c mentioning the LONGDOUBLE_TYPE, as brought up in forum post cbfb0d0ac. No functional changes. (check-in: 0b83e8f1ef user: stephan tags: trunk) | |
2024-09-30
| ||
19:01 | Add static library build. Get build working (for a given value of working) with the --disable-amalgamation flag. (check-in: ddfda58004 user: stephan tags: autosetup) | |
18:19 | Fix the character width tables for the CLI such that all unicode code-points less than 0x300 have a width of 1. This is in fact the case for Mac, Ubuntu, and Windows. (check-in: f0c5a86fef user: drh tags: trunk) | |
17:53 | Fix a usan warning in test_hexio.c on this branch. (check-in: 59fba0288d user: dan tags: wal2) | |
17:44 | More generic build tinkering. (check-in: 433bfc7902 user: stephan tags: autosetup) | |
17:32 | Merge the latest trunk enhancements, including fix for assert() failure in fts5, into the wal2 branch. (check-in: ab63561812 user: dan tags: wal2) | |
17:28 | In fts5, avoid starting a new merge of level L if there exists already an ongoing merge of a level less than L. (check-in: 350c6e75ce user: dan tags: trunk) | |
15:17 | Merge the latest trunk enhancements into the reuse-schema branch. (check-in: 1ba833743d user: drh tags: reuse-schema) | |
14:41 | Merge the latest trunk enhancements into the wal2 branch. (check-in: 0f9e2fceec user: drh tags: wal2) | |
14:33 | Generic build tinkering. (check-in: b6c1772ce0 user: stephan tags: autosetup) | |
2024-09-28
| ||
20:45 | Rationalize some of the new code on this branch. (check-in: 66f209ba40 user: dan tags: fts5-tokendata-prefix) | |
19:52 | Fix the CLI so that the --bom option only outputs a single BOM, not two. (check-in: 76b6331e6a user: drh tags: trunk) | |
15:20 | Merge trunk changes into this branch. (Closed-Leaf check-in: 81d48df62c user: dan tags: fts5-contentless-unindexed) | |
15:13 | Add another missing mkdir to the wasm build process. (check-in: e815055b32 user: stephan tags: trunk) | |
15:09 | Add tests for DELETE on contentless, contentless-delete and contentless-unindexed fts5 tables. (check-in: 74832fffb6 user: dan tags: fts5-contentless-unindexed) | |
14:51 | Get libsqlite3.so building. (check-in: c65e3679e0 user: stephan tags: autosetup) | |
13:51 | Complete a line of documentation which was interrupted mid-sentence. (check-in: c9cbbeda3d user: stephan tags: trunk) | |
12:01 | wasm: move the makefile-eval-generated fiddle rules into mkwasmbuilds.c. Squelch some warnings from grep when running 'make clean' on a clean tree. (check-in: 0485d1360b user: stephan tags: trunk) | |
11:23 | Ensure that the temporary build dir is mkdir'd by wasm deps which depend on it. (check-in: cabdf97972 user: stephan tags: trunk) | |
11:03 | For wasm builds: automatically use higher optimization (but slower build) levels when a target related to deliverables (as opposed to dev mode) is explicitly invoked. (check-in: 45361ab974 user: stephan tags: trunk) | |
00:41 | Latest upstream autosetup for a --help fix on QNX. (check-in: b9faebbb54 user: stephan tags: autosetup) | |
00:39 | Minor makefile doc fixes. No functional changes. (check-in: b3ad58e1fc user: stephan tags: trunk) | |
00:37 | Merge trunk into autosetup branch for latest wasm pieces. (check-in: c3877d1241 user: stephan tags: autosetup) | |
00:02 | Merge wasm-build-rework branch into trunk. Summary: 1) add optional bare-bones build, stripped of many optional library features, 2) replace much of the hyper-spaghetti wasm-specific makefile code with a more legible static code generator. (check-in: 208c277146 user: stephan tags: trunk) | |
2024-09-27
| ||
23:45 | Fix fiddle build broken by recent build-level reworks. Remove a stale reference to an old CSS file. (Closed-Leaf check-in: f904b3b784 user: stephan tags: wasm-build-rework) | |
19:21 | Extra test cases for UPDATEs of contentless tables. (check-in: 4d11d844de user: dan tags: fts5-contentless-unindexed) | |
19:10 | Fix a problem with UPDATE statements that modify the rowid of contentless_delete=1 tables. (check-in: d69abca821 user: dan tags: fts5-contentless-unindexed) | |
18:32 | Fix a problem with UPDATEs that do not modify all UNINDEXED columns of a contentless_delete=1, contentless_unindexed=1 table. (check-in: b6b1db8d34 user: dan tags: fts5-contentless-unindexed) | |
16:43 | Merge trunk into the autosetup branch. (check-in: 9586ea204c user: stephan tags: autosetup) | |
16:20 | Squash sign-comparison warnings reported in forum post 5e605a763a65c3f8. (check-in: e74fce93c5 user: stephan tags: trunk) | |
13:29 | Add basic libreadline detection and build CLI shell. (check-in: 2ba7ab5625 user: stephan tags: autosetup) | |
12:15 | General tinkering and cleanups in the autosetup bits. (check-in: a290e3b15d user: stephan tags: autosetup) | |
11:35 | Merge trunk changes into this branch. (check-in: 4a26a4e001 user: dan tags: fts5-contentless-unindexed) | |
10:57 | Allow UPDATEs of unindexed columns in fts5 contentless_unindexed=1 tables. Testing to come. (check-in: cd36d66c88 user: dan tags: fts5-contentless-unindexed) | |
09:40 | Rename TCL_GENERATOR to BTCL for consistency with BCC/TCC. (check-in: a7ff8f3c2c user: stephan tags: autosetup) | |
03:16 | Disable the optional extending of JimTCL on the grounds of YAGNI. (check-in: f395c269d5 user: stephan tags: autosetup) | |
03:04 | General auto.def cleanups, mostly around JimTCL. Swap out impl for the sqlite_cfg.h generator - this approach is lower-maintenance (requires no hand-maintained template) but may not be compatible with expectations. (check-in: da197946db user: stephan tags: autosetup) | |
02:35 | Tweak build to fall back to system-side tclsh if we cannot find realpath() or _fullpath() for JimTCL (needed for some of the code generator scripts to work). (check-in: b31dbb9945 user: stephan tags: autosetup) | |
01:42 | Run all of the TCL-based code generators using JimTCL. (check-in: 3193b86a91 user: stephan tags: autosetup) | |
01:30 | Generate sqlite3.h/.c with jimsh, somewhat to my surprise. (check-in: c365d8e1f7 user: stephan tags: autosetup) | |
01:25 | Experimentally build shell.c using the autosetup-provided JimTCL. (check-in: 5bd62cdbc4 user: stephan tags: autosetup) | |
01:04 | Remove some gratuitous overengineering before it can spread. (check-in: 94340011ed user: stephan tags: autosetup) | |
01:00 | Get the generated .c/.h files generating. (check-in: e890c8508d user: stephan tags: autosetup) | |
2024-09-26
| ||
22:25 | Fix a harmless compiler warning in the CLI. (check-in: 27ef1909bb user: drh tags: trunk) | |
21:09 | Re-indent some tcl code. (check-in: 34ea629a07 user: stephan tags: autosetup) | |
21:08 | Latest hwaci-common.tcl after refactoring to facilitate including a copy in the libfossil tree. (check-in: feea65bcd5 user: stephan tags: autosetup) | |
19:38 | Add the ext/misc/sqlite3_stdio.c portability interface and incorporate it into the CLI, sqldiff, and sqlite3_analyzer. Enhance the CLI with the new ".www" dot-command and related options on .once and .output. (check-in: f97f9944b8 user: drh tags: trunk) | |
19:16 | Provide SQLITE_U8TEXT_ONLY and SQLITE_U8TEXT_STDIO compile-time options to the sqlite3_stdio.c module. (Closed-Leaf check-in: f31588520e user: drh tags: cli-stdlib) | |
18:40 | Get lemon building. Re-indent hwaci-common.tcl for consistency. (check-in: 53dc33d5e2 user: stephan tags: autosetup) | |
18:13 | Resolve a harmless compiler warning in QNX builds. (check-in: 2916460179 user: stephan tags: trunk) | |
18:02 | When possible, avoid taking wal file read-lock 0 in sqlite3_snapshot_get(). (check-in: 34b6ac3d76 user: dan tags: snapshot_get-locking) | |
14:09 | Do not remove *.def in the cleanup rules because auto.def is a required part of autosetup. Remove the .o vs .obj detection/distinction because the Unix-like Windows environments use .o. (check-in: 65eb1072e2 user: stephan tags: autosetup) | |
13:12 | Clarification of the meaning of the nByte parameter to sqlite3_prepare(). Comment and documentation change only - no changes to the code. (check-in: 92d71eee4f user: drh tags: trunk) | |
12:16 | Cleanups of the --with-wasi-sdk bits. Straighten out VERSION vs RELEASE. (check-in: 7638f3ad15 user: stephan tags: autosetup) | |
08:53 | Merge current trunk into this branch. (check-in: 683a9e1e2f user: stephan tags: autosetup) | |
08:25 | Remove a misled acrobatics related to cross-compilation, based on suggestions from Steve Bennett. Add a quick-n-dirty placeholder check for tclsh to move that part along. (check-in: c419168938 user: stephan tags: autosetup) | |
01:29 | Fix shell test cases to account for recent additions to the ".help" output. (check-in: 54c22bc616 user: drh tags: cli-stdlib) | |
2024-09-25
| ||
23:09 | Time for a break. (check-in: 1d29cd9095 user: stephan tags: autosetup) | |
22:13 | Integrate the configure-time Emscripten bits. (check-in: 456125a144 user: stephan tags: autosetup) | |
18:55 | Change the way tokendata indexes are collected for prefix queries. (check-in: 204ddf4e72 user: dan tags: fts5-tokendata-prefix) | |
18:03 | Further streamlining of auto.def. (check-in: 74d1243359 user: stephan tags: autosetup) | |
16:11 | Always show HTML table headers in ".www" output mode. (check-in: 660ca5ce66 user: drh tags: cli-stdlib) | |
15:55 | Add the --plain option to the ".www" dot-command. (check-in: a9209519f6 user: drh tags: cli-stdlib) | |
15:26 | Have the zipfile and fileio extensions use sqlite3_stdio.c when it is available - such as when those extensions are preloaded into the CLI. (check-in: 74bbb2b2b4 user: drh tags: cli-stdlib) | |
14:58 | Improve common feature flag handling a bit. (check-in: 8716c35eaa user: stephan tags: autosetup) | |
14:38 | Lots of work on auto.def and the utility tcl lib. Still lots more to do. (check-in: 2141527a38 user: stephan tags: autosetup) | |
14:09 | Redirect timer output just like any other text. (check-in: 3b5ae21074 user: drh tags: cli-stdlib) | |
13:56 | Improvements to ".www" and ".output -w" so that text that is not part of query output is shown using <pre>. (check-in: f8ef65c523 user: drh tags: cli-stdlib) | |
13:29 | Add the "www" output mode that include <table> in the HTML output. Add the ".www" command and the "-w" option to ".once". (check-in: b06fd9e6bc user: drh tags: cli-stdlib) | |
12:56 | Always include a UTF-8 BOM at the beginning of the output CSV when using the ".excel" command on Windows, as the actual Excel program requires the BOM in order to work correctly. (check-in: 04727fc002 user: drh tags: cli-stdlib) | |
12:16 | Change --enable-tempstore to --with-tempstore to avoid the uphill (and losing) battle with autosetup's built-in handling of the --enable/--disable prefixes. (check-in: 8bea45fbbf user: stephan tags: autosetup) | |
12:03 | Prevent regular DELETE and UPDATE statements from running against contentless_unindexed=1 tables that are not also contentless_delete=1. (check-in: 21539e9d0d user: dan tags: fts5-contentless-unindexed) | |
11:38 | Fix stray fputs() calls in the CLI. (check-in: 1ee3fa0f0e user: drh tags: cli-stdlib) | |
11:27 | Use sqlite3_fgets() instead of fgetc() to end the startup debugging pause in the CLI. (check-in: 869b3c05e8 user: drh tags: cli-stdlib) | |
09:43 | Merge trunk enhancements, and especially the zero- and double-width character processing for columnar outputs into the cli-stdlib branch. (check-in: d6262a4bcd user: drh tags: cli-stdlib) | |
09:39 | In the CLI, for columnar output formats, try to account for the presence of zero-width and double-width characters in the output and adjust column widths accordingly. (check-in: 9592b9ba3a user: drh tags: trunk) | |
09:33 | Improvements to comments on data structures and subroutines. (Closed-Leaf check-in: b217e3004b user: drh tags: variable-width-char) | |
08:04 | Baby steps towards a working auto.def. (check-in: c223dbb4fb user: stephan tags: autosetup) | |
07:30 | Add --enable-tempstore support and document some of the weirdness of trying to use an explicit prefix of --enable with non-boolean flags (autosetup unconditionally handles --enable and --disable prefixes on its own and always treats them as boolean flags). (check-in: fe6fa4ce52 user: stephan tags: autosetup) | |
06:25 | Re-enable the --enable-all bits after figuring out that autosetup(options) is not a dict, but a list. (check-in: beb2a12045 user: stephan tags: autosetup) | |
06:07 | Disable with --enable-all bits, as the helper function it uses is dying for reasons beyond my meager tcl-fu. (check-in: d2b883120e user: stephan tags: autosetup) | |
04:34 | Correct some copy/paste errors in the previous checkin. (check-in: 9752768d8a user: stephan tags: autosetup) | |
04:20 | Get --enable-all flag essentially working. (check-in: 0a49436c98 user: stephan tags: autosetup) | |
03:37 | Get several of the --enable/--disable configure flags working. (check-in: fd16d53d3a user: stephan tags: autosetup) | |
02:00 | Testing libfossil checkin fix for inheritance of privateness. Edit: the test passed but this branch was subsequently made non-private because working with private branches is tedious. (check-in: 4b104926bf user: stephan tags: autosetup) | |
01:39 | Get skeleton auto.def running, but it doesn't really do much except some standard boilerplate stuff. (check-in: e707634cf7 user: stephan tags: autosetup) | |
2024-09-24
| ||
21:54 | Minor wasmfs speedtest1 build tweaks. Disable one wasmfs demo which was broken by Emscripten-side changes. (check-in: 5ccc85d8f5 user: stephan tags: wasm-build-rework) | |
21:08 | Initial pristine autosetup bits. (check-in: dfb1e7f0cc user: stephan tags: autosetup) | |
19:47 | Fix over-length lines in the shell source code. (check-in: f3fdf76a0d user: drh tags: cli-stdlib) | |
19:19 | Fix error messages in the shell. (check-in: aeef82e974 user: drh tags: cli-stdlib) | |
18:01 | Get fiddle working again on this branch. (check-in: 0f228317c6 user: drh tags: cli-stdlib) | |
17:49 | Port sqlite3_analyzer.exe to use sqlite3_stdio. (check-in: 7c1c1226d8 user: drh tags: cli-stdlib) | |
17:40 | Port sqldiff over to use sqlite3_stdio. (check-in: 18f784c47d user: drh tags: cli-stdlib) | |
16:09 | Get output redirection working again in the CLI. (check-in: 086034c350 user: drh tags: cli-stdlib) | |
15:43 | Merge trunk changes into this branch. (check-in: 9945206e6e user: dan tags: fts5-tokendata-prefix) | |
15:11 | Fix a memory leak in sqlite3expert.c introduced by [f1d76c86]. (check-in: 42bb941584 user: dan tags: trunk) | |
13:46 | Add the sqlite3_stdio.h library for Windows console I/O. (check-in: fcd0ecffc9 user: drh tags: cli-stdlib) | |
13:00 | Minor tweaks in mkwasmbuilds.c. (check-in: cee4328072 user: stephan tags: wasm-build-rework) | |
12:16 | Wasm build cleanups. Fix the wasm speedtest1 builds broken by yesterday's refactoring. (check-in: 5d4a090230 user: stephan tags: wasm-build-rework) | |
11:26 | Avoid an error in sqlite3expert if the database has existing indexes on expressions. (check-in: f1d76c8636 user: dan tags: trunk) | |
10:30 | Use _wfopen() instead of fopen() on Windows in the CLI. (check-in: 21a8cac5e9 user: drh tags: cli-stdlib) | |
09:51 | Always use fputws() for output to a Windows command-line prompt. (check-in: 33950a8c3f user: drh tags: cli-stdlib) | |
00:53 | Remove an ALWAYS() that can sometimes be false, with wildly incorrect SQL inputs. dbsqlfuzz 707afcf73930de2624cdeca0ad1f0deea982dfea (check-in: 766cf5535b user: drh tags: trunk) | |
00:31 | Further wasm build cleanups and tweaks. No functional changes. (check-in: 3b72a14343 user: stephan tags: wasm-build-rework) | |
00:01 | In the CLI, when displaying results in a columnar format, take into account zero-width and double-width Unicode characters. (check-in: 47cfad71ed user: drh tags: variable-width-char) | |
2024-09-23
| ||
22:56 | Typo fix in makefile comments. (check-in: a4a1287fe8 user: stephan tags: wasm-build-rework) | |
21:22 | wasm: replace much of the eval makefile spaghetti with equivalent code generated from a small C app. It turns out that's easier to read and write than doing the same thing from shell or tcl code, due entirely to C's lack of need for escaping dollar signs. (check-in: 5440de4890 user: stephan tags: wasm-build-rework) | |
20:23 | CLI uses only lib-c for I/O on Windows. No calls to Win32. Works on Win11, at least. Reads and writes unicode to/from the console and UTF-8 to/from files. Prototype code only - must testing and additional work required. (check-in: 5c54530d5a user: drh tags: cli-stdlib) | |
19:32 | Fix a couple of problems with the sessions streaming interfaces. (check-in: 9a1fc8d36b user: dan tags: trunk) | |
17:06 | Merge current trunk into this branch. (check-in: ed47d7f9a4 user: stephan tags: wasm-build-rework) | |
2024-09-21
| ||
17:27 | Add the run-fuzzcheck target to the MSVC makefile. (check-in: 2e5194407a user: drh tags: trunk) | |
15:57 | If the database filename pointer passed to sqlite3_open() is a null pointer change it into ":memory:". (check-in: 62e11a3a78 user: drh tags: trunk) | |
2024-09-20
| ||
17:41 | Fix comment typo in the fileio.c extension. No changes to code. (check-in: bf2c5b368a user: drh tags: trunk) | |
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: 1546546287 user: larrybr tags: win-dupe-crt-fio) | |
14:18 | Fix flub in cfWrite(). (for Win32) (check-in: 3884ddb4dc user: larrybr tags: win-dupe-crt-fio) | |
13:13 | Sync with trunk. Buildable. (A WIP, to be further tested) (check-in: 187f1d0a1c 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: b7b64c53f5 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: b769ed0027 user: larrybr tags: win-dupe-crt-fio) | |
2024-09-19
| ||
15:44 | Fix harmless compiler warning in the vfstrace extension. (check-in: c8b4d092a2 user: drh tags: trunk) | |
13:39 | Improved rebustness to malformed UTF-16 inputs to sqlite3_prepare16_v2(). (check-in: 7b3a517b3e user: drh tags: trunk) | |
00:05 | Remove a stray newline. (check-in: 77f587dc3b user: mistachkin tags: trunk) | |
2024-09-18
| ||
16:33 | Improvements to the scope of valueFromFunction(). (check-in: a0f39419cb 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: 6a8c687904 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: 54a3bbd578 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: 00a398cf90 user: dan tags: preupdate-hook-fix) | |
2024-09-17
| ||
22:57 | Fix harmless static analyzer warning in sqlite3-rsync. (check-in: a63e412b6b 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: 9752878814 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: 6089a90463 user: drh tags: trunk) | |
2024-09-16
| ||
20:53 | Fix a typo in an error message in sqlite3-rsync. (check-in: 3f25d6c8ea user: drh tags: trunk) | |
14:11 | Cleanup the sqlite3-rsync executable as part of "make clean" (check-in: 8c5e481b49 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: 39c56c836a user: drh tags: trunk) | |
09:12 | Improved error message in sqlite3-rsync if the SQL statement for ORIGIN_TXN fails. (check-in: 73bde71ed1 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: 23a6350515 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: 97c2824f47 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: 50762ba078 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: b7a8ce4c8c user: drh tags: trunk) | |
16:30 | CLI arg handling robustness improvements. (Leaf check-in: 129aca54f6 user: stephan tags: sqlite3-rsync) | |
16:28 | Add the --version option. (check-in: 9961334c80 user: drh tags: sqlite3-rsync) | |
16:03 | New debugging options: --logfile, --errorfile, --remote-errorfile. If page 1 changes, always send it last. (check-in: 2d8cd76691 user: drh tags: sqlite3-rsync) | |
11:38 | Always show the -v traffic message even if there are multiple -v options. (check-in: fc05a5b7f7 user: drh tags: sqlite3-rsync) | |
11:23 | Add the --logfile FILE option for debugging. (check-in: 30e1b92d56 user: drh tags: sqlite3-rsync) | |
10:59 | Improved error messages coming out of sqlite3-rsync. (check-in: 452fb6de39 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: 105ec44b47 user: drh tags: sqlite3-rsync) | |
2024-09-13
| ||
23:41 | Merge sqlite_dbpage fixes into the sqlite3-rsync branch. (check-in: dff76b7a34 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: 6aa9c8e79b 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: c51dc2a5e7 user: dan tags: fts5-contentless-unindexed) | |
16:15 | Fix the hanging problem. (Closed-Leaf check-in: d57903f7fd user: drh tags: sqlite3-rsync-consio) | |
16:12 | Fix harmless compiler warning on Windows. (check-in: 86e0219d97 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: 94ceac9884 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: b4eff1fd6e 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: d2f0d19936 user: dan tags: fts5-contentless-unindexed) | |
14:40 | Merge sqlite3-rsync branch into sqlite3-rsync-consio branch. (check-in: c9bdbe21fe user: stephan tags: sqlite3-rsync-consio) | |
13:53 | Improved informational output from sqlite3-rsync. (check-in: e55e3e8ec2 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: 3c36f5814f 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: 96c7f47a8f user: drh tags: sqlite3-rsync) | |
12:01 | Merge sqlite3-rsync branch into sqlite3-rsync-consio branch. (check-in: 983979cc78 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: 4cad385b90 user: drh tags: trunk) | |
2024-09-12
| ||
23:30 | Better initialization of new database files in sqlite3-rsync. (check-in: 75d5a8eb3d 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: a9f95fe5ce 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: 6ffb392f92 user: stephan tags: sqlite3-rsync-consio) | |
21:03 | Add RSYNC_OPT to the sqlite3-rsync build flags. (check-in: b2a3497e55 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: 62a9b6fd55 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: 53fb9b1180 user: stephan tags: sqlite3-rsync) | |
17:06 | Replica must be in writable_schema mode. (check-in: e385525793 user: drh tags: sqlite3-rsync) | |
16:54 | Improved --commcheck. Add the infoMsg() function which is useful for debugging. (check-in: b979d02ffd 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: 435c30171d 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: df0623aae1 user: drh tags: sqlite3-rsync) | |
14:43 | Add sha1() functions to the CLI. Fix sha1b() such that it actually returns a BLOB. (check-in: fe65821a3b user: drh tags: sqlite3-rsync) | |
12:04 | Improved debugging output. (check-in: 80461e0d72 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: fa06977b6d 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: db702dd785 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: 9a1a95f523 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: 198305de92 user: dan tags: trunk) | |
18:38 | Remove a stray "breakpoint" from a test script. (Closed-Leaf check-in: 7d87a27a01 user: dan tags: fts5-locale-alternate) | |
17:05 | Initial infrastructure for the sqlite3-rsync utility. Prototype only. Does not work. (check-in: 397b2d37b7 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: 437849c808 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: 55c5c119a0 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: eb3c89ee2e user: drh tags: dbpage) | |
2024-09-09
| ||
19:12 | Fix an OOM-handling problem affecting locale=1 fts5 tables. (check-in: d8103684f6 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: fe0d67e72d 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: 123cb1f579 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: e8f2d63130 user: drh tags: vfstrace) | |
15:19 | Fix harmless compiler warnings in the vfstrace.c extension. (check-in: f23954e604 user: drh tags: vfstrace) | |
15:12 | Fix harmless compiler warnings in FTS5. (check-in: aa75e701de 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: 055b97de8d 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: 70e42f941c 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: 6206b90a4e user: drh tags: trunk) | |
2024-09-06
| ||
20:12 | Add tests for an fts5 NEAR() expression with a single argument phrase. (check-in: e319d43bfd user: dan tags: trunk) | |
15:52 | Merge the latest trunk enhancements into the reuse-schema branch. (check-in: f9ce1ababb user: drh tags: reuse-schema) | |
15:42 | Merge the latest trunk enhancement into the wal2 branch. (check-in: f3e3ad6945 user: drh tags: wal2) | |
15:01 | Resolve the "No rule to make target '0'" error when building with --disable-tcl. (check-in: d94541ae76 user: stephan tags: trunk) | |
14:01 | Fix a harmless stray carriage-return character. (check-in: 84a6c5f975 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: ec75cfc5d4 user: drh tags: trunk) | |
11:21 | Fix harmless compiler warnings. (check-in: 60fb8ee153 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: 224628b103 user: drh tags: trunk) | |
09:49 | Clarification and simplification to the README.md file and to the instructions for building on Windows. (check-in: f69ef1a37b 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: 2b543fbc28 user: drh tags: branch-3.46) | |
23:40 | Fix a testrunner status reporting problem introduced by [aa5f10f21dbfb24e]. (check-in: d20c65c3b4 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: 22ca5a2ffb user: drh tags: trunk) | |
15:55 | Update notes on build procedures in the README.md file. (check-in: 1d12744fe7 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: aa5f10f21d 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: 80ebb7c7e6 user: drh tags: trunk) | |
11:46 | Faster implementation of the aggregate_test_counts procedure inside of testrunner.tcl. (check-in: a01d869520 user: drh tags: trunk) | |
2024-09-04
| ||
18:51 | Make the default TCLDIR be C:\Tcl in the Makefile.msc. (check-in: c2c0a9176a user: drh tags: trunk) | |
16:46 | Merge all the latest trunk enhancements into the wal2 branch. (check-in: 9f53034371 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: c49c2a8c00 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: 60ac55c4b7 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: c0c6e9abeb user: drh tags: trunk) | |
13:09 | Make extra efforts to delete the over-size directory names created by the win32longpath.test module. (check-in: 3c8035ed3f user: drh tags: trunk) | |
11:22 | Add the "joblist" command to testrunner.tcl (check-in: f64469f480 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: dcacb1a8ef 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: 8ace3f15e4 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: dcbebe30f5 user: drh tags: trunk) | |
14:15 | Fix ext/consio so that it works correctly with SQLITE_USE_ONLY_WIN32. (check-in: efc6f3d7e9 user: drh tags: trunk) | |
14:00 | In testrunner.tcl, compile the Windows Default configuration using SQLITE_ENABLE_STMT_SCANSTATUS. (check-in: 49e8b1635f user: drh tags: trunk) | |
12:41 | Fix harmless compiler warnings in the percentile extension. (check-in: c5557f281c 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: 0ef65fd4ba user: drh tags: trunk) | |
02:09 | Cause cfGets() (under SQLITE_USE_ONLY_WIN32) to better emulate fgets(). (check-in: 2d783524d1 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: 7891a266c4 user: drh tags: trunk) | |
18:41 | Fix a technically undefined signed integer overflow in fts5. (check-in: e6bec37ea1 user: dan tags: trunk) | |
17:27 | Make the percential extension easier to incorporate as a built-in on Windows applications. (check-in: 831e2be411 user: drh tags: trunk) | |
14:46 | Remove some debug/test code from percentile. Make the extension easier to statically link. (check-in: 6e5f146e27 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: 557bd245ef 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: e1bca168e7 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: 3b1cdddf83 user: drh tags: ordered-set-agg) | |
2024-09-01
| ||
23:56 | More internal documentation improvements. (check-in: 8b91b74931 user: drh tags: ordered-set-agg) | |
23:47 | Improved documentation of recent enhancements to the percentile extension. (check-in: 51e7b4c9cf 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: c9367e2532 user: drh tags: ordered-set-agg) | |
20:24 | Implement percentile_cont() and percentile_disc(). (check-in: b1a93f67d6 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: e070c16d21 user: drh tags: ordered-set-agg) | |
18:57 | Merge fixes from trunk into the ordere-set-agg branch. (check-in: 7528ddcfdf user: drh tags: ordered-set-agg) | |
18:54 | Improved sort function in the percentile extension. (check-in: 9f84e8d59b user: drh tags: trunk) | |
10:52 | Fix to the quicksort algorithm in the percentile extension. (check-in: 54313f74b2 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: 317d901429 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: ef97778900 user: drh tags: ordered-set-agg) | |
19:24 | Include percentile() and merge() in the fuzzcheck test utility. (check-in: d1d0942a94 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: 3fe0a85297 user: drh tags: trunk) | |
18:08 | Allow percentile() and median() to act as window functions. (check-in: 94cf96af8f user: drh tags: trunk) | |
17:50 | Still more test cases. (Closed-Leaf check-in: f099046081 user: drh tags: percentile-window) | |
17:27 | Add more test cases. (check-in: 0d0e545679 user: drh tags: percentile-window) | |
16:55 | Avoid unnecessary sort operations when running one of the percentile aggregates as a window function. (check-in: 5d31153621 user: drh tags: percentile-window) | |
15:02 | Test cases added. (check-in: 25e6822984 user: drh tags: percentile-window) | |
14:31 | Enhance the percentile() and median() extension functions so that they can be window functions. (check-in: 4d0e3df4b9 user: drh tags: percentile-window) | |
2024-08-30
| ||
17:33 | Do not fail the omittest if ICU libraries are not installed. (check-in: ddc55efd2d 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: e48add0269 user: drh tags: trunk) | |
16:43 | A couple of #defines so that the build work with SQLITE_OMIT_FLOATING_POINT. (Closed-Leaf check-in: be768f80c7 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: 99491df19d user: drh tags: makefile-improvements) | |
12:10 | Improvements to "make clean" on unix. (check-in: a1d775f075 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: 90bc616d20 user: drh tags: trunk) | |
2024-08-29
| ||
23:33 | Merge all the latest trunk enhancements into the wal2 branch. (check-in: dfecc79c8f user: drh tags: wal2) | |
23:32 | Sync the autoconf/Makefile.msc with the main ./Makefile.msc (check-in: 9de47c3611 user: drh tags: trunk) | |
22:05 | Fix a problem in winOpen(). Merge the makefile enhancements from trunk. (check-in: bd247ae7f9 user: drh tags: reuse-schema) | |
19:37 | Fix tests cases for SQLITE_ENABLE_SHARED_CACHE so that they work on Windows. (check-in: 60795a30c6 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: 854b3776ee user: drh tags: trunk) | |
17:42 | Merge all the latest trunk enhancements into the reuse-schema branch. (check-in: 87aa6fc212 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: 45778b0bb8 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: e042eb0247 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: 6e84947123 user: drh tags: trunk) | |
15:54 | Fix a dropped error code in fts5. (check-in: df55502e4f user: dan tags: trunk) | |
13:55 | Update the README.md file to recommend running "devtest" instead of "mdevtest". (check-in: eb016f66ea 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: dc9fee980d user: drh tags: trunk) | |
13:34 | Minor wording change on testrunner output. (check-in: 115e685979 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: 7420b13238 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: 557a2c65f5 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: 791237e0f4 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: ffeaa4d5d7 user: drh tags: trunk) | |
09:47 | Disable shell test cases that require virtual tables when testfixture is built using SQLITE_OMIT_VIRTUALTABLE. (check-in: 8c73d54fd1 user: drh tags: trunk) | |
09:31 | Reenable SQLITE_OMIT_VIRTUALTABLE on the Device-One alignment for testrunner. (check-in: 8f2cb35763 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: 1f962ffc9e user: drh tags: trunk) | |
21:44 | Improvements to --status overwrite in testrunner. (check-in: 26372762ab user: drh tags: trunk) | |
20:37 | Avoid reading the structure record from within the fts5 xConnect method. (check-in: 6a6ce343b2 user: dan tags: trunk) | |
19:49 | Further minor improvements and tweaks to the testrunner --status display. (check-in: 7d1ccc6dfc 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: 2eaea67495 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: 7c195f132c 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: dbc1ac8692 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: 7c0001d6eb 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: 40b232924c user: drh tags: trunk) | |
18:25 | Add test code to drop an fts5 table with corrupt records in its shadow tables. (check-in: ca21c942c3 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: d03d35eeba user: drh tags: trunk) | |
14:35 | Merge the SQLITE_USE_ONLY_WIN32 flag for consio into trunk. (check-in: e9b03b082d user: drh tags: trunk) | |
14:25 | Only avoid all C-runtime I/O if the SQLITE_USE_ONLY_WIN32 flag is defined. (check-in: 164b1e1962 user: drh tags: win-dupe-crt-fio) | |
13:57 | Merge all the latests trunk enhancements into the win-dupe-crt-fio branch. (check-in: 2d52db98f4 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: f9c6cbc1d3 user: drh tags: branch-3.46) | |
23:19 | Early termination of updateAccumulators() after error detection. (check-in: faecd4505d user: drh tags: branch-3.46) | |
19:08 | Changes to documentation comments in fts5.h. (check-in: 886545a8d0 user: dan tags: trunk) | |
17:35 | Randomize the name of the attached database used to do VACUUM. (check-in: 0f4e65d73a user: drh tags: trunk) | |
16:15 | Bind the new debug parameters in fuzzinvariants.c. (check-in: 29e9bcfa2e 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: b08f3b7449 user: drh tags: sql-pipes) | |
14:06 | Add the AGGREGATE clause to the pipeline. (check-in: 16d32676e2 user: drh tags: sql-pipes) | |
13:20 | Working better now. (check-in: 4bdcc18d2c user: drh tags: sql-pipes) | |
12:26 | Reduce rules added to the grammar. Kinda works, but there are still bugs. (check-in: 3c7a5cc6d0 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: 8781d7352b 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: 2c4bae3e68 user: drh tags: sql-pipes) | |
2024-08-25
| ||
12:04 | Merge trunk into the wasm-build-rework branch. (check-in: a1cf3095a8 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: 9ef8317fae user: stephan tags: trunk) | |
2024-08-24
| ||
20:05 | Fix harmless compiler warnings in fts5V2toV1Tokenize(). (check-in: df65d00f10 user: drh tags: trunk) | |
20:01 | Fix compiler warnings in the CLI detected by MSVC. (check-in: 23ae505cbf 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: b404a5fe3f 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: 9ca8513c26 user: drh tags: trunk) | |
18:42 | Remove a term from an assert() that is no longer relevant. (check-in: 8b4766252b 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: 074002718b 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: bada54bd6b 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: b75f8b2252 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: 32e9bf7f97 user: stephan tags: trunk) | |
17:40 | Fix a problem in the ext/fts5/extract_api_docs.tcl script. (check-in: 9a9d0f6301 user: dan tags: trunk) | |
15:18 | Add fts5 auxiliary function fts5_get_locale(). For querying the locale of a stored value. (check-in: 396f720f36 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: d50b784807 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: 6c00e88ebd 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: 6500baa991 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: 0ea4e1e8fc user: drh tags: optimization-onoff) | |
17:38 | Improved comments on byte-code subroutine calls to materialize subqueries. Should not affect production builds. (check-in: 6b024c85ef user: drh tags: trunk) | |
13:57 | README.md: a markup link fix and use the canonical URL for Fossil. (check-in: c49bfee6b8 user: stephan tags: trunk) | |
13:44 | Updates and enhancements to the README.md file. No code changes. (check-in: 3161b80289 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: 00cfbb9fa5 user: drh tags: trunk) | |
10:37 | Fix a minor typo in a comment. (check-in: 92c80af112 user: drh tags: trunk) | |
10:32 | Improvements to treetrace output for subqueries. Debug code only. (check-in: 0a835d18d9 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: fd5904495e user: stephan tags: trunk) | |
07:38 | Remove incorrect assert() statements in the SrcItem invariant validator. dbsqlfuzz 7f908865436ce531b0ace55c97a1c71d05c4e76c. (check-in: 81a1ede388 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: 484bcd75bc user: drh tags: trunk) | |
22:44 | Fix a name resolution issue with CTEs. (Leaf check-in: 4fa8235dd5 user: drh tags: srcitem-opt) | |
22:05 | Fix minor comment issues. (check-in: c1bbed19f4 user: drh tags: srcitem-opt) | |
20:01 | Remove unreachable code. (check-in: 17699329aa user: drh tags: srcitem-opt) | |
19:09 | Tighter checking of access constraints on union members in SrcItem. Improved invariant checking. (check-in: fd72d3400a user: drh tags: srcitem-opt) | |
17:41 | Fix some stray SrcItem field name fixes. (check-in: bc5f5ce59e user: drh tags: srcitem-opt) | |
17:24 | Fix a memory leak so that now all dev tests (including TH3) are passing. (check-in: 3995c45fff user: drh tags: srcitem-opt) | |
16:50 | Memory issues fixes so that mdevtest now passes. (check-in: b249516f6a 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: db917d50fd 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: 3399698376 user: drh tags: trunk) | |
12:15 | The LIKE/GLOB optimization restricts its attention to the pattern prefix that is all ASCII. (check-in: 5815f13263 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: a5797ebdea user: drh tags: trunk) | |
2024-08-19
| ||
23:43 | Earlier error detection while processing complex aggregate queries. dbsqlfuzz 5242c2f07f4aa031aa3c80461f18e9b7619ede9b (check-in: 70f4973078 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: 8ff5dda844 user: drh tags: srcitem-opt) | |
20:35 | Update some comments that are processed into the fts5.html webpage. (check-in: 3e06ab218b user: dan tags: trunk) | |
14:33 | Add the fts5_locale() function and related functionality to fts5. (check-in: b963290010 user: dan tags: trunk) | |
14:23 | Fix leap-year handling for dates prior to 0400-03-01. (check-in: 6767bf1c67 user: drh tags: branch-3.46) | |
14:20 | Fix leap-year handling for dates prior to 0400-03-01. Forum post eaa0a09786c6368b. (check-in: 474b7e34b8 user: drh tags: trunk) | |
13:53 | New date/time test cases to validate ancient dates. (Closed-Leaf check-in: 82719074f0 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: 00cae11fff user: drh tags: ancient-date-fix) | |
10:40 | Merge trunk changes into this branch. (Closed-Leaf check-in: 6787603bd0 user: dan tags: fts5-locale) | |
2024-08-18
| ||
14:46 | Fix a problem with detail=none, content='' tables. (check-in: 4b8070816a user: dan tags: fts5-locale) | |
09:53 | Automatically disable directory fsync when compiling for AIX. (check-in: 8d170e07e2 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: 9f5aeef3cb user: drh tags: srcitem-opt) | |
19:46 | Reduce the size of the SrcItem object by combining fields into a union. (check-in: a4c59ac3c6 user: drh tags: srcitem-opt) | |
19:40 | Fix a broken assert() in fts5_storage.c. (check-in: 01116e3279 user: dan tags: fts5-locale) | |
19:11 | Merge trunk changes into this branch. (check-in: 6a8ff9ba5e user: dan tags: fts5-locale) | |
19:07 | Tests to improve coverage of fts5_expr.c. (check-in: f4b839e526 user: dan tags: fts5-locale) | |
17:22 | Add tests to restore coverage of fts5_tokenizer.c. (check-in: 8f9257361b 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: a4043cbeb8 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: 793ff83d09 user: drh tags: trunk) | |
14:59 | Fix a typo in an "ifdef" that broke SQLITE_OMIT_ANALYZE builds. (check-in: c09da26cb6 user: dan tags: trunk) | |
2024-08-16
| ||
19:05 | Add tests to restore coverage of fts5_config.c. (check-in: 9d971b31df user: dan tags: fts5-locale) | |
18:58 | Merge the latest trunk enhancements into the wal2 branch. (check-in: a78208b597 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: 7a0cdc7edb user: drh tags: trunk) | |
17:54 | Add tests to restore coverage of fts5_storage.c. (check-in: 38841881a0 user: dan tags: fts5-locale) | |
16:20 | Add tests to restore coverage of fts5_main.c. (check-in: 681edd08ab 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: a1915cbdec user: drh tags: trunk) | |
11:26 | Fix handling of COLLATE. Add test cases for the same. Code cleanup for improved understandability and maintainability. (Closed-Leaf check-in: 41a41c173a user: drh tags: order-by-subquery) | |
02:19 | Bug fix in the subquery ORDER BY propagator. (check-in: 5a9a3b8af7 user: drh tags: order-by-subquery) | |
00:37 | Improvements to the subquery ORDER BY decision algorithm. Fewer false-negatives. (check-in: b82421e3f5 user: drh tags: order-by-subquery) | |
2024-08-15
| ||
23:38 | If a subquery is materialized due to an ORDER BY and that ordering is useful in helping to satisfy the ORDER BY or GROUP BY in the order query without doing an extra sort, then omit the extra sort. (check-in: 2fbb4dc232 user: drh tags: order-by-subquery) | |
20:33 | Extra tests. (check-in: fb257540d3 user: dan tags: fts5-locale) | |
18:50 | Further tests and fixes for this branch. (check-in: d27985245a user: dan tags: fts5-locale) | |
15:31 | Improved help message for --disable-tcl on the configure script. (check-in: 96e6cfb211 user: drh tags: trunk) | |
15:23 | Reinstate the --disable-tcl option on ./configure. Forum thread 845d4a57becc7f3c. (check-in: de927016aa user: drh tags: trunk) | |
2024-08-14
| ||
20:00 | Doc typo correction reported in the forum. (check-in: 48900a867c user: stephan tags: trunk) | |
17:58 | Improved documentation for the sha3() SQL functions in the shathree.c extension in ext/misc. (check-in: 0ce609103e user: drh tags: trunk) | |
15:04 | Add a compile-time option that enables setting the encryption key. (Leaf check-in: dafc517415 user: drh tags: iotester) | |
14:50 | incremental improvements to iotester. (check-in: 51f5d3d991 user: drh tags: iotester) | |
14:26 | Fix an assert() in fts5 that might fail with an expression like "... NOT ''". (check-in: 317c91edfc user: dan tags: trunk) | |
14:12 | More incremental improvements to the iotester program. (check-in: 30a383fc3d user: drh tags: iotester) | |
13:31 | Further improvements to the new iotester program. (check-in: dd71dde547 user: drh tags: iotester) | |
2024-08-13
| ||
21:15 | More tests for the new code on this branch. (check-in: 00792e807f user: dan tags: fts5-locale) | |
21:04 | Add the sha3_agg() aggregate to the shathree extension. (check-in: c4d7f9996c user: drh tags: trunk) | |
20:16 | Use the xDelete method of the VFS rather than direct interation with the filesystem. (check-in: 96df5aa656 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: b46d86c22b user: drh tags: iotester) | |
15:04 | Add tests and fix minor issues with the code on this branch. (check-in: def5243a7b user: dan tags: fts5-locale) | |
09:16 | Version 3.46.1 (check-in: c9c2ab54ba user: drh tags: release, version-3.46.1, branch-3.46) | |
2024-08-12
| ||
18:39 | Add extra documentation comments to fts5_main.c. (check-in: 1a7a9bd3f6 user: dan tags: fts5-locale) | |
17:28 | Fix problem with some fts5 aux function APIs with (locale=, detail=none/column) tables. (check-in: bf116dec6f user: dan tags: fts5-locale) | |
17:03 | Fix further issues to do with fts5 locale support. (check-in: e626123580 user: dan tags: fts5-locale) | |
13:31 | Merge current trunk into this branch. (check-in: 900a593ddf user: stephan tags: wasm-build-rework) | |
11:46 | Update the porter tokenizer to use locales. (check-in: 3291ce3a33 user: dan tags: fts5-locale) | |
11:13 | Update the auxiliary function API to include xTokenize_x2() instead of xSetLocale(). (check-in: f7d56a1f21 user: dan tags: fts5-locale) | |
09:49 | Resolve parameters Bind $int_N and $test_T in fuzzcheck inputs. (check-in: 9c10664416 user: drh tags: trunk) | |
2024-08-10
| ||
20:24 | Merge the latest trunk enhancements into main reuse-schema branch. (check-in: 31a71a79bf 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: a27b12ee22 user: drh tags: reuse-schema-3.46) | |
20:03 | Merge trunk changes into this branch. (check-in: b243007525 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: b917d07fc6 user: drh tags: wal2-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: d4014c87ba user: dan tags: trunk) | |
19:18 | Fix an uninitialized variable in fts5_tcl.c. (check-in: 924d3467ce 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: 03e63ed24e 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: fc956353d3 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: 3778b2a9ca user: drh tags: trunk) | |
15:05 | Fix harmless compiler warning related to the TCL8-to-TCL9 transition. This change in testing code only and is not relevante to the core SQLite. (check-in: c86ef65545 user: drh tags: trunk) | |
14:56 | Fix behavior change in the offset() SQL function introduced by check-in f0b671183f44d0ae. (check-in: d6fc6e5f0a user: drh tags: branch-3.46) | |
14:53 | Fix behavior change in the offset() SQL function introduced by check-in [f0b671183f44d0ae]. (check-in: c2ac17f183 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: 6decf00f7c user: drh tags: branch-3.46) | |
11:02 | Cherrypick various minor fixes from trunk into branch-3.46. (check-in: 6047b18ee3 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: 4afe3201f0 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: f0b671183f user: drh tags: trunk) | |
09:56 | Add an assert() to fix a harmless compiler warning in the recovery extension. (check-in: 2502339339 user: drh tags: trunk) | |
2024-08-09
| ||
22:48 | Fix a few minor TCL9 compatibilities issues. (check-in: 69eed19914 user: drh tags: trunk) | |
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: a3ef7d47b5 user: dan tags: fts5-locale) | |
18:53 | Import the second ALTER TABLE fix from trunk. (Closed-Leaf check-in: 1de3e58836 user: drh tags: covering-index-patch) | |
18:42 | Fix another instance where ALTER TABLE was returning SQLITE_INTERNAL instead of SQLITE_ERROR one malformed input. (check-in: b416756320 user: drh tags: trunk) | |
18:22 | Merge the error code fix from trunk. (check-in: 81dfb8cd5d user: drh tags: covering-index-patch) | |
18:18 | Fix the internal routine sqlite3ResolveExprListNames() so that it returns SQLITE_OK or SQLITE_ERROR instead of WRC_Continue or WRC_Abort. Without this fix, some times of obscure syntax errors end up returning SQLITE_INTERNAL rather than SQLITE_ERROR. (check-in: 9052187efd user: drh tags: trunk) | |
17:09 | Do not attempt to use a covering index based purely on columns-used when doing an UPDATE or DELETE of a WITHOUT ROWID table. Raise an SQLITE_INTERNAL error if there is ever a situation where a table reference cannot be converted into an index reference when the query planner thinks that a covering index is appropriate. (check-in: fae39ae932 user: drh tags: covering-index-patch) | |
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: 58ffd5d97e user: drh tags: death-cursor) | |
12:35 | Bind the new debug parameters in fuzzinvariants.c. (check-in: 7e1dc26305 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: be3de2e600 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: fa047c3ea7 user: stephan tags: trunk) | |
10:56 | Fix some signed/unsigned compiler warnings on this branch. (check-in: 681d228023 user: dan tags: wal2) | |
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: 8894b243ef 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: 7f1617f7bf 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: 7058d93b09 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: 7f464793fc 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: 2708314448 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: 123b154ce3 user: dan tags: trunk) | |
15:07 | Add assert() statements and reorganize code slightly in fts3 and fts5 to make it easier to follow. (check-in: 797b0a13fd user: dan tags: trunk) | |
14: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: 05dbfad70c 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: 670beb133e user: drh tags: trunk) | |
12:14 | Back out the --memory option to ".parameter init" in the CLI, as the capability is no longer needed for testing due to the new "$int_N" and "$text_T" automatic bindings, and the "init --memory" is hence just added complication. (check-in: 3b1b0c1419 user: drh tags: trunk) | |
12:08 | In the CLI, recognize magic parameter names "$int_NNN" and "$text_TTT" and bind them with integer value NNN and text value TTT respectively. Intended for testing and debugging use only. (check-in: a929cdb00f user: drh tags: trunk) | |
10:55 | Move a misplaced va_end, as reported in forum post 702c79e9da. (check-in: 569824c7ff user: stephan tags: branch-3.46) | |
10:51 | Move a misplaced va_end, as reported in forum post 702c79e9da. (check-in: daa25fb35f user: stephan tags: trunk) | |
10:10 | Add the --memory option to the ".parameter init" CLI command. When present, the --memory option causes the sqlite_parameters table to be created in a completely independent :memory: database. This can be done to avoid parameter binding queries from being affected by debug settings such as ".wheretrace", ".treetrace", "PRAGMA vdbe_addoptrace=on", and similar. (check-in: 4e69dce209 user: drh tags: trunk) | |
2024-08-07
| ||
21:20 | Fix a broken assert in fts5_expr.c. (check-in: 08cc548840 user: dan tags: trunk) | |
15:17 | Add a new assert() to help static analyzers understand that a pointer is never NULL. (check-in: 433f2b942e user: drh tags: trunk) | |
14:54 | Fix a harmless compiler warning in an assert(). (check-in: 5e4c9a74b2 user: drh tags: trunk) | |
2024-08-06
| ||
23:09 | Remove unused test cases from FTS5, as they interfere with "grep". (check-in: 048a71bae4 user: drh tags: trunk) | |
22:54 | Improved robustness of parsing of tokenize= arguments in FTS5. (check-in: 7a65ac42c2 user: drh tags: branch-3.46) | |
22:49 | Improved robustness of parsing of tokenize= arguments in FTS5. Forum post 171bcc2bcd. (check-in: d9f726ade6 user: drh tags: trunk) | |
20:00 | Improvements to ./configure that will hopefully break fewer builds. (check-in: 769e32a69b user: drh tags: trunk) | |
10:29 | Change the AggInfoColumnReg() and AggInfoFuncReg() macros for compilers that cannot parse empty elements of a comma expression. Forum post 8fd21998dc. (check-in: 533a6251f1 user: drh tags: trunk) | |
2024-08-04
| ||
10:13 | Restore legacy "tcl_install" makefile target, as an interim measure until I can figure out what is going on. (check-in: 931ad7d9e3 user: drh tags: trunk) | |
2024-08-03
| ||
23:00 | Fix to the previous checkin: The colUsed parameter should have high-order bit set if any of the 64-th or greater columns of the virtual table is used. The lower 63 bits of colUsed always show the usage of the first 63 columns of the virtual table. (check-in: 90ac845775 user: drh tags: trunk) | |
21:45 | Ensure that the sqlite3_index_info.colUsed mask always includes the PK fields of WITHOUT ROWID virtual tables. (check-in: ff4ac279b0 user: drh tags: trunk) | |
18:58 | Fix a typo in [c327c0c0] preventing the shell tool from running ".dump" scripts that feature virtual tables. (check-in: 10e97abb87 user: dan tags: trunk) | |
18:45 | Ensure the sqlite3_index_info.colUsed mask always includes the PK fields of WITHOUT ROWID vtabs in cases where they may be used. (Closed-Leaf check-in: c327c0c02c user: dan tags: vtab-pk-colUsed-fix) | |
15:55 | Add the --status option to the test runs using testrunner.tcl. Only works on Unix platforms. The "exec" command appears to interfere with VT100 escape codes on windows. (check-in: 94015cda4c user: drh tags: trunk) | |
2024-08-02
| ||
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: c98ccc1216 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: 1637d29d51 user: drh tags: trunk) | |
17:36 | Add the "-d SECS" option to the "status" command of testrunner.tcl (check-in: 2151ea3163 user: drh tags: trunk) | |
15:28 | New MSVC makefile targets: tclextension, tclextension-install, tclextension-uninstall, and tclextension-list. (check-in: c38734f575 user: drh tags: trunk) | |
13:56 | Fix typo in a progress message in the builttclext.tcl script. (check-in: 5e7c946456 user: drh tags: trunk) | |
11:32 | Fix problems in the configure/Makefile system caused by recent enhancements and report by forum post 242ebd0c81. (check-in: a59319fe4a user: drh tags: trunk) | |
00:59 | New configuration option: --with-tclsh=FILE. New makefile targets: tclextension, tclextension-install, tclextension-uninstall, tclextension-list. (check-in: 888284d1d4 user: drh tags: trunk) | |
00:56 | Previous Makefile.in change broke the tclextension-install target. (Closed-Leaf check-in: 7748367c78 user: drh tags: autoconf-revamp) | |
00:51 | Continuing refinements of the tclextension-install makefile target. (check-in: 871c20a848 user: drh tags: autoconf-revamp) | |
00:19 | Extra robustness for the SQLite Tcl Extension builder, so that it works on Debian Linux. (check-in: 2f0738daaf user: drh tags: autoconf-revamp) | |
2024-08-01
| ||
23:30 | Simplification the ./configure script. Carry Makefile CFLAGS and OPTS through into builttclext.tcl. Fix a bug in tclsqlite.c introduced by the previous check-in. (check-in: 72a80aa0ab user: drh tags: autoconf-revamp) | |
23:00 | Add the tclextension-list makefile target. The the makefile running on Mac. (check-in: 2f667cc8e5 user: drh tags: autoconf-revamp) | |
20:26 | New makefile targets: tclextension-install and tclextension-uninstall. Seem to work on Linux. (check-in: 534f8344ab user: drh tags: autoconf-revamp) | |
20:18 | Work on a TCL script that will compile and install the TCL extension. Works on Linux only, so far. This is an incremental check-in. (check-in: 58babd2aa4 user: drh tags: autoconf-revamp) | |
18:10 | Clean up and restructure the TCL configuration sections in autoconf. The new --with-tclsh=FILE option lets you select the specific tclsh that you want to run. (check-in: 8fafc679d9 user: drh tags: autoconf-revamp) | |
17:15 | Clarify the role of Fts5Storage.pSavedRow in the new feature on this branch. (check-in: e8a61d5c48 user: dan tags: fts5-locale) | |
14:43 | Include a test case summary in the output of "errors" in testrunner.tcl. (check-in: 173df1478e user: drh tags: trunk) | |
14:16 | Add the "errors" command to testrunner.tcl. (check-in: 03b7f99229 user: drh tags: trunk) | |
01:06 | Merge the latest trunk enhancements into the reuse-schema branch. (check-in: ff9fdd07d2 user: drh tags: reuse-schema) | |
00:38 | Merge the latest trunk enhancements into the wal2 branch. (check-in: eac582056f user: drh tags: wal2) | |
2024-07-31
| ||
23:49 | Merge the latest trunk enhancements into the lateral-join branch. (check-in: ac6ae84626 user: drh tags: lateral-join) | |
23:46 | Merge all the latest trunk enhancements into the exists-to-join branch. (Leaf check-in: 9084a4c872 user: drh tags: exists-to-join) | |
22:36 | Fix the tclsqlite.c TCL interface module so that it works with both Tcl8 and Tcl9. Make changes across the TCL-based test harness to enable SQLite to be tested with either Tcl8 or Tcl9. Get the --with-tcl= argument on the configure script working. Testing changes only - no changes to the SQLite core. I believe the previous merge attempt didn't work because of errors in the merge itself, not because of faults in the code. Trying again... (check-in: ea9d88f9ca user: drh tags: trunk) | |
22:26 | testrunner.db should be in WAL mode for improved concurrency while running "watch sqlite3 test/testrunner.tcl status". (Leaf check-in: f23ad09798 user: drh tags: tcl9) | |
22:25 | Make the #include section of tclsqlite.c the same as tclsqlite.h. (check-in: 2afadbeb12 user: drh tags: tcl9) | |
22:17 | Fix typo in testrunner.tcl for the "status" command that was causing it to fail if any errors were seen. (check-in: 8327c5ed53 user: drh tags: tcl9) | |
21:59 | Use `<tcl.h>` instead of `"tcl.h"` to include the TCL interface. (check-in: 4e32d4aed7 user: drh tags: tcl9) | |
21:46 |
Changed: Move this back onto the branch. It isn't ready for trunk yet.
| |
20:49 | Fix various problems with the code on this branch. (check-in: 8bd4ae7e95 user: dan tags: fts5-locale) | |
19:57 | More tweaks to testfixture-implemented TCL commands to make them safe for Tcl9. (check-in: 67897ca97d user: drh tags: tcl9) | |
19:56 | Under Tcl9, the %x format letter truncates to 32-bits. Must use %llx in order to get a 64-bit rendering. (check-in: a3044e0ae6 user: drh tags: tcl9) | |
17:15 | Fixes to testfixture routines needed to test snapshots. (check-in: 66f61c3b35 user: drh tags: tcl9) | |
16:37 | Fix a typo in testrunner_data.tcl that prevented --with-tcl specifications from being carried through into sub-builds. Adjust test cases to account for new floating-point differences discovered when --with-tcl was fixed. (check-in: b8f8135191 user: drh tags: tcl9) | |
15:46 | Add missing documentation for new features to fts5.h. (check-in: fa0da3b28e user: dan tags: fts5-locale) | |
15:04 | Remove obsolete testfixture TCL commands formerly required by Windows but now handled by Tcl itself. Update tests case accordingly. (check-in: 4f065fb638 user: drh tags: tcl9) | |
13:00 | Fix problems uncovered while testing Tcl9 on Windows. (check-in: d5523c77fd user: drh tags: tcl9) | |
12:19 | Minor adjustments to get Tcl9-based testing working on Macs. (check-in: 066c8672ee user: drh tags: tcl9) | |
11:42 | Adjust the configure script so that the --with-tcl option is used to find the appropriate tclsh. (check-in: 6fb9e37c75 user: drh tags: tcl9) | |
11:12 | Patch to testrunner.tcl so that it works with Tcl9's pedantic UTF-8 checking. (check-in: 8d4a23d32d user: drh tags: tcl9) | |
10:59 | Fixes to tclsqlite.c to facilitate TEA installs. (check-in: 7157c3c910 user: drh tags: tcl9) | |
10:52 | Merge latest changes from trunk into this branch. (check-in: ff64939ec8 user: dan tags: fts5-locale) | |
02:01 | Fix a problem with strictly conforming UTF8 in shell1.test. (check-in: 8ee187f98d user: drh tags: tcl9) | |
01:53 | Adjust a few tests that don't work even with the new floating point comparison routine. (check-in: 895125a489 user: drh tags: tcl9) | |
01:45 | Implement a new comparison routine to compare text renderings of floating point values. This gets the number of failures down to just 5. But the routine needs work, and probably refactoring. (check-in: 71f2ee5db0 user: drh tags: tcl9) | |
2024-07-30
| ||
20:39 | Fix cases surrounding blob values being stored in locale=1 fts5 tables. (check-in: ae435aff17 user: dan tags: fts5-locale) | |
20:39 | All tests in "make test" now pass with Tcl9, except for about 198 cases where the error involves small differences in the rendering to floating point values. (check-in: 8e27f5326c user: drh tags: tcl9) | |
18:49 | More adjustments to the incrblob channel: Apparently you need to wait until the close2Proc is called with a flag of 0 before actually shutting down the channel. (check-in: fa549a5507 user: drh tags: tcl9) | |
18:42 | Adjustments to test cases for session so that they work with Tcl9. (check-in: d417415b96 user: drh tags: tcl9) | |
18:15 | Tcl_ChannelType implementations for Tcl9 apparently require that wideSeekProc be implemented. Also adjust minor test script issues for fts5 tests so that they can be run sequentially and so that they do not depend on the specific floating point output formats generated by Tcl. (check-in: 19fda979c5 user: drh tags: tcl9) | |
17:09 | Get rid of "-encoding binary" across all test cases, as that is no longer supported in Tcl9. Use "-translation binary" instead. (check-in: e0d9670dd9 user: drh tags: tcl9) | |
16:59 | Use the SQLite format() function to format floating point values for test results, to avoid inconsistences in TCL versions. (check-in: 6a63c47219 user: drh tags: tcl9) | |
16:51 | Fix the incrblob channel so that partial close works with Tcl9. (check-in: d54ec2de78 user: drh tags: tcl9) | |
15:55 | Update the highlight() and snippet() functions to use locales when available. (check-in: 569ae56a67 user: dan tags: fts5-locale) | |
15:49 | First attempt at getting the build to work with Tcl 9.0. (check-in: 6e5bb48a74 user: drh tags: tcl9) | |
2024-07-29
| ||
20:31 | Fix xColumnText() and xColumnSize() APIs. Add xColumnLocale() and xTokenizeSetLocale(). (check-in: 14006711d8 user: dan tags: fts5-locale) | |
17:59 | The idea here was to simply an expression like "(a=5) IS TRUE" into "(a=5)=TRUE". But that does not work, since the original form is FALSE if y is NULL whereas the second form is NULL. Patch save for historical reference only. (Closed-Leaf check-in: d029e94399 user: drh tags: broken-istrue-opt) | |
15:00 | Fix a couple of asan problems on this branch. (check-in: 4e3e529313 user: dan tags: fts5-locale) | |
2024-07-27
| ||
20:28 | Fix documentation typo. Forum post 993cb82402 (check-in: 86de4e755e user: drh tags: trunk) | |
19:46 | Ensure that an fts5 UPDATE does not strip the locale from columns that it does not write to. (check-in: 69205264de user: dan tags: fts5-locale) | |
2024-07-26
| ||
20:50 | Add the fts5_locale() function, and begin adding the related functionality to fts5. (check-in: 8839ef7cfb user: dan tags: fts5-locale) | |
2024-07-25
| ||
16:28 | Fix a non-bare-bones-mode test case broken by the previous checkin. (check-in: 3be729493b user: stephan tags: wasm-build-rework) | |
16:21 | Strip progress handlers and window functions from the wasm bare-bones (formerly 'minimal') JS bits, noting that we can't yet use OMIT_WINDOWFUNC (for the C parts) without a custom amalgamation. Currently at 604kb. (check-in: ec02e9237e user: stephan tags: wasm-build-rework) | |
14:00 | More work on the minimal-mode wasm build (now 603kb uncompressed). Remove the hard-coded feature-enable flags from sqlite3-wasm.c and rely on the build to provide them. Some wasm build cleanup, but attempts to completely overhaul it have been thwarted by my inability to make script-generated makefile code more legible/maintainable than the current eval spaghetti. (check-in: b029c40679 user: stephan tags: wasm-build-rework) | |
10:50 | Start work on an overhaul of the wasm build process, with an eye towards less over-engineering. (check-in: ed746b3dd3 user: stephan tags: wasm-build-rework) | |
2024-07-24
| ||
23:58 | wasm minimal build: strip authorizers and JSON support (saves approx 35kb). Strip vtab support from the JS bits but cannot yet strip it from the C bits because that requires a custom-configured sqlite3.c. (check-in: eb64d10655 user: stephan tags: trunk) | |
22:07 | Restructuring of the wasm build to support an experimental 'minimal' build mode which elides all non-core APIs. (check-in: ee2191f730 user: stephan tags: trunk) | |
13:53 | Add the percentile extension to the CLI by default. (check-in: bcc3184696 user: drh tags: trunk) | |
13:41 | Add the percentile_cont(Y,P) variant of percentile() to the percentile extension. (check-in: 095c22e622 user: drh tags: trunk) | |
12:12 | JNI SQLTester: fix --new command to force-replace db if it already exists. Add no-op impls for --stmt-cache and --jsonglob commands. (check-in: f1185dc349 user: stephan tags: trunk) | |
2024-07-23
| ||
16:23 | Enhance the percentile() extension function to include the median() variant. Update the implementation to implement its own sorting algorithm, so that the extension no longer depends on qsort(). (check-in: 6e31b1bab1 user: drh tags: trunk) | |
2024-07-22
| ||
21:46 | Doc typo fix. No code changes. (check-in: 8d558ad25b user: stephan tags: trunk) | |
21:21 | Move a block of JS code which was inadvertently (and harmlessly) moved in the previous checkin. Clarify the semantics of an internal-use-only API. Add another WAL-related JS test. (check-in: 6cd9f55a97 user: stephan tags: trunk) | |
20:58 | OPFS VFSes: remove the on-open() pragma calls, as those (A) already reflected the build-time default settings and (B) they made it illegal to run locking_mode=exclusive, which is a requirement for WAL mode without shared memory. Modify part of the test suite to demonstrate that the SAHPool VFS can run in WAL mode so long as locking_mode=exclusive is used. (check-in: 19cd8e2b05 user: stephan tags: trunk) | |
19:52 | wasm build: resolve a circular dep and do some minor tidying up. (check-in: 9df3f1f24c user: stephan tags: trunk) | |
19:31 | Fix undesirable C++-style comments in the parser. (check-in: e330596aed user: drh tags: lateral-join) | |
17:09 | Do not abort the resolver early if a LIMIT expression does not resolve, as that can result in a memory leak. (check-in: ac6dc8c605 user: drh tags: lateral-join) | |
16:59 | Only allow variables in LIMIT clauses if the LIMIT is within a LATERAL subquery and the variable resolves to another FROM clause term to the left of the subquery. We cannot allow variables from outer contexts because the LIMIT value is computed before the cursors in the outer context have been initialized. (check-in: 0a2531c3a3 user: drh tags: lateral-join) | |
16:15 | Allow LIMIT expressions to appear in any outer context. (check-in: c9d3427de5 user: drh tags: lateral-join) | |
13:55 | Do not allow LIMIT and OFFSET to be expressions except for in a LATERAL. (check-in: 1034782137 user: drh tags: lateral-join) | |
00:46 | Allow LIMIT and OFFSET to contain variables from prior terms of the FROM clause in a LATERAL subquery. Forum post dfe2cd37ca3a9a80 (check-in: 4f0515138a user: drh tags: lateral-join) | |
2024-07-21
| ||
23:36 | Merge debugging output fixes from trunk into the lateral-join branch. (check-in: 9182e99952 user: drh tags: lateral-join) | |
23:34 | Fixes to TreeView debugging output for VALUES clauses. (check-in: b6aed8bcb0 user: drh tags: trunk) | |
23:10 | Improved debugging output when using PRAGMA vdbe_addoptrace: Show the range of opcodes being checked for Column-to-Copy conversion. (check-in: 2c122026db user: drh tags: trunk) | |
21:37 | Fix to the case of a LATERAL subquery that references a prior table that uses a covering index. Forum post fc29fa4f14. (check-in: 6d863172dc user: drh tags: lateral-join) | |
18:03 | Assert added to ensure that LATERAL subqueries are materialized instead of implemented as a co-routine. (check-in: 6c14b94fb6 user: drh tags: lateral-join) | |
10:35 | Fix LATERAL subqueries so that they are able to reference other subqueries to their left that are implemented as co-routines. See Forum post dfe2cd37ca3a9a80. (check-in: 31e175fcd0 user: drh tags: lateral-join) | |
2024-07-20
| ||
17:38 | Fix rule (1c-ii) of the fromClauseTermCanBeCoroutine() decision so that it work with LATERAL. Add testcase() macros to verify bitmask conditions are all checked. (check-in: 23d83a41ea user: drh tags: lateral-join) | |
16:11 | Fix an oversized allocation in sqlite3ExprCodeIN(). (check-in: d7be326a80 user: dan tags: trunk) | |
14:06 | Add testcase() macros to bitmap tests in the new code. (check-in: 874bc7bc25 user: drh tags: lateral-join) | |
09:36 | Remove an unnecessary error offset assignment. (check-in: 4ee74b7224 user: drh tags: lateral-join) | |
08:31 | Optimizations and improved comments. (check-in: 84b80233e7 user: drh tags: lateral-join) | |
03:57 | Do not do an early abort if a lateral subquery is an empty set. (check-in: 9e50d338eb user: drh tags: lateral-join) | |
03:19 | "LATERAL" may not be a keyword, as that would cause problems for legacy databases that have tables named "lateral". It has to be parsed as an identifier. (check-in: 8217bddaf8 user: drh tags: lateral-join) | |
01:19 | Experimental implementation of LATERAL JOIN. (check-in: 3c045a96bc user: drh tags: lateral-join) | |
2024-07-18
| ||
19:17 | Minor typo fixes in test-script-interpreter.md. (check-in: bf54b26092 user: stephan tags: trunk) | |
18:44 | Fix a problem in FTS5 where it reports the wrong error code following an OOM. (check-in: 0c1cc4071e user: drh tags: trunk) | |
2024-07-17
| ||
18:38 | Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned. (check-in: 539e4f6617 user: dan tags: trunk) | |
16:27 | Add extra assert() statements to the fixes on this branch. (Closed-Leaf check-in: 81b6360050 user: dan tags: alignment-fixes) | |
2024-07-15
| ||
10:13 | Slight doc touchup for [af41a1e6fc8b36e9bf65]/[c7519d98ff09e] based on feedback. No code changes. (check-in: a61997c315 user: stephan tags: branch-3.46) | |
10:11 | Slight doc touchup for [af41a1e6fc8b36e9bf65] based on feedback. No code changes. (check-in: be7b1fc0c5 user: stephan tags: trunk) | |
2024-07-13
| ||
18:16 | Improve one of the JS test cases. (check-in: 3767d8bef2 user: stephan tags: trunk) | |
16:53 | Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned. (check-in: 2212d7488e user: dan tags: alignment-fixes) | |
15:42 | Add JS binding for sqlite3_column_decltype(). (check-in: 5252d292b1 user: stephan tags: trunk) | |
15:21 | JS doc touchups. No code changes. (check-in: a8e240495f user: stephan tags: trunk) | |
14:07 | Add JS bindings for sqlite3_stmt_busy() and sqlite3_stmt_explain(). (check-in: b772edfb44 user: stephan tags: trunk) | |
13:22 | Add missing sqlite3_bind_parameter_name() binding to JS. (check-in: 6dcfcc7e1c user: stephan tags: trunk) | |
12:50 | Add JS bindings and tests for sqlite3_interrupted(), is_interrupted(), and db_readonly(). (check-in: 5589ba5651 user: stephan tags: trunk) | |
11:47 | Remove a stray/harmless duplicate wasm function export entry. (check-in: 5402e4fb1c user: stephan tags: trunk) | |
01:40 | Add several convenience links to the OPFS VFS concurrency tester app for launching it with various combinations of options. (check-in: 397d6a18f1 user: stephan tags: trunk) | |
01:02 | Add an option to the opfs-sahpool VFS which tells it to ignore a previous init failure and retry, as an opt-in workaround for a browser quirk which occasionally denies OPFS access on the first attempt and permits it on subsequent attempts. This resolves issue #79 of the npm distribution. (check-in: fbf3948a4b user: stephan tags: trunk) | |
00:55 | Rename the new opfs-sahpool init-retry flag to the suitably descriptive, and suitably onerous, forceReinitIfPreviouslyFailed, based on feedback. (Closed-Leaf check-in: c9f0a60902 user: stephan tags: sahpool-reinit-fallback) | |
2024-07-12
| ||
14:41 | sqldiff: fail if the 2nd db argument cannot be opened read-only. (check-in: e8b33525fc user: stephan tags: trunk) | |
13:51 | Work around a difficult-to-trigger Atomics API message-passing quirk in the OPFS VFS which appears in rare instances in some browsers when running high I/O loads. This resolves issue #12 of the npm distribution. (check-in: c7519d98ff user: stephan tags: branch-3.46) | |
13:49 | Work around a difficult-to-trigger Atomics API message-passing quirk in the OPFS VFS which appears in rare instances in some browsers when running high I/O loads. This resolves issue #12 of the npm distribution. (check-in: af41a1e6fc user: stephan tags: trunk) | |
13:45 | sqldiff: if the first db argument does not exist, fail instead of creating an empty db. Resolving that for the second argument is trickier, as discussed in forum post ec2d429e32. (check-in: 0547ccf776 user: stephan tags: trunk) | |
2024-07-11
| ||
19:50 | Reformulate the forceReinitIfFailed handling based on feedback, to correct the type-checking and resolve a potential race condition. (check-in: c4f4683091 user: stephan tags: sahpool-reinit-fallback) | |
14:07 | Remove the timing and counter metrics from the OPFS VFS, as they're long-since unused so are just wasted CPU cycles. (Closed-Leaf check-in: 67c035c34f user: stephan tags: opfs-errant-op) | |
12:57 | Add some docs explaining [64f4f3cd878b1a72]. (check-in: 4fdf9a322f user: stephan tags: opfs-errant-op) | |
12:36 | Proposed workaround for the "errant op" case in the OPFS VFS, as discussed in issue #12 of the npm distribution. (check-in: 64f4f3cd87 user: stephan tags: opfs-errant-op) | |
11:04 | Add an option to force the opfs-sahpool VFS init to re-run after it fails on a first attempt, as a workaround for flaky environments where initial access to OPFS sync access handles is rejected but then permitted on a second attempt. Reported and discussed in issue #79 of the npm distribution. (check-in: 5286e0f654 user: stephan tags: sahpool-reinit-fallback) | |
2024-07-10
| ||
08:33 | Rename some JS files for consistency. This affects only the build process, not the deliverables. (check-in: bcef3f71a2 user: stephan tags: trunk) | |
2024-07-08
| ||
17:39 | Fix a use-after-free that could occur following an OOM introduced by [d8cedbe0]. (check-in: 4fabfacfcf user: dan tags: trunk) | |
16:01 | Improve the error message returned when fts5 finds a row is missing from its content table. (check-in: 9b1afd4acb user: dan tags: trunk) | |
2024-07-05
| ||
13:55 | Use a mini Bloom filter to help reduce the number of pointless searches for prior SubrtnSig objects when generating code for IN operators with subqueries as their right operand. (check-in: d8cedbe055 user: drh tags: trunk) | |
09:56 | Improved reuse of subqueries associated with IN operators, especially when the IN operator is duplicated due to predicate push-down. (check-in: c9a3498113 user: drh tags: trunk) | |
01:05 | Small performance optimizations. (Closed-Leaf check-in: 99fd34b58a user: drh tags: reuse-subqueries) | |
2024-07-04
| ||
18:56 | Add test cases to in7.test. (check-in: 07817efc10 user: dan tags: reuse-subqueries) | |
18:26 | Disable the reuse of IN-clause subqueries if the subquery is an explicit "SELECT ALL". The ALL keyword is almost never used in actual practice (most developers don't even know it can be used) so this should not interfere with the optimization, but it does give us a convenient way to turn it off for testing purposes. (check-in: a81299be2c user: drh tags: reuse-subqueries) | |
17:49 | Update EXPLAIN output to include P4_SUBRTNSIG. (check-in: 61e56923c8 user: dan tags: reuse-subqueries) | |
16:57 | Be more aggressive about reusing subqueries that appear on the RHS of IN operators that have been replicated due to the predicate push-down optimization. (check-in: 2accf32b6e user: drh tags: reuse-subqueries) | |
11:15 | Add comment using the name "predicate push-down optimization" to what we have also called "WHERE-clause push down". No changes to code. (check-in: be77fe701c user: drh tags: trunk) | |
09:45 | For shell completion, use pragma_table_xinfo instead of pragma_table_info, so that generated columns are handled, as reported in forum post f0735e05d8d7e857. (check-in: a204ffc06b user: stephan tags: trunk) | |
2024-07-03
| ||
20:19 | When constructing an ephermeral table to use as the right-hand side of an IN operator, also construct a Bloom filter to speed membership testing. (check-in: baa83b460c user: drh tags: trunk) | |
20:10 | Show the creation of IN-operator Bloom filters in the EXPLAIN QUERY PLAN output. (Closed-Leaf check-in: c10a1b99d4 user: drh tags: in-bloom) | |
18:56 | Add a new sqlite3FaultSim() call to OP_NotFound to use for testing purposes. (check-in: 84fd275bfd user: drh tags: in-bloom) | |
17:51 | Use a Bloom filter to improve performance of IN operators when the RHS of the IN operator is a subquery. (check-in: 1933496539 user: drh tags: in-bloom) | |
2024-07-02
| ||
13:54 | Add assert() statements to FTS5 to hush-up warnings from scan-build. (check-in: 77a76654e6 user: drh tags: trunk) | |
12:16 | Rework the deliberate_fall_through macro along the lines suggested by forum post 7ec11023dd so that it works better with LLVM, while preserving compatibility with MSVC and older GCCs. (check-in: fc248a4a0a user: drh tags: trunk) | |
11:30 | In the CLI, if the XDG_CONFIG_HOME environment variable is not set, then also search in ~/.config/sqlite3/sqliterc for the initialization file. See forum thread 5cc6d059e9e092ed. (check-in: 33841c9c3c user: drh tags: trunk) | |
2024-06-29
| ||
15:57 | Fix a typo in a comment in a test case. No changes to code. (check-in: f501166de4 user: drh tags: trunk) | |
12:22 | Add a NEVER() around a branch in sqlite3ExprAffinity() that is designed to prevent an infinite loop, but which can now never be reached due to recent changes. (check-in: da0b794852 user: drh tags: trunk) | |
2024-06-28
| ||
18:21 | Update fts5 comment/docs to include the order matches are visited in by the xPhraseFirst/xPhraseNext API. (check-in: e41930ef5b user: dan tags: trunk) | |
18:07 | Additional steps to make sure calls to sqlite3ExprToRegister() are sane. (check-in: 1c42d7176b user: drh tags: trunk) | |
17:14 | Do not convert an expression node that is already TK_REGISTER into a new TK_REGISTER. This is a follow-up to [663f5dd32d9db832] that fixes a bug discovered by dbsqlfuzz. (check-in: fcb669cfaa user: drh tags: trunk) | |
2024-06-27
| ||
15:03 | Merge all the latest trunk enhancements into the recursive-cte-orderby-fix branch. (Leaf check-in: 5f159e5425 user: drh tags: recursive-cte-orderby-fix) | |
14:54 | Merge the latest trunk enhancements into the exists-to-join branch. (check-in: fc643f8a12 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: d07085e203 user: dan tags: trunk) | |
16:08 | Fix some problems with calling fts5 api functions from within non-full-text queries. (check-in: 56d265f956 user: dan tags: trunk) | |
14:53 | Enhance the output of ".scanstats vm" to include the absolute number of ticks for each VM instruction, instead of just the percentage of the total. (check-in: 1535828335 user: dan tags: trunk) | |
2024-06-20
| ||
12:07 | Do not attempt the exists-to-join optimization if the FROM clause is full. (check-in: 8e3a1d2850 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: e54eb217c9 user: drh tags: trunk) | |
18:46 | In lemon, show all the -D options in the generated header, even if none of them are used. (check-in: 2aa009c38b user: drh tags: trunk) | |
16:38 | Enhance lemon.c so that when it shows the compile-time options in the header comment of the generated output file, it shows all options, even those not used, and it shows them in sorted order. (check-in: eed76e6698 user: drh tags: trunk) | |
11:08 | Remove some extraneous flags from the fiddle-debug build. Internal doc tweaks in the main wasm makefile. (check-in: afae2c9e6f user: stephan tags: trunk) | |
2024-06-18
| ||
22:03 | Minor cleanups in the new fiddle build code. (check-in: d356aebdd4 user: stephan tags: trunk) | |
21:50 | Rework the fiddle build to build separate debug and non-debug bundles, with the latter in ./fiddle-debug. (check-in: a9f1758f1c user: stephan tags: trunk) | |
20:47 | Remove an extraneous CSS file and import its CSS into the one HTML file which uses it. (check-in: 66085ca423 user: stephan tags: trunk) | |
20:40 | Add fiddle-debug make target to ext/wasm. It builds the same target files as a non-debug build, as opposed to a new copy, but adds various debug-related flags. (check-in: 993143c5c3 user: stephan tags: trunk) | |
19:36 | Add instructions for how to do debugging builds of the CLI on Windows. (check-in: abe81c1861 user: drh tags: trunk) | |
12:19 | Update sqlite3_analyzer to report on the number of WITHOUT ROWID tables and to provide separate aggregate statistics for WITHOUT and WITH ROWID tables. (check-in: 4152894433 user: drh tags: trunk) | |
09:58 | Internal doc typo fixes, as reported in the forum. No code changes. (check-in: ea16b286b4 user: stephan tags: trunk) | |
2024-06-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: d34e788044 user: stephan tags: branch-3.46) | |
2024-06-16
| ||
17:06 | Remove some dead JS code. (check-in: 754e6e059b user: stephan tags: trunk) | |
2024-06-14
| ||
23:13 | Do not omit the ORDER BY clause from a recursive CTE just because the query that contains the CTE also contains an ORDER BY clause. Plus other changes imported from the recursive-cte-orderby-fix branch. (check-in: 13242289c5 user: drh tags: trunk) | |
19:27 | Fix harmless comment typo. (check-in: ca06380233 user: drh tags: recursive-cte-orderby-fix) | |
18:33 | Improvement to treeview.c: Show the DESC and BIGNULL flags when printing out ExprList objects. (check-in: e87966cf63 user: drh tags: recursive-cte-orderby-fix) | |
18:06 | Add tests for the change on this branch. (check-in: ae19ff9ba8 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: 5e700f2cc2 user: drh tags: recursive-cte-orderby-fix) | |
2024-06-12
| ||
22:15 | Remove some dead JS code. Improve the exception-to-C-result-code conversion to account for the case of a file disappearing while the OPFS VFS is waiting to acquire a lock on it. (check-in: 5bd9fd5f61 user: stephan tags: trunk) | |
21:08 | Fix a potential db corruption case triggered by the OPFS VFS's xCheckReservedLock() implementation. (check-in: a7cd07d96e user: stephan tags: branch-3.46) | |
21:01 | Remove some JS docs which no longer apply. No code changes. (check-in: f253cab335 user: stephan tags: trunk) | |
17:01 | Do not attempt the exists-to-join optimization for expressions from the ON clause of joins. (check-in: 4666433cbd user: dan tags: exists-to-join) | |
15:50 | Fix a problem with rolling back hot journals using the unix-dotfile VFS. (check-in: a44703135e user: dan tags: trunk) | |
15:29 | Omit tests that depend on sqlite3_release_memory() in lock5.test when running the memsubsys1 or memsubsys2 permutations. (Closed-Leaf check-in: 9d63033bf4 user: dan tags: unix-dotfile-fix) | |
12:36 | Fix a potential db corruption case triggered by the OPFS VFS's xCheckReservedLock() implementation, as discussed in forum thread a2f573b00cda1372. (check-in: c298b8ba2d user: stephan tags: trunk) | |
12:17 | Doc updates in JS code. No functional changes. (check-in: 587ed3a5d2 user: stephan tags: trunk) | |
11:41 | Do not attempt to run hot journal rollback tests in lock5.test with the "inmemory_journal" permutation, which cannot generate hot journals. (check-in: 1e6fa95b88 user: dan tags: unix-dotfile-fix) | |
11:39 | Slight API doc tweak for xCheckReservedLock(), based on forum feedback. No code changes. (check-in: 2af7a96f68 user: stephan tags: trunk) | |
10:17 | Improvements to the layout and comments for the new round() implementation. (Leaf check-in: d6b1df1a22 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: 552b1b1066 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: 44dd632896 user: drh tags: round-up-2) | |
20:28 | Handle the case where unix-dotfile is used with URI parameter nolock=1. (check-in: 3925a5b904 user: dan tags: unix-dotfile-fix) | |
20:03 | Fix a problem with rolling back hot journals using the unix-dotfile VFS. (check-in: 4ae3300b79 user: dan tags: unix-dotfile-fix) | |
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: 33a3f32785 user: drh tags: exists-to-join) | |
17:37 | Merge trunk enhancements into the exists-to-join branch. (check-in: 5f25a9518a user: drh tags: exists-to-join) | |
17:04 | Remove some dead JS code and update some JS docs. (check-in: 6935ac71ba user: stephan tags: trunk) | |
17:04 | When compiling shell.c in SQLITE_SHELL_FIDDLE mode, ensure that the shell_main_exit goto label is reachable. (check-in: 06e6f64533 user: stephan tags: trunk) | |
14:36 | Change constant expressions to pre-computed constants, because apparently MSVC on ARM requires that. Forum thread 4feb1685cced0a8e. (check-in: 6c103aee6f user: drh tags: trunk) | |
2024-06-10
| ||
19:45 | Add missing calls to sqlite3exprSkipCollateAndLikely() to the enchancement on this branch. (check-in: 078537d057 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: f3009a6d7f 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: 3dec4b35ec 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: a1b57288d7 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: 4a790d3b28 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: 56af06fa12 user: drh tags: trunk) | |
12:29 | Check-in contained undesired test code. (Leaf check-in: 43f376ce92 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: a7fe90c158 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: 40de393979 user: drh tags: trunk) | |
2024-06-08
| ||
18:13 | Add extra tests for the changes on this branch. (check-in: a6365c778f 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: 972a33db0b 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: aebc790a16 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: c4a9dda280 user: drh tags: trunk) | |
23:22 | Omit bogus tests accidentally added by the privious commit. (Closed-Leaf check-in: e94dfe9928 user: drh tags: var-in-limit) | |
15:03 | Better optimize queries that use parameters in the LIMIT clause. (check-in: e58cb304d1 user: drh tags: var-in-limit) | |
12:22 | Re-enable [dcc2bb2c562e97e090174], as [296eeb26c816bc73] corrects the wasi-sdk build problem the former check-in triggered. Reported in forum post 143e40d7f4e79c66. (check-in: f66608bd35 user: stephan tags: trunk) | |
01:21 | Adjust the parser so that the value of TK_ISNOT is similar to the value of TK_IS. This helps the compiler generate faster switch() statements on the Expr.op fields when there are cases for TK_ISNOT and other common operators. (check-in: 34f05c3d89 user: drh tags: trunk) | |
01:00 | Small performance optimization in the operatorMask routine of the WHERE clause analysis logic. (check-in: 9d69fc1c87 user: drh tags: trunk) | |
00:49 | Small performance optimization in the allowedOp() routine of the WHERE clause analysis code. (check-in: 4ba8be5447 user: drh tags: trunk) | |
2024-06-05
| ||
20:54 | Harmonize function names. (Leaf check-in: db43d7aa5d user: mistachkin tags: concatb) | |
20:52 | Add an experimental concatb() function. (check-in: 07d8420285 user: mistachkin tags: concatb) | |
20:50 | Fix harmless compilation issues seen with MSVC. (check-in: 816d474938 user: mistachkin tags: trunk) | |
20:41 | Small performance optimization in the codeEqualityTerm() routine of the code generator. (check-in: 8080c6eafd user: drh tags: trunk) | |
16:50 | Fix an fts5 problem with secure-delete mode causing integrity-check to erroneously report a corrupt index. (check-in: 0a7fa0a434 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: 80bef4d60b user: dan tags: trunk) | |
11:36 | Fix a very obscure issue where the name resolver could get confused if aliases like "sqlite_schema" or "sqlite_master" were used in a query involving the sqlite_temp_schema table. (check-in: a096eb7554 user: dan tags: trunk) | |
2024-06-04
| ||
19:21 | Fix harmless compiler warnings seen with MSVC. (check-in: 93ac8573ee user: mistachkin tags: trunk) | |
17:26 | Better handle WHERE terms that are common to two or more OR branches when planning virtual table queries. Fix for ticket [6e3ace1270f29930]. (check-in: 1976c3f7e1 user: dan tags: trunk) | |
15:07 | Fix a couple of memory leaks in the shell tool code that could occur when processing errors. (check-in: e84f09d469 user: dan tags: trunk) | |
14:32 | Allow shell command "testctrl pending_byte" to be used in unsafe-testing mode only. (check-in: afa45c4f5a user: dan tags: trunk) | |
2024-06-03
| ||
18:04 | Address a corner-case associated with the call-function-once optimization of check-in [663f5dd32d9db832] that was causing a (harmless) use of an uninitialized bytecode register. dbsqlfuzz 8a44f675401a8b1f68a43bf813c4f4f72ad8f0ea (check-in: b37ac2d020 user: drh tags: trunk) | |
12:36 | Omit an unused #define. (check-in: 9c2de28a14 user: drh tags: trunk) | |
07:22 | Modify three #if checks in os_unix.c to improve handling of SQLITE_OMIT_WAL on WASI builds. Based on the discussion in/around forum post 57e918431735128a. (check-in: 296eeb26c8 user: stephan tags: trunk) | |
2024-06-02
| ||
10:52 | Be more aggressive about freeing memory associated with the sqlite3_index_info.idxStr field. (Closed-Leaf check-in: 85dcd0a847 user: drh tags: xbestindex-or-terms) | |
2024-06-01
| ||
17:56 | Have fts5.xBestIndex return SQLITE_CONSTRAINT, instead of a large cost, when no usable plan can be found. (check-in: 7c47094537 user: dan tags: xbestindex-or-terms) | |
2024-05-31
| ||
20:32 | Further tests for OR constraints on virtual tables. (check-in: ff4a30056f user: dan tags: xbestindex-or-terms) | |
19:26 | Better handle WHERE terms that are common to two or more OR branches when planning virtual table queries. (check-in: 4edd9b29f5 user: dan tags: xbestindex-or-terms) | |
15:39 | Do not even try star-schema detection if the join has fewer than 5 tables, since 5 is the minimum for a positive detection. (check-in: a07ec16bbc user: drh tags: trunk) | |
14:39 | Document the OP_Explain opcode. Add the WhereLoop.rRun value as P3 in OP_Explain opcodes associated with WhereLoops, for testing purposes. (check-in: 996c46e61d user: drh tags: trunk) | |
2024-05-30
| ||
21:54 | Back out [dcc2bb2c562e97e090174], as it breaks the --with-wasi-sdk builds. (check-in: 62199562c2 user: stephan tags: trunk) | |
17:56 | Remove the unconditional SQLITE_OMIT_WAL when building in wasi-sdk mode, per requests in the forum. (check-in: dcc2bb2c56 user: stephan tags: trunk) | |
13:27 | Ensure that the second pass call to wherePathSolver() always reports a positive value for the estimated number of output rows. This fixes a long-standing (though exceedingly minor) problem that was only revealed by a new assert() added yesterday. dbsqlfuzz 545d6debc2da496ab2b915e33ea34d9a35a935df (check-in: a47c644fef user: drh tags: trunk) | |
11:25 | Experimentally enable linenoise multiline mode in shell.c. (Closed-Leaf check-in: 33ad9d8a3c user: stephan tags: linenoise-multiline) | |
11:14 | Update shell.c to use the msteve fork of linenoise, per /chat discussion. (check-in: ee92fa8366 user: stephan tags: trunk) | |
2024-05-29
| ||
15:16 | Remove an unused parameter from fts5ConfigParseSpecial(). Compiler-warning fix only - no functional changes. (check-in: c08dd245f7 user: drh tags: trunk) | |
15:08 | Use a heuristic of artifically lowering the cost of fact tables in a star-schema query in order to prevent plans where the fact tables are in outer loops from being trimmed by the path limiter. This helps to generate better (faster) query plans in those particular cases. (check-in: 38db9b5c83 user: drh tags: trunk) | |
14:32 | Change an assert() (incorrectly) added by the previous check-in into a testcase(). (Closed-Leaf check-in: 5e64b541d1 user: drh tags: star-schema) | |
14:04 | Small performance enhancement in wherePathSolver() (check-in: bdab69641d user: drh tags: star-schema) | |
13:29 | Improvements to comments and debugging output. (check-in: 85164ee155 user: drh tags: star-schema) | |
10:40 | Remember the amount of the heuristic cost adjustment associated with star schemas and compensate when computing whether or not to use Bloom filters. (check-in: 21daf2463e user: drh tags: star-schema) | |
09:53 | Fix typos in the star-schema test cases. (check-in: 4080937353 user: drh tags: star-schema) | |
03:35 | Fix sqldiff out-of-bounds char classification error mentioned in the forum. (check-in: b31933d873 user: larrybr tags: trunk) | |
00:38 | Use a heuristic in the query planner to help it better cope with large star schema queries. (check-in: a98be0f548 user: drh tags: star-schema) | |
2024-05-28
| ||
19:08 | Fix a couple of assert() statements so that they cannot fire when the SQLITE_TESTCTRL_INTERNAL_FUNCTIONS debugging capability is activated. dbsqlfuzz f5b347cf167a62fbe08062b2feee65cb9306e363. (check-in: 273504b74c user: drh tags: trunk) | |
18:53 | Tweaks to the query planner so that it is better able to deal with star queries with many dimensions and bad indexes. (check-in: 1e49081001 user: drh tags: trunk) | |
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: 76c7d9334f 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: 8ba2c2f5cb user: drh tags: trunk) | |
11:24 | Documentation typo fix. Forum post 772d6688f5. (check-in: 1f2f9c709e user: drh tags: trunk) | |
10:57 | Fix a problem with the error message reported by fts5 in some OOM cases. (check-in: c7aaa28f78 user: dan tags: trunk) | |
00:16 | Improve the automatic-index decision such that no attempt is made to create an automatic index on a column that is known to be non-selective because if its use in other indexes that have been analyzed. See ticket [8ff324e120d5e9bd] and forum post b21c2101a559be0a. (check-in: 2a7603c327 user: drh tags: trunk) | |
00:01 | Query planner tuning: Increase the maximum number of simultaneous solutions to track in the solver from 10 to 12. (check-in: fe2e1dadba user: drh tags: trunk) | |
2024-05-27
| ||
21:55 | Avoid creating an automatic index on a column that is known to be not very selective. (Closed-Leaf check-in: 70409763f7 user: drh tags: auto-index-improvements) | |
19:52 | The previous check-in was a little two aggressive about skipping the initialization of entries in the CellArray.ixNx array. Fixed here. (check-in: 1b6d1fbcde user: drh tags: trunk) | |
18:15 | Fix typo in comment used to generate parts of the documentation. Forum post da5a2ca4db. (check-in: 428aadf0c7 user: drh tags: trunk) | |
15:13 | Very small performance increase and size reduction by removing unnecessary ALWAYS() macros from the btree balance logic and replacing them with special initialization of CellArray and some assert()s. (check-in: 32b79041d9 user: drh tags: trunk) | |
13:41 | Doc typo fix. No code changes. (check-in: eaf07fe69f user: stephan tags: trunk) | |
13:24 | For compatibility with PostgreSQL, when right-hand side of the ->> operator is negative, it should index from the right side of the JSON array on the left-hand side. (check-in: 82365a45b9 user: drh tags: trunk) | |
11:38 | Fix a possible buffer overwrite in the ".import" command. (check-in: 55eee9f920 user: drh tags: branch-3.46) | |
11:35 | Fix a possible buffer overwrite in the ".import" command. forum post 0c447f0548. (check-in: 0fd958fa9b user: dan tags: trunk) | |
11:31 | Add new assert() statements to help out a static analyzer. Response to forum post 17fe8ac32e0de4f5. (check-in: 857f6d5309 user: drh tags: trunk) | |
2024-05-25
| ||
23:17 | Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error. (check-in: 01ead0a2d9 user: drh tags: branch-3.46) | |
23:13 | Ensure that sqlite3ViewGetColumnNames() returns non-zero on any error. dbsqlfuzz d9de2a508f693e5a228d7a01d5341e3c64326fbb. (check-in: 57aeb3a287 user: drh tags: trunk) | |
2024-05-24
| ||
23:44 | Ensure that queries like "SELECT func(a) FROM tab GROUP BY 1" only call the func() function once per row. Fix for the issue described in forum thread bf8f43aa522c2299. (check-in: 663f5dd32d user: drh tags: trunk) | |
21:38 | Fix another fts5 problem related to unknown tokenizer modules. (check-in: e78b778304 user: dan tags: trunk) | |
21:23 | Fix a crash in fts5 that could occur within "PRAGMA integrity_check" if the specified tokenizer was unknown. (check-in: 061d7b69e6 user: dan tags: trunk) | |
20:18 | When omitting result columns for the vector-IN optimization, make sure that any result-set column references in both the ORDER BY clause and the GROUP BY clause are updated appropriately. (Closed-Leaf check-in: f890812df0 user: drh tags: group-by-consistency) | |
18:31 | Ensure that queries like "SELECT indeterministic(a) FROM tbl GROUP BY 1" invoke the indeterministic function only once for each row of tbl. (check-in: 4555d66547 user: dan tags: group-by-consistency) | |
14:16 | Add the stmtrand() extension function for use in testing. (check-in: 5c97a5b9d1 user: drh tags: trunk) | |
13:33 | Fix an "ifcapable" expression in values.test. (check-in: b8442d2a60 user: dan tags: trunk) | |
2024-05-23
| ||
23:34 | Increase the version number to 3.46.1 (check-in: 170e3a91d5 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: 7fe11274fc 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: cec6bb3fc9 user: drh tags: trunk) | |
15:05 | Merge various enhancements that were being held on a branch until after the 3.46.0 release. (1) Allow arbitrary expressions in the second argument to the RAISE() function. (2) Performance optimization to the OP_OpenRead and OP_OpenWrite bytecode operators. (3) Allow FTS5 tables to be dropped even if the associated tokenizer is not available. (4) Performance optimizations in FTS5. (5) Generate better bytecode to improve performance of ONEROW scans. (check-in: 1e5385ffc3 user: drh tags: trunk) | |
14:58 | Increase the version number to 3.47.0 to begin the next development cycle. (check-in: 20e228a22e user: drh tags: trunk) | |
14:09 | Version 3.46.0 for the reuse-schema branch (check-in: 8f6b859413 user: drh tags: reuse-schema) | |
14:05 | Version 3.46.0 for the wal2 branch. (check-in: fdc0e1480a user: drh tags: wal2) | |
13:25 | Version 3.46.0 (check-in: 96c92aba00 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: 3210e1ca4d user: dan tags: trunk) | |
15:20 | Merge the lates trunk enhancements into the reuse-schema branch. (check-in: 97e0af8882 user: drh tags: reuse-schema) | |
15:20 | Merge the latest trunk enhancements into the wal2 branch. (check-in: d4217d9f70 user: drh tags: wal2) | |
14:54 | Do not attempt to run mmapcorrupt.test with builds that do not support mmap(). (check-in: 54a49f1847 user: dan tags: trunk) | |
13:34 | Fix harmless compiler warnings. (check-in: aab59f9f7c 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: de8182cf17 user: drh tags: trunk) | |
2024-05-20
| ||
19:59 | Omit a capi3 test from 2007 that depends upon undefined behavior (UAF). (check-in: a60a0b7513 user: drh tags: trunk) | |
19:51 | Do not run the tests in recovercorrupt4.test with the inmemory_journal permutation. (check-in: c13205d66b 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: 08058d66d1 user: drh tags: trunk) | |
16:00 | Improvements to the sqlite3_vtab_distinct() documentation. (Closed-Leaf check-in: 6ee041d34f 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: 922731ce98 user: drh tags: vtab-distinct-fix) | |
15:21 | JS error message and doc typos reported in the forum. No code changes. (check-in: 1a073f9acf user: stephan tags: trunk) | |
2024-05-17
| ||
22:51 | Improvements to a VDBE comment. No changes to anything that affects queries. (check-in: c2188da860 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: 6dc6472175 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: b41e71208a 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: 5fa0c2a026 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: 1ec2961a03 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: 953271f29e 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: 3120c7c8a3 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: b79a8be37b 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: 8eb326c249 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: 96a591c202 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: c0c91e306c 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: ca4fdcb8ae 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: 69ef47eeee 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: 3a256a1667 user: drh tags: faster-openread) | |
2024-05-11
| ||
16:44 | Add tests to bestindexC.test. No changes to code. (check-in: 58d938c0e0 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: c6fd70b3c2 user: drh tags: trunk) | |
18:15 | Add a test for the fixes on this branch. (Closed-Leaf check-in: 716088d673 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: c623d9a51e user: drh tags: cleanup-testing) | |
17:05 | Improvements to the ".testctrl fault_install" command in the CLI. (check-in: 48b34ded82 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: 1e8863909a user: drh tags: cleanup-testing) | |
09:26 | Squelch two OMIT-flag-related warnings reported in forum post 388243d9882067a9. No functional changes. (check-in: 1d6716054d user: stephan tags: trunk) | |
2024-05-09
| ||
18:39 | Add a maintenance-reminder comment explaining [dc58ed65492857]. (check-in: 857f5d7fad 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: dc58ed6549 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: d030c87c4d user: stephan tags: trunk) | |
17:42 | Allow arbitrary expressions as the second argument to RAISE(). (Closed-Leaf check-in: 003e1c8c27 user: drh tags: enhanced-raise) | |
11:51 | Fix a hyperlink typo in session documentation. (check-in: 42d67c6fed user: drh tags: trunk) | |
2024-05-07
| ||
19:45 | Fix bug in test script sessionconflict.test. (check-in: e29decb8b1 user: dan tags: trunk) | |
17:58 | Ensure successive scans of pragma virtual tables return consistent rowids. (check-in: 6838bf3ac1 user: dan tags: trunk) | |
13:20 | Fix a compilation error in test/lemon-test01.y, reported in forum post f0ad095705. (check-in: 576b68c8b5 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: 2bf8c3f99a user: dan tags: trunk) | |
20:18 | Omit redundant unary + operators from the AST. (check-in: f81cc149e5 user: drh tags: trunk) | |
19:04 | Avoid unnecessary recursion in sqlite3ExprDeleteNN(). This complicates the code, but it is needed to prevent nuisance "stack overflow" reports from OSSFuzz while it is running the latest ASAN. (check-in: 70abc144ca user: drh tags: trunk) | |
17:55 | Add new sessions API sqlite3changegroup_add_change(). (check-in: 5eaab43ce4 user: dan tags: trunk) | |
17:32 | Edit comments in sqlite3session.h. (Closed-Leaf check-in: 49f84878e2 user: dan tags: changegroup-add-change) | |
17:21 | Add tests for sqlite3changegroup_add_change(). (check-in: 9d67bedc20 user: dan tags: changegroup-add-change) | |
11:27 | Fix problem in sqlar_uncompress() when being used to extract symbolic links. (check-in: 4d90c3f179 user: dan tags: trunk) | |
2024-05-05
| ||
10:00 | Add comment to the test/lemon-test01.y file indicating that it does not work and is for historical reference only. (check-in: 9bdf73a8d4 user: drh tags: trunk) | |
2024-05-04
| ||
21:10 | Add new sessions API sqlite3changegroup_add_change(). (check-in: 73647db1dd user: dan tags: changegroup-add-change) | |
16:50 | Add test cases to test/in7.test. No code changes. (check-in: 8c3086f9fe user: dan tags: trunk) | |
15:10 | Assume that an SQL function is able to return a subtype if any of its arguments are SQL functions that are able to return subtypes. This closes a corner-case hole in the patch at [ba789a7804ab96d8]. (check-in: b36d499e4c user: drh tags: trunk) | |
15:04 | Assume that a function is able to return a subtype if either (1) it is itself marked with SQLITE_RESULT_SUBTYPE, or (2) one of its arguments is a function that is able to return a subtype. This check-in backs out the code changes from the previous two on this same branch, but keeps the test cases from the previous two. (Closed-Leaf check-in: f16b200f25 user: drh tags: func-rw-subtype) | |
11:31 | Functions that pass through the sqlite3_value of one of their arguments must also be marked as SQLITE_RESULT_SUBTYPE, in case one of their arguments has a subtype. (check-in: 2f9fba931d user: drh tags: func-rw-subtype) | |
2024-05-03
| ||
19:35 | The coalesce(), ifnull(), and iif() functions pass through subtype values from their arguments, and hence need to have the SQLITE_RESULT_SUBTYPE flag set. (check-in: cdd1610c44 user: drh tags: func-rw-subtype) | |
2024-05-02
| ||
19:22 | Fix a problem with queries that use "IN(...) ORDER BY ... NULLS LAST" or similar introduced by [d7648e21605a0b38]. (check-in: 26b2d9390f user: dan tags: trunk) | |
18:16 | Avoid an assert failure accessible only when internal testing features are enabled. dbsqlfuzz crash-66abacda6bca6bd531e25595e8c8068e2c710326.txt. (check-in: fbc446daac user: dan tags: trunk) | |
17:46 | Fix a case where the recovery extension might write uninitialized data to the recovered database. (check-in: 8519b4d039 user: dan tags: trunk) | |
14:48 | Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row. (check-in: d7648e2160 user: dan tags: trunk) | |
12:14 | Fix the CREATE TABLE performance issue described by forum thread 4cf69794d9dfff7c in two different ways: (1) Omit the call to PRAGMA integrity_check('X') that was being done after CREATE TABLE "X" because the result was being ignored and the integrity_check was not doing anything other than burning CPU cycles. (2) Do not interpret the argument to PRAGMA integrity_check as a number if it is in fact a string that looks like a number. (check-in: 71f08b9122 user: drh tags: trunk) | |
12:00 | Add a test case to the fix to PRAGMA integrity_check in the previous check-in. (Closed-Leaf check-in: 39a57b596d user: drh tags: faster-create) | |
11:52 | Do not accept a string that looks like a number used as an argument to PRAGMA integrity_check as a number. Treat it as a table name that just happens to look like a number. (check-in: b04e7a2347 user: drh tags: faster-create) | |
11:51 | Omit the OP_SqlExec to "PRAGMA integrity_check" added by [348fa7aaf7958b3f] because it is a no-op. Even if the integrity_check failes, the CREATE TABLE is stull successful. The OP_SqlExec just burns CPU cycles for no reason. (check-in: 532795acd1 user: drh tags: faster-create) | |
2024-05-01
| ||
19:48 | Avoid an OP_Next in cases where an IN(...) query against a UNIQUE index may return at most 1 row. (Closed-Leaf check-in: 560f64157d user: dan tags: unique-in-opt) | |
16:25 | Fix another problem in the recovery extension where a corrupt sqlite_schema table could lead to excessive memory consumption. (check-in: 1c7e33a8aa user: dan tags: trunk) | |
14:42 | Fix a problem causing the recovery extension to use excessive memory and CPU time in some cases. (check-in: 8de85170d5 user: dan tags: trunk) | |
2024-04-30
| ||
19:34 | Avoid 32-bit overflow when calculating ncycle for ".scanstats vm". (check-in: 2858efa06d user: dan tags: trunk) | |
2024-04-26
| ||
19:10 | Fix issues in LIMIT/OFFSET support for virtual tables. The first problem was reported by forum post c243b8f856. That report prompted an enhancement to the generate_series() (also included in this merge) which in turn identified other similar issues. (check-in: 5f6c079d84 user: drh tags: trunk) | |
18:42 | Internal JS doc touchups. No functional changes. (check-in: 626b997b4e user: stephan tags: trunk) | |
18:24 | Additional internal docs in the wasm utilities. (check-in: 5a2245a9eb user: stephan tags: trunk) | |
18:13 | Allow virtual table implementations to handle OFFSET but not LIMIT, but not LIMIT but not OFFSET. (Closed-Leaf check-in: 90e5c8226a user: dan tags: vtab-limit-fix) | |
17:19 | Have where.c ignore any plan from a virtual table that tries to use LIMIT/OFFSET without also using all WHERE constraints. (check-in: 7d30596496 user: dan tags: vtab-limit-fix) | |
17:09 | Further fixes and improvements to the generate_series() enhancements on this branch. (check-in: b7d9bd7ee2 user: drh tags: vtab-limit-fix) | |
14:36 | Use hex flag masks rather than decimals in ext/misc/series.c. (check-in: a94e2cd028 user: drh tags: vtab-limit-fix) | |
14:32 | Fix a problem allowing a LIMIT constraint to be passed to a virtual table in cases where there exist WHERE terms that cannot also be passed. (check-in: 72c8ed9698 user: dan tags: vtab-limit-fix) | |
13:38 | Fix handling of LIMIT and OFFSET in virtual tables that are part of a compound SELECT. (check-in: 40421c1c4e user: drh tags: vtab-limit-fix) | |
13:30 | Enhance the generated_series() table-valued-function to respond to LIMIT and OFFSET. Use this to add new test cases for LIMIT and OFFSET on virtual tables in a compound SELECT. (check-in: 408d47ecaa user: drh tags: vtab-limit-fix) | |
12:01 | Add test demonstrating the problem at forum post c243b8f856. No fix yet. (check-in: 1685495c0a user: dan tags: vtab-limit-fix) | |
11:32 | Fix the TreeView display of a LIMIT clause on a compound query. Debugging code only - not part of production builds. (check-in: 38f1e5ce4e user: drh tags: trunk) | |
2024-04-25
| ||
23:26 | Improvement to the way that affinity is determined for columns of a compound subquery. The affinity is the affinity of the left-most arm of the compound subquery that has an affinity other than NONE, adjusted to accommodate the data types coming out of the other arms. (check-in: e6df846f36 user: drh tags: trunk) | |
17:52 | Further improvements to the computation of affinity for compound subqueries: make sure that the selected affinity is compatible with a literal values in arms to the left of the arm that is used to determine affinity. (Closed-Leaf check-in: bbdf22e3d9 user: drh tags: compound-subquery-affinity) | |
16:55 | Back out the previous change on this branch. In its place: Determine the affinity of a subquery by the left-most arm of the subquery that has an affinity other than NONE. In other words, scan from left to right looking for an arm of the compound subquery with an affinity of BLOB, TEXT, INTEGER, or REAL and pick the first one found. Or stay with NONE if no arm has a defined affinity. Test cases added. (check-in: b8ec8511b1 user: drh tags: compound-subquery-affinity) | |
06:52 | wasm: add a makefile comment about the static sqlite3.h/c version info injected into the JS files possibly differing from the runtime-emited version info when a user provides their own sqlite3.c. (check-in: d99a01a0f6 user: stephan tags: trunk) | |
2024-04-24
| ||
19:49 | An experimental minor tweak to the way affinities are computed for compound subqueries, when the actual affinity is ambiguous. (check-in: 779723ad79 user: drh tags: compound-subquery-affinity) | |
16:36 | If a RETURNING clause contains a subquery that references the table that is being updated in the statement that includes the RETURNING clause, then mark the subquery as correlated so that it is recomputed for each result and not just computed once and reused. See forum post 2c83569ce8945d39. (check-in: 9ea6bcc8fd user: drh tags: trunk) | |
14:18 | Fix a case where a corrupt stat4 record could go unrecognized due to integer overflow. (check-in: 240a4a48b2 user: dan tags: trunk) | |
11:51 | Add comments linking the assert() added in [cef4d9e3ba586735] to the places where the precondition that the assert() tests are actually required. (check-in: 6f0e7e1952 user: drh tags: trunk) | |
11:40 | Avoid slowdown when exprNodeIsConstant() is called on deeply nested SQL functions. (check-in: 1c0b034545 user: dan tags: trunk) | |
11:21 | Ensure that temporary SrcItem objects created by trigger processing have either SrcItem.zName or SrcItem.pSelect defined. Every SrcItem should have one or the other. (check-in: cef4d9e3ba user: drh tags: trunk) | |
06:43 | Remove an undocumented feature from the JS Worker1.open API because it relies on broken behavior which has no VFS-agnostic workaround. (check-in: 3a640038c7 user: stephan tags: trunk) | |
2024-04-23
| ||
12:02 | Fix a problem with vector IN operators used with an index where the affinities and collations for the various vector terms are different. (check-in: 86e8c782e7 user: drh tags: trunk) | |
11:56 | Fix an uninitialized variable problem in the new code on this branch. (Closed-Leaf check-in: 85625b3871 user: dan tags: vector-in-fix) | |
06:49 | Remove some dead WASM-side code. (check-in: 0a07ee27bd user: stephan tags: trunk) | |
06:36 | Minor touchups in JS docs and exception messages. (check-in: 9e7fc9370d user: stephan tags: trunk) | |
05:38 | When running the 'dist' target in ext/wasm for an SEE-capable build, ensure that the resulting zip file and directory name include '-see'. (check-in: 04c552b12e user: stephan tags: trunk) | |
2024-04-22
| ||
20:09 | Add extra tests for aborting conflicts in the sessions module. (check-in: b4a6d32662 user: dan tags: trunk) | |
17:03 | Minor cleanups to [8fbda563d2f5]. (check-in: 5ee2594b65 user: stephan tags: trunk) | |
16:46 | Extend the JS/WASM SEE build support by (A) filtering SEE-related bits out of the JS when not building with SEE and (B) accepting an optional key/textkey/hexkey option to the sqlite3.oo1.DB and subclass constructors to create/open SEE-encrypted databases with. Demonstrate SEE in the test app using the kvvfs. This obviates the changes made in [5c505ee8a7]. (check-in: 8fbda563d2 user: stephan tags: trunk) | |
13:31 | Extra robustness in the code that causes cursors to return NULL when they are participating in an OUTER JOIN. (check-in: 672c2869ef user: drh tags: trunk) | |
11:48 | For sqlite3.oo1.DB JavaScript classes, bypass execution of any on-open() SQL in SEE-capable builds because it would necessarily run before the client has an opportunity to provide their decryption key, which would leave the db handle in an unusable state and cause the ctor to throw. This currently affects only the OPFS VFSes. We may want to consider extending the ctor options object to optionally accept an SEE key and apply it when opening the db. (check-in: 5c505ee8a7 user: stephan tags: trunk) | |
00:42 | Continuation of the fix at [8c0f69e0e4ae0a44]: If a viaCoroutine FROM clause term is participating in a RIGHT or FULL JOIN, we have to create an always-NULL pseudo-cursor for that term when processing the RIGHT join. dbsqlfuzz 6fd1ff3a64bef4a6c092e8d757548e95698b0df5. (check-in: e1040e51eb user: drh tags: trunk) | |
2024-04-21
| ||
23:35 | Fix an indentation problem in debugging routine sqlite3ShowSrcList(). No changes to production code. (check-in: 5560df2726 user: drh tags: trunk) | |
2024-04-20
| ||
19:19 | Slight performance improvement for the new code on this branch. (check-in: 500c67f134 user: dan tags: vector-in-fix) | |
15:14 | Fix a problem where an expression like (a, b) IN (SELECT ...) might not use an index on (a, b) if the affinities and collation sequences of "a" and "b" are not identical. (check-in: 4d870fd8b5 user: dan tags: vector-in-fix) | |
2024-04-18
| ||
16:11 | Correct handling of OUTER JOIN when on or the other operand is a subquery implemented using the VALUES-as-coroutine optimization. dbsqlfuzz bde3bf80aedf25afa56e2997a0545a314765d3f8. (check-in: 8c0f69e0e4 user: drh tags: trunk) | |
2024-04-17
| ||
19:48 | Prevent tokenize-blobs from being used with non-contentless tables. Fix some other issues with the new code on this branch. (Leaf check-in: 6a640ea4d8 user: dan tags: fts5-tokenize-blob) | |
2024-04-16
| ||
14:23 | Add some tests for the fts5 tokenize-blob functionality on this branch. (check-in: c2f9d1259c user: dan tags: fts5-tokenize-blob) | |
2024-04-15
| ||
20:43 | The first assert() added in [0ebc65481f4a3e79] is not necessarily true in a corrupt database file. So add a term to make it true. (check-in: 6b21cccdee user: drh tags: trunk) | |
20:24 | Add experimental way to specify an alternative tokenizer when writing to or querying an fts5 table. (check-in: 6c51c9c6a8 user: dan tags: fts5-tokenize-blob) | |
14:39 | Merge the latest trunk enhancements into the wal2 branch. (check-in: 4a72acbc4b user: drh tags: wal2) | |
2024-04-12
| ||
18:46 | If a build fails in testrunner.tcl, do not attempt to run the jobs that depend on that build. Instead, report those jobs as having been skipped. (check-in: b40580be71 user: drh tags: trunk) | |
15:02 | Fixes and new tests logic to ensure that the btree overflow page cache is only used when it is consistent. This resolves the malfunction observed in forum post 284955a3cd454a15. (check-in: 5dede50d9e user: drh tags: trunk) | |
13:05 | Add assert() statements to help verify the overflow page cache. (Closed-Leaf check-in: 0ebc65481f user: drh tags: btree-ovfl-cache) | |
12:32 | New assert() statements to verify the correctness of the BTCF_AtLast flag on btree cursors. (check-in: 4efecd6167 user: drh tags: btree-ovfl-cache) | |
11:28 | Test case for the fix in the previous check-in. (check-in: 0cf4d835da user: drh tags: btree-ovfl-cache) | |
02:57 | Mark the BTree cell overflow cache as invalid whenever the rowid goes invalid. (check-in: 74c9e19c92 user: drh tags: btree-ovfl-cache) | |
2024-04-11
| ||
19:08 | Fix handling of the SQLITE_OMIT_WAL check in one place. Resolves forum post 87cc13302de160eb. (check-in: 5dae6e6df4 user: stephan tags: trunk) | |
2024-04-09
| ||
19:23 | Fix a "shift exponent is too large" usan error that could occur in the fts3 snippet() function when a query phrase contains more than 64 tokens. (check-in: 6d2c7ac4ec user: dan tags: trunk) | |
15:09 | Avoid some performance problems in the recover extension when recovering strategically corrupted databases. (check-in: e66a834bba user: dan tags: trunk) | |
13:57 | The read-only CHECK-constraint optimization of [34ddf02d3d21151b] inhibits the xfer optimization for tables with CHECK constraints. However, the xfer optimization is required for correct operation of VACUUM INTO on tables that contain generated columns. Fix this by ignoring CHECK constraints when qualifying the xfer optimization while running VACUUM. Problem reported by forum post 3ec177d68fe7fa2c. (check-in: a6e26e7788 user: drh tags: trunk) | |
2024-04-08
| ||
17:55 | Update tests in returning1.test to account for [c7896e88]. (check-in: c02956cd5c user: dan tags: trunk) | |
11:57 | Merge the latest trunk enhancements into the wal2 branch. (check-in: 59ccea7db7 user: drh tags: wal2) | |
11:50 | Enhance the WHERE-clause push-down optimization so that it is able to push down WHERE clause terms that contain uncorrelated subqueries. (check-in: 69ec714b2d user: drh tags: trunk) | |
11:45 | Fix a harmless compiler warning in the ICU extension due to [acddbc489d5231da]. (check-in: 3d8750e885 user: drh tags: trunk) | |
06:37 | Enhancements to the fuzzer invariant checker to turn optimizations on and off. (Closed-Leaf check-in: 6759448137 user: drh tags: pushdown-subquery) | |
2024-04-07
| ||
18:55 | Merge trunk testing enhancements into the pushdown-subquery branch. (check-in: 287ff24b26 user: drh tags: pushdown-subquery) | |
18:36 | Omit all rowid-in-view restrictions from the fuzzinvariant.c test module as they are no longer necessary, as of the previous check-in. (check-in: 6431538f0b user: drh tags: trunk) | |
18:23 | If SQLITE_ALLOW_ROWID_IN_VIEW is set to 2, then all rowids for views return a value of NULL. (check-in: 0a53dde214 user: drh tags: trunk) | |
10:30 | Merge trunk enhancements into the pushdown-subquery branch. (check-in: 27865e316f user: drh tags: pushdown-subquery) | |
10:27 | Add comments to note the name abiguity between the MySQL push-down optimization and the WHERE-clause push-down optimization. (check-in: 3d5fb1ec7a user: drh tags: trunk) | |
2024-04-06
| ||
23:09 | Add comments to note the name abiguity between the MySQL push-down optimization and the WHERE-clause push-down optimization. (Leaf check-in: 681dfe2dd6 user: drh tags: wrong-branch) | |
18:30 | Do not allow changes to sqlite3ExprIsTableConstant() that support pushdown of subqueries interfere with the hash-join logic. (check-in: 8682931f9c user: drh tags: pushdown-subquery) | |
17:42 | Merge testing logic fixes on trunk into the pushdown-subquery branch. (check-in: a4e1f03dca user: drh tags: pushdown-subquery) | |
17:37 | Improvements to the accurancy of the fuzzinvariants.c testing module when SQLITE_ALLOW_ROWID_IN_VIEW is defined and the test query involves rowids. (check-in: c6e873d4db user: drh tags: trunk) | |
12:19 | Generalize pushdown to allow any uncorrelated subquery to be pushed down. (check-in: 87c45fb0d5 user: drh tags: pushdown-subquery) | |
11:59 | Generalize the pushdown of IN right-hand sides to cover more SELECTs. (Closed-Leaf check-in: 4120bc740a user: drh tags: pushdown-IN-table) | |
2024-04-05
| ||
20:01 | Experimental enhancement in which expressions of the form "expr IN table" can be pushed down into subexpressions. (check-in: 2cbd7838fd user: drh tags: pushdown-IN-table) | |
15:04 | Merge all recent trunk enhancements into the reuse-schema branch. (check-in: e556f3d381 user: drh tags: reuse-schema) | |
14:50 | Merge the latest trunk enhancements into the wal2 branch. (check-in: a8a8a2db9b user: drh tags: wal2) | |
13:56 | Check-in [a9657c87c53c1922] is wrong: the IndexedExpr.bMaybeNullRow flag is required for virtual columns if they are part of an outer join. Add a test case (derived from dbsqlfuzz b9e65e2f110df998f1306571fae7af6c01e4d92b) to prove it. (check-in: 4484ec6d26 user: drh tags: trunk) | |
11:23 | When compiling with SQLITE_ALLOW_ROWID_IN_VIEW, if the RETURNING clause of an UPDATE of a view specifies a rowid, then return NULL for the value of that rowid. dbsqlfuzz 7863696e9e5ec10b29bcf5ab2681cd6c82a78a4a. (check-in: c7896e8885 user: drh tags: trunk) | |
2024-04-04
| ||
22:53 | Optimize sqlite3.oo1.DB.exec() for the rowMode='object' case to avoid converting the object property keys (column names) from native code to JS for each row. This speeds up large data sets considerably and addresses the report in forum post 3632183d2470617d. (check-in: 8b41ef8690 user: stephan tags: trunk) | |
14:26 | Add the "interstage-heuristic" that attempts to avoid wildly inefficient queries that use table scans instead of index lookups because the output row estimates are inaccurate. (check-in: 7bf49e2c54 user: drh tags: trunk) | |
13:36 | Fix an ASAN problem in part of the test harness. No changes to SQLite itself. (check-in: 797cda7ddc user: drh tags: trunk) | |
13:07 | Fix test cases due to an error message change. (check-in: c49ec239ed user: drh tags: trunk) | |
12:36 | Fix exception propagation when the opfs-sahpool VFS fails to initialize to address report in forum post be0141c639. (check-in: cdb3a90055 user: stephan tags: trunk) | |
2024-04-02
| ||
21:55 | Add an optional 3rd argument to the icu_load_collation() function that specifies the "strength" of the comparison. (check-in: acddbc489d user: drh tags: trunk) | |
14:12 | Fix typos in comments. Provided ".wheretrace" debugging output for the interstage heuristic module. Do omit automatic index loops in the interstage heuristic. (Closed-Leaf check-in: 186dcae19e user: drh tags: interstage-heuristic) | |
11:44 | Add a heuristic in between the two solver() passes of the query planner that tries to prevent a very slow query plan in cases where the output row count estimate is imprecise. (check-in: 8018417b01 user: drh tags: interstage-heuristic) | |
2024-04-01
| ||
15:38 | Improved comments in the query planner logic that computes the cost for a particular step in a query plan. No code changes. (check-in: 0b2ac2cdc7 user: drh tags: trunk) | |
2024-03-30
| ||
14:11 | Make explicit that sqlite3_keyword_name()'s index is 0-based, per forum request. Doc changes only. (check-in: 090943dc31 user: stephan tags: trunk) | |
2024-03-28
| ||
10:58 | Document that the order of an update hook call is unspecied vis-a-vis the final result of the operation which triggers that hook. Doc changes only. (check-in: 3d4b1f0791 user: stephan tags: trunk) | |
2024-03-27
| ||
20:34 | Update comments in fts5.h. (check-in: 862945d5c4 user: dan tags: trunk) | |
2024-03-26
| ||
18:07 | Add extra tests to vtabL.test. (check-in: fe209099f5 user: dan tags: trunk) | |
11:14 | Avoid expanding integer values in columns with real affinity to the full 8-byte representation when editing records as part of a DROP COLUMN command. (check-in: a49296de00 user: dan tags: trunk) | |
10:48 | Merge all recent trunk enhancements into the reuse-schema branch. (check-in: e469b02205 user: drh tags: reuse-schema) | |
10:42 | Merge all recent trunk enhancements into the wal2 branch. (check-in: c2139d8263 user: drh tags: wal2) | |
2024-03-25
| ||
20:35 | The RAISE() operator is not a constant expression and cannot participate in the VALUE-as-coroutine optimization. dbsqlfuzz 74cf7c9904360322a6c917e4934b127543d1cd51 (check-in: 6a06dc7384 user: drh tags: trunk) | |
20:00 | Add further tests for sqlite3_declare_vtab(). (check-in: f3c4433f6b user: dan tags: trunk) | |
19:31 | Simplifications to the sqlite3_declare_vtab() implementation. Changes some conditionals into assert() statements, for coverage. (check-in: ff7b898a6f user: drh tags: trunk) | |
18:30 | Fix a theoretical OOB memory access in sqlite3_stmt_scanstatus_v2(). (check-in: 87be958074 user: dan tags: trunk) | |
18:24 | Revert the previous change. Instead, do a pre-check of the CREATE TABLE statement that is the second argument to sqlite3_declare_vtab() and if the first two keywords are not "CREATE" and "TABLE", then raise an SQLITE_MISUSE error. (check-in: 6a2ff83512 user: drh tags: trunk) | |
17:43 | Remove an ALWAYS() from a condition that can be true. (check-in: 715fcf033a user: drh tags: trunk) | |
14:44 | Fix an inaccuracy in automatic indexes that was exposed by the fix at [80c4223098c1827f]. (check-in: fdc9406f1c user: drh tags: trunk) | |
13:18 | Fix the pragma4.test script so that it works with SQLITE_OMIT_VIRTUALTABLE. (check-in: f8fe6fb69c user: drh tags: trunk) | |
12:28 | Fix recent test case changes so that they also work on Windows. (check-in: 38578b5af2 user: drh tags: trunk) | |
11:34 | Use the SQLITE_CONSTRAINT return value from xBestIndex to prohibit bad query plans in the pragma virtual table. (check-in: b1259d4448 user: drh tags: trunk) | |
10:55 | Improvements to the vtablog.c extension: Eliminate memory leaks. More diagnostic output for xBestIndex. (check-in: 92e9a71bc4 user: drh tags: trunk) | |
10:28 | Flag sqlite3_trace() and sqlite3_profile() as deprecated so that the doc generator for funclist.html sees them as such, and add 'Deprecated' to their page's title for consistency with other deprecated APIs. Comment changes only. Addresses forum post 0901025836. (check-in: 87c54f93f5 user: stephan tags: trunk) | |
00:38 | Improvements to the vtablog.c extension, for better logging of virtual table interactions. (check-in: e253bb36a5 user: drh tags: trunk) | |
2024-03-24
| ||
21:10 | Fix the xBestIndex method of the pragma virtual table so that it correctly gives a higher cost to plans where the schema hidden parameter is unconstrained. Fix for the problem reported by forum post 85b6a8b6705fb77a. (check-in: bc516ff520 user: drh tags: trunk) | |
20:26 | Improved "wheretrace" debugging output for calls to xBestIndex. No changes to release code. (check-in: 33966bb06c user: drh tags: trunk) | |
16:33 | Do not automatically assume that ROWID is NOT NULL when compiled with SQLITE_ALLOW_ROWID_IN_VIEW. dbsqlfuzz 31b38eeb63a4e1562de665078f52b7b47a7543cf (check-in: 80c4223098 user: drh tags: trunk) | |
2024-03-23
| ||
15:17 | Fix an adverse interaction between CREATE TABLE AS and the new VALUES-as-coroutine optimization. dbsqlfuzz c2c5e7e08b7e489d270a26d895077a03f678c33b (check-in: 84b6fdea0b user: drh tags: trunk) | |
2024-03-22
| ||
10:32 | Fix incorrect boundary assert()s on the new OP_IfSizeBetween opcode. (check-in: 8eda4797c5 user: drh tags: trunk) | |
2024-03-21
| ||
22:18 | Test case for the assert() problem fixed by [9ba3cff9d48fe8fc]. (check-in: 865f0de7a1 user: drh tags: trunk) | |
15:52 | Add comments (only, no code) to the JS sqlite3_config() bindings reminding us why SQLITE_CONFIG_ROWID_IN_VIEW is specifically not included. JNI does not need this treatment because it explicitly supports only a very small subset of config options. (check-in: 4fea396221 user: stephan tags: trunk) | |
11:46 | Enhancements to testrunner.tcl: (1) Add the "--config CONFIGS" option, to that only configuration named on the comma-separated list CONFIGS are run. (2) Add the "--omit CONFIGS" to omit configuration on the CONFIGS list (3) Add the Android configuration to "release" (check-in: 4ccb372967 user: drh tags: trunk) | |
11:37 | Have os_unix.c reuse cached file-descriptors in the case when a read-write fd is requested on a read-only file and a read-only fd returned. (check-in: a678e85402 user: dan tags: trunk) | |
10:35 | Fix all test cases so that they work with SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: 66c69e2f20 user: drh tags: trunk) | |
2024-03-20
| ||
16:56 | Change EXPLAIN QUERY PLAN output to say "USE TEMP B-TREE FOR LAST TERM OF ORDER BY", or "LAST N TERMS OF ORDER BY", instead of "RIGHT PART OF ORDER BY". (check-in: 7e13a2c758 user: dan tags: trunk) | |
16:27 | Change EXPLAIN QUERY PLAN output to say "USE TEMP B-TREE FOR LAST TERM OF ORDER BY", or "LAST N TERMS OF ORDER BY", instead of "RIGHT PART OF ORDER BY". (Closed-Leaf check-in: cd547c5004 user: dan tags: eqp-orderby) | |
10:45 | Fix the SQLITE_ALLOW_ROWID_IN_VIEW bug-compatibility option so that it works again. Add the SQLITE_CONFIG_ROWID_IN_VIEW sqlite3_config() value to optionally disable the bug-compatibility mode at start-time. Enable testing of SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: b6802565df user: drh tags: trunk) | |
10:40 | Fix a typo in a comment. (Closed-Leaf check-in: 54680d0fbe user: drh tags: rowid-in-view) | |
09:45 | Fix typos in the SQLITE_CONFIG_ROWID_IN_VIEW documentation. (check-in: 1ad1ca4982 user: drh tags: rowid-in-view) | |
2024-03-19
| ||
23:01 | Change the SQLITE_CONFIG_NO_ROWID_IN_VIEW configuration option to be just SQLITE_CONFIG_ROWID_IN_VIEW (without the "_NO_" in the middle) and give it the ability to turn the option on and off. Otherwise, it is difficult to test. (check-in: 5d412edc2e user: drh tags: rowid-in-view) | |
19:56 | Return the error "ambiguous column name: rowid", instead of "no such column: rowid", when a "rowid" reference is ambiguous. (check-in: 0615bdae2d user: drh tags: rowid-in-view) | |
19:48 | Add the --no-rowid-in-view option to the --help output of the CLI. (check-in: 134da9c348 user: drh tags: rowid-in-view) | |
19:42 | Make sure the new u1.nRow value is copied when making a copy of a SrcItem object. This fixes a problem in [ac6f095e13e43d66] from yesterady. (check-in: 262f8f9d80 user: drh tags: trunk) | |
16:51 | Update test scripts to account for [8fcea4cd]. (check-in: 0c543c51a8 user: dan tags: rowid-in-view) | |
16:34 | In the name resolver when SQLITE_ALLOW_ROWID_IN_INDEX is enabled, if there are multiple views that might resolve to the "rowid" but only one real table, then use that one real table and ignore the views. (check-in: 8fcea4cdfc user: drh tags: rowid-in-view) | |
15:27 | Update tests to work with SQLITE_ALLOW_ROWID_IN_VIEW. (check-in: 495b8c7b08 user: dan tags: rowid-in-view) | |
14:55 | Return the error "ambiguous column name: rowid", instead of "no such column: rowid", when a "rowid" reference is ambiguous. (Closed-Leaf check-in: 021f34fcfe user: dan tags: ambiguous-rowid-error) | |
14:38 | Fix the fuzzinvariants.c test module so that it does not generate invariants that depend on rowid when SQLITE_ALLOW_ROWID_IN_VIEW is used, since rowid values can be unreliable in that context. (check-in: 0d711aaaa1 user: drh tags: rowid-in-view) | |
14:21 | Improvements to the first check-in on this branch, causing less collateral damage. (check-in: 7bc882897b user: drh tags: rowid-in-view) | |
13:55 | On second thought, change SQLITE_TESTCTRL_ROWID_IN_VIEW into a start-time option SQLITE_CONFIG_NO_ROWID_IN_VIEW. (check-in: b8e045c9e1 user: drh tags: rowid-in-view) | |
13:31 | When compiled with SQLITE_ALLOW_ROWID_IN_VIEW, rowid-in-view is on by default but can now be turned off using SQLITE_TESTCTRL_ROWID_IN_VIEW. Without the compile-time option, rowid-in-view is always off. (check-in: 8a6196ab29 user: drh tags: rowid-in-view) | |
10:41 | Adjustments to the test cases for the previous check-in to make them cross-platform Linux/Mac/Windows. Test changes only. No change to core code. (check-in: 0dddadbd5b user: drh tags: trunk) | |
10:16 | Fix another problem from [c63e26e705f5e967] involving infinities and the Kahan-Babushka-Neumaier summation algorithm. Problem reported by forum post 23b8688ef4. (check-in: 45d272ef38 user: drh tags: trunk) | |
02:30 | First steps toward getting -DSQLITE_ALLOW_ROWID_IN_VIEW to work again. That compile-time option is untested, undocumented, and unsupported. But it was mentioned in the release notes for version 3.36.0, so I think that means we need to support it forever. (check-in: 7c46ff6402 user: drh tags: rowid-in-view) | |
2024-03-18
| ||
21:08 | Fix asan problems in sqlite3rbu.c. Enable RBU for sanitizer release tests. (check-in: ad2ae7717e user: dan tags: trunk) | |
20:52 | Avoid spurious SQLITE_IOERR_DATA errors when reading partial pages from a cksumvfs database using a SQLITE_DIRECT_OVERFLOW_READ build. (check-in: 0f485dbece user: dan tags: trunk) | |
18:56 | Merge the latest trunk enhancements into the reuse-schema branch. (check-in: c2d4adabb9 user: drh tags: reuse-schema) | |
18:51 | Merge the latest trunk enhancements into the wal2 branch. (check-in: c0af1242d8 user: drh tags: wal2) | |
18:03 | Remove unnecessary blank lines from build commands in the default Makefile.in. (check-in: 76fb3a908f user: drh tags: trunk) | |
18:00 | Add the "VALUES-as-coroutine" optimization. Large VALUES clauses on an INSERT, for example, prepare and run in about half the time and with half the memory. This check-in also includes enhancements to the internal sqlite3ExprIsConstant() routine to recognize pure SQL functions as constant if they have constant arguments. (check-in: a120c9235f user: drh tags: trunk) | |
17:13 | Fix harmless compiler (scan-build) warnings. (Closed-Leaf check-in: c86f9f2a15 user: drh tags: exp-values-clause2) | |
16:30 | Allow the VALUES-as-coroutine optimization to be applied to later rows of a VALUES clause even if earlier rows do not qualify. (check-in: 9a47ea7f0f user: drh tags: exp-values-clause2) | |
15:10 | Change a test case to use a window function rather than random() to disable the VALUES clause optimization. (check-in: c589149a13 user: drh tags: exp-values-clause2) | |
13:31 | Add assert() statements to validate access to the SrcItem.u1.nRow union member. (check-in: 21f616d9b9 user: drh tags: exp-values-clause2) | |
13:10 | Fix the patch at [10ee6fcba08ab128] so that it works on reduced-size Expr nodes. (check-in: 260bd764c3 user: drh tags: exp-values-clause2) | |
12:49 | Improvements to EXPLAIN QUERY PLAN output for multi-row VALUES claues. (check-in: ac6f095e13 user: drh tags: exp-values-clause2) | |
11:12 | Ensure the database schema has been loaded and the database encoding gleaned before beginning to code a multi-row VALUES clause. (check-in: 2ff476eb3d user: dan tags: exp-values-clause2) | |
10:54 | Fix a problem caused by a non-aggregate function with an OVER clause in a multi-row VALUES clause. (check-in: 10ee6fcba0 user: dan tags: exp-values-clause2) | |
2024-03-17
| ||
16:01 | Omit the "noop(X)" test SQL function. Accomplish the same thing using the idiom: "coalesce(X,random())". (check-in: 0eb2fbb891 user: drh tags: exp-values-clause2) | |
00:13 | Add an ALWAYS on an unreachable branch. (check-in: 0dce621169 user: drh tags: exp-values-clause2) | |
2024-03-16
| ||
21:12 | Recognize when an SQL function is constant and can occur inside an optimized VALUES clause. (check-in: c0e5ceb87d user: drh tags: exp-values-clause2) | |
21:04 | Fix a assert() that is incorrect, though harmless. (Closed-Leaf check-in: 9ba3cff9d4 user: drh tags: enhanced-expr-is-const) | |
20:15 | Further expand the scope of usage for the enhacement to expr-is-constant. (check-in: d7eadcf7dd user: drh tags: enhanced-expr-is-const) | |
19:48 | Assert that the eCode is always non-zero upon entry into exprNodeIsConstant(). (check-in: f71b28f671 user: drh tags: enhanced-expr-is-const) | |
19:36 | Activate the enhanced constant-expression for the [constant propagation optimization](/info/f4229707ac08d66c). (check-in: 92afea3888 user: drh tags: enhanced-expr-is-const) | |
17:04 | Extend the scope expr-is-constant for function to cover the IN-to-EQ optimization. (check-in: dae669245c user: drh tags: enhanced-expr-is-const) | |
14:27 | Fix exprNodeIsConstantFunction() so that it returns WRC_Continue, not WRC_Abort, if the function really is constant. (check-in: d85dd4de2d user: dan tags: enhanced-expr-is-const) | |
13:18 | Enhance the sqlite3ExprIsConstant() function so that it recognizes constant functions. So far the enhancement only applies to the multi-row VALUES clause, but it could possibly be applied in many other places. (check-in: c9e0488c6c user: drh tags: enhanced-expr-is-const) | |
2024-03-15
| ||
17:57 | New options for testrunner.tcl: --stop-on-error and --stop-on-coredump. (check-in: 82035b9cfd user: drh tags: trunk) | |
17:04 | Fix (totally harmless) memory leaks in Lemon to avoid warnings during ASAN builds. (check-in: ce009205a8 user: drh tags: trunk) | |
13:16 | Tweaks to the func4.test test module (which tests the rarely used totype.c extension) so that it works on i586 compiled using gcc-13 with -O0. Details at forum post 0a7553b0f734c033. (check-in: d0fbe779bc user: drh tags: trunk) | |
12:59 | Attempt to use the Dekker high-precision floating point algorithm in the ext/misc/totype.c extension. This check-in should have been derived from trunk, not the exp-values-clause2 branch. But that's ok, because both trunk and the branch are the same in all aspects that relate to this check-in and this check-in is just parking the proposed enhancement for future consideration - it is not a serious proposal at this point. (Leaf check-in: dd41db3b10 user: drh tags: totype-dekker) | |
2024-03-14
| ||
20:39 | Fix testcase to account for new behaviors with this branch. (check-in: 823e579362 user: drh tags: exp-values-clause2) | |
19:31 | Fix a problem with ALTER TABLE and correlated multi-row VALUES clauses. (check-in: d543c829ef user: dan tags: exp-values-clause2) | |
19:01 | Fix a problem handling "INSERT INTO ... SELECT ... UNION VALUES(...), (...)" and similar statements. (check-in: e8a2a8198a user: dan tags: exp-values-clause2) | |
17:04 | Avoid some OP_SCopy instructions in "INSERT INTO .. VALUES" statements that insert more than one row in cases where the VALUES clause contains a value for all columns of the table. (check-in: 988f0ea70c user: dan tags: exp-values-clause2) | |
13:18 | JS: remove an unused function argument and some debug-related comments. No functional changes. (check-in: f15709430d user: stephan tags: trunk) | |
11:45 | Add further tests for VALUES clauses in various contexts. (check-in: 973d197d96 user: dan tags: exp-values-clause2) | |
2024-03-13
| ||
20:04 | Change the way parse.y handles multi-row VALUES clauses to save a few cycles. (check-in: 88d5bc91a5 user: dan tags: exp-values-clause2) | |
18:41 | Remove unreachable code from this branch. (check-in: 657c7b4f9d user: dan tags: exp-values-clause2) | |
17:55 | Merge the latest trunk enhancements into the wal2 branch. (check-in: 2b12da7234 user: drh tags: wal2) | |
17:33 | Fix some OOM handling problems on this branch. (check-in: 2085c7f12a user: dan tags: exp-values-clause2) | |
16:49 | Do not automatically activate SQLITE_ENABLE_SHARED_SCHEMA in the Makefile. Instead, enhance the mdevtest and sdevtest targets of testrunner.tcl to set that option sometimes and sometimes not. (check-in: 693b8f9307 user: drh tags: reuse-schema) | |
16:35 | Merge the testrunner.tcl enhancement from trunk. (check-in: da47151561 user: drh tags: reuse-schema) | |
16:32 | Minor change to the "mdevtest" and "sdevtest" in testrunner.tcl, to make it easier to add configurations in branches. (check-in: 9349d94e05 user: drh tags: trunk) | |
15:59 | Merge the latest trunk enhancements into the reuse-schema branch. Fix the reuse-schema build of the CLI so that it works again. (check-in: 70ef3784f6 user: drh tags: reuse-schema) | |
15:47 | Merge trunk into this branch. (check-in: 38635651f0 user: dan tags: exp-values-clause2) | |
15:44 | Ensure that if a multi-row VALUES cannot be coded while being parsed, the SF_MultiValue flag is correctly set. (check-in: 94791824a6 user: dan tags: exp-values-clause2) | |
15:34 | Avoid creating a co-routine incrementally for a VALUES clause that has affinities other than NONE. (check-in: 4229b12b32 user: dan tags: exp-values-clause2) | |
13:43 | If the NJOB environment variable is a positive integer, it causes testrunner.tcl to run that many jobs. (check-in: 924281b94d user: drh tags: trunk) | |
13:27 | Document the testrunner.tcl --explain option in doc/testrunner.md. (check-in: 5a7b5fc99a user: drh tags: trunk) | |
13:09 | Add the --explain option to testrunner.tcl. (check-in: f0c9eb0326 user: drh tags: trunk) | |
11:46 | Improve one of the error messages from testrunner.tcl. (check-in: 233155c174 user: drh tags: trunk) | |
11:29 | Minor tweaks to the testrunner documentation. (check-in: 3128b98d26 user: drh tags: trunk) | |
10:55 | Improvements to the "help" message generated by testrunner.tcl. Add the special "list" permutation that does nothing but list all allowed values for the PERMUTATION argument to testrunner.tcl. (check-in: 1f5bfc6a90 user: drh tags: trunk) | |
10:54 | Add pointer to documentation to testrunner.tcl help message. (check-in: eff855102f user: dan tags: trunk) | |
10:47 | Have testrunner.tcl set SQLITE_TMPDIR on windows as well. (check-in: 64f4dad1f9 user: dan tags: trunk) | |
00:37 | On testrunner.tcl: (1) Add the "help" command. (2) Add the "script" command to the help message. (3) Improve the error message generated by "script" when an incorrect CONFIG option is provided. (check-in: 1b7f0be440 user: drh tags: trunk) | |
2024-03-12
| ||
20:10 | Correctly initialize the SrcItem.iCursor field to -1 when creating a co-routine from a multi-values VALUES clause. (check-in: c32953ff6d user: dan tags: exp-values-clause2) | |
18:33 | Have testrunner.tcl have each test store its temp files in its working directory. To avoid unlikely, but possible, collisions. (check-in: 18842d0d72 user: dan tags: trunk) | |
18:04 | Have testrunner.tcl have each test store its temp files in its working directory. To avoid unlikely, but possible, collisions. (Closed-Leaf check-in: 775a10d10b user: dan tags: testrunner-tmpdir-fix) | |
2024-03-11
| ||
20:34 | Fix another testrunner.tcl problem on windows. (check-in: 7805844bc4 user: dan tags: trunk) | |
19:43 | Fix a missing brace problem in testrunner.tcl introduced by the previous commit. (check-in: 1f5e334d98 user: dan tags: trunk) | |
19:33 | Update mdevtest and sdevtest to do shell builds in parallel. And only if one or more of the tcl scripts run requires it. (check-in: 6eae4547d4 user: dan tags: trunk) | |
18:21 | Run shell*.test modules with "make mdevtest". (check-in: 76c4710618 user: drh tags: trunk) | |
17:27 | Attempt to reduce the memory used by VALUES clauses in as many statements as possible, not just INSERT. This branch still has problems. (check-in: 17d1f7cfab user: dan tags: exp-values-clause2) | |
11:24 | Fix the ".import" command in the CLI so that it works correctly with tables that contain computed columns. forum post ca014d7358. (check-in: 95a9c88b25 user: drh tags: trunk) | |
09:39 | Add more docs for the OPFS delete-before-open feature. (check-in: cb8d9c269c user: stephan tags: trunk) | |
09:34 | Add delete-before-open=1 URI flag to the 'opfs' VFS to tell it to xDelete the db file before opening it, primarily to enable users to work around a corrupt db without having to reach into OPFS-specific APIs to remove the db file. (check-in: e87cf0d770 user: stephan tags: trunk) | |
09:32 | Add delete-before-open=1 URI flag to the 'opfs' VFS to tell it to xDelete the db file before opening it, primarily to enable users to work around a corrupt db without having to reach into OPFS-specific APIs to remove the db file. (Closed-Leaf check-in: e83f978863 user: stephan tags: opfs-delete-before-open) | |
2024-03-09
| ||
18:41 | Fix the .expert command in the shell so that it does not leak memory if not followed by SQL and so that it works with reverse_unordered_selects. (check-in: 7ead022eda user: drh tags: trunk) | |
13:31 | Fuzzcheck is run automatically by testrunner.tcl, so there is no need to include fuzzcheck as a separate dependency for the releasetest target in the MSVC makefile. (check-in: 76629b2bff user: drh tags: trunk) | |
2024-03-08
| ||
21:37 | The NOT NULL strength reduction optimization from [de9c86c9e4cdb34f] should be applied to the WHERE clause only. Otherwise, the operand of the IS NULL or IS NOT NULL operator might be a reference to a bare column of an aggregate table, and we can't tell if it is NULL or not based only on its NOT NULL attribute. Forum post 440f2a2f17. (check-in: 51704feae2 user: drh tags: trunk) | |
19:03 | One of the assert()s added by the previous check-in was not quite correct. This commit fixes it. (check-in: d401358329 user: drh tags: trunk) | |
15:39 | Add new assert() statements, which if they had existed three years ago, would have detected the code generator problem fixed by the previous check-in. (check-in: 166d1e5d26 user: drh tags: trunk) | |
14:01 | Silently ignore redundant ON CONFLICT clauses in an UPSERT. Only the first ON CONFLICT for each index is active. Do not issue an error, since that might break legacy queries. But ignore the redundant ON CONFLICT clauses to prevent problems such as described in forum post 919c6579c8. (check-in: d0ea6b6ba6 user: drh tags: trunk) | |
13:49 | Omit some extra tests for the intck extension in OMIT_VIRTUAL_TABLE or OMIT_PRAGMA builds. (check-in: 29d9eb7d55 user: dan tags: trunk) | |
11:13 | Fix pragma6.test so that it works with ENABLE_OVERSIZE_CELL_CHECK builds. (check-in: a02551de4c user: dan tags: trunk) | |
11:08 | Do not run tests for the intck extension in OMIT_VIRTUAL_TABLE or OMIT_PRAGMA builds. (check-in: de8130c020 user: dan tags: trunk) | |
03:24 | Must use sqlite3IntFloatCompare() for accurate comparisons between very large integer and floating point values in RTREE. Otherwise the comparison does not work on all platforms. Further fix to [027e5336acc26f57]. (check-in: 820f106acf user: drh tags: trunk) | |
2024-03-07
| ||
19:29 | Introducing JS worker1 promiser v2, which initializes via Promise (instead of a callback function) and can be loaded as an ESM module. (check-in: 2fbaf2f51d user: stephan tags: trunk) | |
18:53 | Resolve duplicate loading of promiser v2 demo code (a side effect of having done precisely what it was told to do). Consolidate demo-worker1-promiser(-esm).html/(m)js variants into central copies processed with c-pp. (Closed-Leaf check-in: 9347d9b9a6 user: stephan tags: wasm-promiser1-v2) | |
18:47 | Improved error handling. (Leaf check-in: cf2d1ad036 user: drh tags: exp-values-clause) | |
17:56 | wasm promiser.v2 is essentially working but the demo code is double-loading the module for as-yet-undetermined reasons. (check-in: aa877ce0c3 user: stephan tags: wasm-promiser1-v2) | |
17:11 | Simplify the parser changes on this branch. (check-in: 89a6c7b527 user: dan tags: exp-values-clause) | |
16:25 | Merge all the latest trunk enhancements into the exp-values-clause branch. (check-in: c4923f266f user: drh tags: exp-values-clause) | |
16:04 | Initial work at getting sqlite3Worker1Promiser.v2() to return a Promise instead of using an onready() callback, and also creating an ESM build for promiser1 per user request. It seems to work but requires more testing. (check-in: 0e272123ac user: stephan tags: wasm-promiser1-v2) | |
15:58 | Fix harmless compiler warnings in test code for the intck extension. (check-in: 7fbdc1a849 user: drh tags: trunk) | |
15:44 | Add further tests for the code on this branch. (check-in: 5d8065e801 user: dan tags: exp-values-clause) | |
12:34 | Do not allow the query planner to be tricked into thinking that an index on a constant expression might be useful for something. Problem reported on forum post ecdfc02339. This is a follow-up to the fixes at [44200596aa943963] and [2d2b91cc0f6fed8c]. (check-in: 720ce06d93 user: drh tags: trunk) | |
2024-03-06
| ||
20:49 | Add the json_pretty() SQL function. (check-in: ceb51c1cc3 user: drh tags: trunk) | |
20:38 | Add test cases for json_pretty(). (Closed-Leaf check-in: 6448b90708 user: drh tags: json-pretty) | |
20:34 | Avoid making too many calls to sqlite3Select/sqlite3WhereBegin() when processing large VALUES clauses. (check-in: 356158c192 user: dan tags: exp-values-clause) | |
20:24 | Work around obscure floating point issue seen with older versions of MSVC. (check-in: 42d39f9140 user: mistachkin tags: trunk) | |
14:55 | Handle VALUES clauses having different number of values in different rows. Also the case where SQLITE_LIMIT_COMPOUND_SELECT is set to 0. (check-in: f5074b29d9 user: dan tags: exp-values-clause) | |
14:42 | Add a couple of json_pretty() examples to /fiddle. (check-in: d5e1687b1d user: stephan tags: json-pretty) | |
14:30 | Add the json_pretty(J) function for pretty-printing of JSON. An optional 2nd argument is text used for indentation, with a default value being four spaces. (check-in: 39552bd36c user: drh tags: json-pretty) | |
12:28 | Correction to the previous check-in. (check-in: 483fa2969e user: drh tags: trunk) | |
11:35 | Fix handling of "id=?" corner cases in rtree when the value on the RHS is a real value. Problem reported by forum post 1bb055be17. (check-in: 027e5336ac user: dan tags: trunk) | |
08:45 | Wasm build tweaks to attempt to get the node.js-for-node.js build to use Emscripten's nodefs filesystem driver for persistent storage. This is completely untested - validating it requires a nodeist. (Closed-Leaf check-in: 0bcbde7c54 user: stephan tags: wasm-nodefs) | |
2024-03-05
| ||
20:33 | Add comments for the new code on this branch. (check-in: 551caba93b user: dan tags: exp-values-clause) | |
18:41 | Remove code that added a P4 parameter to the OP_Variable opcode. This is no longer required. (check-in: dd5977c9a8 user: dan tags: trunk) | |
18:03 | Merge trunk changes into this branch. (check-in: a003fffafd user: dan tags: exp-values-clause) | |
17:48 | Fix a problem with large values clauses and named variables. (check-in: 4784a92e56 user: dan tags: exp-values-clause) | |
17:33 | Reformulate [34439fe3aeea7cbb] slightly to resolve a false-positive OOM reported in forum post 2eadfe94e3. (check-in: 8290646792 user: stephan tags: trunk) | |
17:23 | Simplify changes on this branch by avoiding any special handling until SQLITE_LIMIT_COMPOUND_SELECT rows are reached. (check-in: 9cbceaac8f user: dan tags: exp-values-clause) | |
16:47 | The value returned by the json_each.json field needs to survive longer than the json_each virtual table itself, in the event that the value is used in an aggregate expression. dbsqlfuzz 5120bd0b3bb0b73eebbcb79ac37c6b0663fccad6 (check-in: 952ed71b9b user: drh tags: trunk) | |
12:48 | /fiddle: reorder/replace example entries to make them more coherent when tried in order and clear the example selection list when the input area is cleared, both based on forum feedback. (check-in: b4ce270b3f user: stephan tags: trunk) | |
08:48 | /fiddle 'Mandlebrot' typo fix reported in the forum. (check-in: ceefe6ba38 user: stephan tags: trunk) | |
07:55 | Update fiddle.make to account for Makefile changes in [178b7d46f9]. (check-in: 7a5d810549 user: stephan tags: trunk) | |
06:31 | /fiddle: before resetting a db, roll back any transactions (resolves problem reported in forum post 0b41a25d65) and remove an obsolete/broken reference to a long-gone API which could cause initialization to fail prematurely. (check-in: ee164ca73c user: stephan tags: trunk) | |
2024-03-04
| ||
18:50 | Fix some problems with "VALUES(...) UNION ..." and similar on this branch. (check-in: 5d6797716d user: dan tags: exp-values-clause) | |
18:22 | Fix a compiler warning in date.c. Update makefiles to include all necessary dependencies for building shell.c. (check-in: 178b7d46f9 user: drh tags: trunk) | |
18:02 | The ability to DROP multiple tables (or views or indexes or triggers) at once, as implemented by this branch, appears to work. However, this branch adds over 1000 bytes to the code footprint. And the changes is significant, adding risk. The benefit of being able to drop multiple tables in a single statement is not seen to be enough to overcome those downsides, and so there are no immediate plans to merge this branch. (Leaf check-in: 1a49788afd user: drh tags: multi-drop) | |
16:44 | Change test results in corruptC.test to account for the added detail in the output of "PRAGMA integrity_check" from [b736519d3d2e93c7]. (check-in: 0d19eeaafb user: drh tags: trunk) | |
16:18 | Fix harmless compiler warnings in the increment integrity_check extension. (check-in: 596668e662 user: drh tags: trunk) | |
13:58 | Adjust date/time functions so that they do a better job of keeping track of whether the current time is UTC or localtime, and no-op the 'utc' and 'localtime' modifiers accordingly. See forum post e7a939e074. Also add the datedebug() function, available only under -DSQLITE_DEBUG, for improved visibility of the DateTime object during debugging and testing. (check-in: dc56968374 user: drh tags: trunk) | |
11:12 | Fix assert() statements in date/time computations: The month and day numbers can be zero if an error has been seen. (check-in: fc773f6c76 user: drh tags: trunk) | |
09:56 | Document why the wasm build does not use Emscripten's -sSTRICT=1 flag and account for a behaviour change in emsdk 3.1.55 regarding the HEAPxyz symbols. (check-in: f6e8872033 user: stephan tags: trunk) | |
09:23 | When warning about multiple invocations of JS's sqlite3ApiBootstrap(), use the warning logger installed by the first invocation, rather than console.warn. (check-in: d162af2d99 user: stephan tags: trunk) | |
06:54 | After wasm bootstrapping has read the optional global-scope config objects, delete those objects because any further changes would not have any useful effect. Expand the docs regarding the sqlite3ApiBootstrap() config object and explain the necessary evil of a separate global-scope object for that configuration. (check-in: e6b14f7313 user: stephan tags: trunk) | |
2024-03-03
| ||
20:15 | Back out the previous change. Replace it with new date modifiers "ceiling" and "floor". (check-in: f0831cced2 user: drh tags: trunk) | |
2024-03-02
| ||
21:02 | New date/time modifiers "mnth" and "yr" work like "month" and "year" but resolve day-of-month overflow by truncating rather than rolling over into the next month. Forum thread 232d1abb5d (check-in: 5d392c16bb user: drh tags: trunk) | |
20:50 | Change the magic time-interval names that do truncate-to-same-month to be "mnth" and "yr" - "month" and "year" without the vowels. (Closed-Leaf check-in: 296b46c529 user: drh tags: month-truncate) | |
20:39 | Attempt to use less memory when handling a large VALUES clause attached to an INSERT statement. This branch is buggy. (check-in: 6d4f1ae2fc user: dan tags: exp-values-clause) | |
13:38 | Proof-of-concept for new time-interval operator "pg-month" and "pg-year" that use the truncate-to-month algorithm for month overflow instead of the wrap-to-next-month algorithm that is used by SQLite by default. (check-in: b606c09657 user: drh tags: month-truncate) | |
12:17 | Remove an unused line of code. (check-in: 2627259069 user: drh tags: multi-drop) | |
11:02 | Simplifications to multi-DROP logic. (check-in: e70d6be751 user: drh tags: multi-drop) | |
00:29 | Improved rebustness against OOM and corruption. (check-in: 3992f45033 user: drh tags: multi-drop) | |
2024-03-01
| ||
22:42 | When doing DROP TABLE or DROP INDEX, use a heap to ensure that the various btrees are dropped in the right order for autovacuum. (check-in: e5bf9556ff user: drh tags: multi-drop) | |
19:08 | RTREE uses multi-DROP to erase shadow tables. (check-in: cf8a58d679 user: drh tags: multi-drop) | |
18:05 | Omit unreachable branches in the parser. (check-in: 90de1f73f9 user: drh tags: multi-drop) | |
15:56 | Fix harmless compiler warning. (check-in: 33d3bb848b user: drh tags: multi-drop) | |
14:47 | Improved handling of foreign-key constraints on a multi-drop of tables. (check-in: 144e332f44 user: drh tags: multi-drop) | |
12:21 | When doing a multi-drop, delete btrees beginning with the largest root page first and working toward smaller root pages, to avoid problems with root page renumbering due to autovacuum. (check-in: 37d4c5e207 user: drh tags: multi-drop) | |
2024-02-29
| ||
19:40 | Attempt to fix multi-object DROP. Working better, but still not perfect. (check-in: 02f9fc73ee user: drh tags: multi-drop) | |
13:44 | Add the ability to DROP one or more objects of the same class in a single statement by listing the objects as multiple arguments to the DROP command. (check-in: 2266086cf0 user: drh tags: multi-drop) | |
10:55 | Fix two -Werror=lto-type-mismatch warnings reported in forum post ef62b57bd5. (check-in: 803481f250 user: stephan tags: trunk) | |
03:45 | Fix two -Werror=lto-type-mismatch warnings reported in forum post ef62b57bd5. (Closed-Leaf check-in: 29f94610dc user: stephan tags: lto-type-mismatch) | |
2024-02-28
| ||
19:44 | Put NEVER() on a branch in STAT4 that appears to be unreachable. (Closed-Leaf check-in: 0ca35e9278 user: drh tags: mistake) | |
15:32 | Add in a VdbeCoverage() macro needed by STAT4 that should have been part of check-in [63ef234e88857a65]. (check-in: d51c699ae4 user: drh tags: trunk) | |
01:12 | Always convert 32-bit integer literals into EP_IntValue notation, even if they contain "_" separators. (check-in: 2dfc427f67 user: drh tags: trunk) | |
2024-02-27
| ||
20:19 | Fix an eputf() macro without its argument in the CLI. (check-in: c2f5e257d2 user: drh tags: trunk) | |
19:57 | Add an assert() to help scan-build recognize that a variable is initialized. (check-in: 10d26f1ee8 user: drh tags: trunk) | |
16:36 | Adjust a VdbeCoverage() macro in PRAGMA integrity_check to account for the fact that arguments to the OP_Eq opcode used are never NULL. (check-in: 759ccea3f6 user: drh tags: trunk) | |
16:25 | Adjust a VdbeCoverage() macro in PRAGMA integrity_check to account for the fact that arguments to the OP_Eq opcode used are never NULL. (Closed-Leaf check-in: 8c788fc4b2 user: drh tags: wrong-branch) | |
15:56 |
| |
15:33 | Remove unreachable branches from the PRAGMA integrity_check enhancement of [b736519d3d2e93c7]. (check-in: 6d02fb233f user: drh tags: trunk) | |
14:31 | Ensure memory cells are properly freed before they are overwritten by OP_IntegrityCk. (check-in: e50acaf934 user: dan tags: trunk) | |
11:03 | Have "PRAGMA quick_check" compare the number of entries in tables and indexes. (check-in: b736519d3d user: dan tags: trunk) | |
2024-02-02
| ||
16:51 | Have "PRAGMA quick_check" compare the number of entries in tables and indexes. (Closed-Leaf check-in: cc294c041b user: dan tags: quick-check-counts) | |