SQLite

Timeline
Login

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

565 check-ins using file src/wherecode.c version 5172d64779

2025-01-10
18:03
Update log messages on this branch to say "v=22". Also add log message to slow calls to sqlite3_schema_copy(). (Leaf check-in: b0cd8dfcf9 user: dan tags: cf8f1552-commit-instr)
17:36
Add the experimental sqlite3_schema_copy() API, for copying schemas between database handles. (check-in: 04ea435d24 user: dan tags: cf8f1552-commit-instr)
17:09
Minor updates to schemacopy.test. (Closed-Leaf check-in: 1d544b535f user: dan tags: schema-copy)
15:10
Allow ".testctrl schemacopy 1" in the shell tool on this branch. For testing sqlite3_schema_copy(). (check-in: 1edc2e5590 user: dan tags: schema-copy)
11:34
Update test script wal2big2.test to be less sensitive to PRNG output. (check-in: 2a5e7c5cd6 user: dan tags: schema-copy)
2025-01-09
20:41
Run tests with SQLITE_TESTCTRL_SCHEMACOPY for mdevtest and sdevtest on this branch. (check-in: c25dd2dec5 user: dan tags: schema-copy)
19:18
Rationalize and add comments to new code on this branch. (check-in: e1603c9cda user: dan tags: schema-copy)
17:12
Fix minor issues on this branch. Remove unused code. (check-in: c2610bb4be user: dan tags: schema-copy)
2025-01-08
17:16
Fix problem in test code on this branch. (check-in: 05d90f8b28 user: dan tags: schema-copy)
10:55
Ensure that integrity-check processes tables in the same order when using a copied schema as it does when using one loaded directly from the db. (check-in: 961af94442 user: dan tags: schema-copy)
2025-01-07
21:04
Fix many problems in the sqlite3_schema_copy() function. (check-in: ac9ca88590 user: dan tags: schema-copy)
2025-01-06
20:39
Implemenation of experimental API sqlite3_schema_copy(), for copying a database schema between connections. More testing to come. (check-in: 65ede04d21 user: dan tags: schema-copy)
2024-12-23
11:31
Up logs to "v=21". (check-in: dc3a24a784 user: dan tags: cf8f1552-commit-instr)
11:23
Experimental: If SQLite is compiled with SQLITE_WAL_BIGHASH defined, use hash tables large enough to fit 128K, instead of 4K, entries in the *-shm file. (check-in: 6e800b7035 user: dan tags: cf8f1552-commit-instr)
2024-12-20
19:37
When loading stat4 data, make a single large allocation for all Index.aSample[] arrays, instead of a separate allocation for each. (check-in: b40cd7395c user: dan tags: cf8f1552-commit-instr)
2024-12-13
18:13
Avoid a memset() when loading stat4 data. Add instrumentation to the same code. (check-in: fa87355f62 user: dan tags: cf8f1552-commit-instr)
2024-12-12
20:39
Increase the maximum number of arguments on an SQL function to 1000 with the capability to increase it further up to 32767 using a compile-time option. (check-in: 3c25c69c93 user: drh tags: cf8f1552-commit-instr)
19:20
Add extra logging for alternative stat4 code. (check-in: 9dde0365cb user: dan tags: cf8f1552-commit-instr)
19:15
Experimental code to load stat4 data using a single pass. (check-in: e0bcd30581 user: dan tags: cf8f1552-commit-instr)
2024-12-11
20:42
When a writer initializes a new *-shm file hash table, zero only the hash-table slots, not the array of page numbers. (check-in: ac5401c62b user: dan tags: cf8f1552-commit-instr)
2024-12-10
14:56
Fix a problem with the formatting of "slow schema" log messages. Also change logging version to v=17. (check-in: df4183ace9 user: dan tags: cf8f1552-commit-instr)
2024-12-09
21:26
Fix a problem with non-PASSIVE wal2 checkpoints sometimes taking the WRITER lock. (check-in: 1a59cae3c3 user: dan tags: cf8f1552-commit-instr)
2024-12-06
17:52
Update logging (now v=16) to more closely analyze all attempts to load the main db schema. (check-in: 65b753735b user: dan tags: cf8f1552-commit-instr)
09:36
Guard the x64 assembler in wal.c with "ifdef __x86_64__". (check-in: 5fa1699e31 user: dan tags: cf8f1552-commit-instr)
2024-12-05
19:45
Add logging to report on occasions when loading the ANALYZE data is slow. (check-in: 5f9f6764e9 user: dan tags: cf8f1552-commit-instr)
16:52
Use an inline asm "ret stosp" instruction instead of a memset() when a writer is required to zero a hash table. (check-in: c10fa6af8b user: dan tags: cf8f1552-commit-instr)
2024-12-04
11:01
Temporarily enable zeroing of wal2-mode hash tables within PASSIVE, as well as non-PASSIVE, checkpoints. (check-in: a97a2b0da1 user: dan tags: cf8f1552-commit-instr)
2024-11-28
19:14
Update logging version to "v=13". (check-in: 442167b86a user: dan tags: cf8f1552-commit-instr)
18:58
In wal2 mode, attempt to zero old *-shm hash table pages within non-PASSIVE checkpoints. This saves writers from having to do it. (check-in: 40aafd4585 user: dan tags: cf8f1552-commit-instr)
2024-11-26
17:30
Avoid ever logging times for ROLLBACK commands. (check-in: bc7f7986ec user: dan tags: cf8f1552-commit-instr)
2024-11-20
20:26
Logging enhancements. And mark logs v=12. (check-in: 853f9cf453 user: dan tags: cf8f1552-commit-instr)
18:49
Experimental change to omit writing frame checksums to the wal file. (check-in: 4d37067270 user: dan tags: cf8f1552-commit-instr)
17:47
Update logging version to "v=11". This should have been part of the previous commit. (check-in: e6663fab61 user: dan tags: cf8f1552-commit-instr)
11:37
Do not report an sqlite3_error_offset() for errors that occur inside of views or triggers, since the text of those elements is not part of the original query. (check-in: cb5ddebf79 user: drh tags: branch-3.47)
2024-11-19
17:32
Extra logging for the freelist and hash table components of COMMITs of BEGIN CONCURRENT transactions. (check-in: 2ba41da8c4 user: dan tags: cf8f1552-commit-instr)
2024-11-17
09:51
buildtclext.tcl: add docs explaining the DESTDIR check and break out of the auto_path search loop early if the DESTDIR is not writable, rather than re-checking that repeatedly. (check-in: 322be94569 user: stephan tags: branch-3.47)
2024-11-16
17:12
Handle DESTDIR at an earlier phase in buildtclext.tcl to account for the is-writable-dir check and to filter out //zipfs: dirs as (im)possible installation targets. (check-in: 2f6e5946cf user: stephan tags: branch-3.47)
14:33
Add DESTDIR support to the tclextension-install target, via [67a3ca0c013b] and [d1663cf05f7d]. (check-in: 38136b33f9 user: stephan tags: branch-3.47)
2024-11-13
14:42
Increase maximum length of sqlite3_log() messages to 700 bytes. Mark log messages as v=10. (check-in: 35aa893d45 user: dan tags: cf8f1552-commit-instr)
11:12
Optimize deferred allocation of pages on this branch by avoiding BTALLOC_LE. (check-in: e0c0176793 user: dan tags: cf8f1552-commit-instr)
2024-11-09
18:17
Fix a case in fts3 where a corrupt database record was not being handled correctly. (check-in: 17bc57fa16 user: drh tags: branch-3.47)
2024-11-08
17:09
Even more detailed logging of slow COMMIT statements. (check-in: 3a45387a09 user: dan tags: cf8f1552-commit-instr)
2024-11-07
18:06
Fix an OOB write that could occur in fts3 when dealing with corrupt database records. (check-in: 521b873be7 user: drh tags: branch-3.47)
2024-11-05
18:53
Have the xBestIndex method of the generate_series virtual table ignore contraints on the "value" column with usable=0. (check-in: 1333e54422 user: dan tags: branch-3.47)
2024-11-04
13:59
Fix two mismatched uses of malloc() and sqlite3_free() in sqlite3_stdio.c, as reported in forum post 7dd7c70038. (check-in: 5238959d05 user: stephan tags: branch-3.47)
2024-11-01
15:25
Update log messages to say "v=8" instead of "v=7". (check-in: 492a0a8543 user: dan tags: cf8f1552-commit-instr)
15:20
Still more logging, this time focused on the sqlite3WalFrames() function. (check-in: 52d332f0c7 user: dan tags: cf8f1552-commit-instr)
2024-10-30
18:24
Add extra logging to analyze COMMIT commands. (check-in: 7dbb43bd30 user: dan tags: cf8f1552-commit-instr)
00:35
Replace 3 instances of the == 'test' shell command operator with =, as == is apparently not as portable across shells. Problem reported in forum post 14274389fb2. (check-in: 68199c40fe user: stephan tags: branch-3.47)
2024-10-25
18:37
Update special logging messages on this branch to say "v=6" instead of "v=5". (check-in: af4e778bd3 user: dan tags: cf8f1552-commit-instr)
18:24
Reduce the number of malloc()/free() calls that may occur when a BEGIN CONCURRENT transaction is committed. (check-in: fcd68bebf2 user: dan tags: cf8f1552-commit-instr)
2024-10-24
19:31
Patch sqlite3_rsync.c to disable undesirable automatic line ending conversions on Windows. (check-in: e3c27c6d8a user: drh tags: branch-3.47)
16:02
Add missing ZERO_ARGUMENT_GENERATE_SERIES checks to ext/misc/series.c. (check-in: 31e104cc40 user: stephan tags: branch-3.47)
11:11
Update the version number for the TEA extension. (check-in: 56353bcffa user: drh tags: autosetup)
07:31
Various build cleanups centered around straightening out various uses of CFLAGS and its cousins. Teach Makefile.linux-generic to figure out the TOP dir on its own (a GNU Make-ism, but it's a Linux-specific makefile). (check-in: 58a0f7e79c user: stephan tags: autosetup)
05:33
More potentially-controversial makefile symbol renaming. This is simply more readable to my eyes. (check-in: 6d4d1d5fef user: stephan tags: autosetup)
05:03
Bump version number to 3.48.0 (in this branch only - in trunk, doing so requires a specific autoconf version) and rename the RELEASE and VERSION makefile symbols for clarity's sake. (check-in: 4193d90f21 user: stephan tags: autosetup)
04:56
Potentially controversial/unconventional makefile symbol renamings and docs explaining them. (check-in: 7eceb7539d user: stephan tags: autosetup)
04:34
Generic build cleanups. (check-in: be7b32a77f user: stephan tags: autosetup)
03:50
Get Makefile.linux-generic (formerly Makefile.linux-gcc) working with jimsh in out-of-tree builds. Pass on -DHAVE_READLINE=1 to the sqlite3 shell if configure detects it. (check-in: a555ff6dbc user: stephan tags: autosetup)
03:14
General make cleanups. Start adding a sanity-check mechanism to main.mk which does basic validation of the vars it expects to be set by the file which includes it. Get Makefile.linux-gcc working for the core-most rules. (check-in: 85b2c73ccb user: stephan tags: autosetup)
01:26
Rename some build vars for legibility. Fix hwaci-make-from-dot-in when the input file list is multi-line. (check-in: fdb5844215 user: stephan tags: autosetup)
00:02
Fix out-of-tree builds configured with --disable-amalgamation. (check-in: 182dac1c46 user: stephan tags: autosetup)
2024-10-23
17:40
Remove unused configure check for clang-18. (check-in: d73ac7286a user: stephan tags: autosetup)
17:17
Remove three autotools files which are not needed in the autosetup port. (check-in: fc20861443 user: stephan tags: autosetup)
17:16
Extra logging to debug slow commit statements. (check-in: 9cafae1fff user: dan tags: cf8f1552-commit-instr)
16:59
Fix a #define typo in jimsh0.c, eliminating the need to explicitly pass -DJIM_COMPAT when building it. This fix has since made its way upstream. (check-in: 9b105abf6f user: stephan tags: autosetup)
16:46
After compiling jimsh, run sanity tests on it to ensure that it is built with -DJIM_COMPAT and one of (-DHAVE_REALPATH, -DHAVE__FULLPATH). (check-in: ea6a14a6e6 user: stephan tags: autosetup)
16:03
Work around a minor JimTCL regexp incompatibility in tool/vdbe-compress.tcl. Summary: it thinks that backslash-escaped octal values are back-references, which it does not like. (check-in: aeac23359b user: stephan tags: autosetup)
15:13
Remove the configure-script VERSION check from tool/srctree-check.tcl, as it's not relevant in the autosetup build. (check-in: 6c5826d752 user: stephan tags: autosetup)
15:05
Add missing export of LDFLAGS_DLOPEN to Makefile.in. (check-in: d18af84bf7 user: stephan tags: autosetup)
02:36
Another fix for autosetup/autosetup-find-tclsh for the case where a tclsh is found on the system. (check-in: 19d78fcef4 user: stephan tags: autosetup)
02:22
Latest autosetup/autosetup-find-tclsh from autosetup ticket #67. (check-in: 0e33f6cd48 user: stephan tags: autosetup)
02:17
Reorder some auto.def code to avoid breaking --help. (check-in: 151d7dfc8d user: stephan tags: autosetup)
02:11
Minor cleanups in the --with-wasi-sdk bits. (check-in: d952c17981 user: stephan tags: autosetup)
01:59
Get auto.def handling the case that no tclsh is installed in a default location. If not, use jimsh if we can find realpath(), else bail out. (check-in: 359741bc76 user: stephan tags: autosetup)
01:33
Fix /dev/null and stderr redirection ordering in autosetup/autosetup-find-tclsh so that the extraneous strlcpy()/snprintf()/rand() warning output from ld on OpenBSD does not break detection of jimsh0. (check-in: cd447e50d1 user: stephan tags: autosetup)
01:18
Use pkg-config for readline detection, if available. Unrelated minor tcl cleanups. (check-in: 3a41ac08a4 user: stephan tags: autosetup)
2024-10-22
20:09
Add the "halt" command to testrunner.tcl (check-in: 2cc25d5dbb user: drh tags: trunk)
19:33
Add the SQLITE_IOCAP_SUBPAGE_READ bit to the possible returns values from xDeviceCharacteristics method of the system-IO abstract class. The direct-overflow-read optimization is disabled for any VFS that does not set this bit. The bit is set for standard VFSes. (check-in: 6e7d498cda user: drh tags: trunk)
18:26
Rename to SQLITE_IOCAP_SUBPAGE_READ. (Closed-Leaf check-in: dd446ef181 user: drh tags: bypass-iocap)
18:00
Add the SQLITE_IOCAP_BYPASS device characteristic. Do not allow the SQLITE_DIRECT_OVERFLOW_READ optimization if that capability is missing. (check-in: f50ae00ce9 user: drh tags: bypass-iocap)
17:57
Minor build docs and cleanups. (check-in: 0eb96ea2d1 user: stephan tags: autosetup)
16:26
Add still more logging to determine why schema loads are so slow in some circumstances. (check-in: d02ec06e5b user: dan tags: cf8f1552-commit-instr)
16:19
Do not typedef Tcl_Size if it is already #defined. (check-in: 53491688cf user: drh tags: trunk)
13:02
Minor cleanups to how configure generates tool/emcc.sh. (check-in: 4484b46236 user: stephan tags: autosetup)
12:56
Teach ext/wasm/GNUmakefile to use tool/emcc.sh and fix a syntax error in tool/emcc.sh.in. Work around a JimTCL incompatibility in tool/mkshellc.tcl. (check-in: 24e0f6ecc6 user: stephan tags: autosetup)
10:29
Further changes to sqlite3_rsync.c to work around Windows issues. (check-in: e2bd3219d9 user: drh tags: trunk)
09:43
Set I/O mode to binary in Windows in sqlite3_rsync. (check-in: 6717528744 user: drh tags: trunk)
03:56
After discussing [4d4423df8d14] with Steve Bennett, do not prepend $prefix/bin to the search path for binaries, as that path is commonly used for cross-compiled targets and we want binaries which will run on the build host. (check-in: f2008a7d79 user: stephan tags: autosetup)
03:33
Touch configure-generated files at configure-time even if autosetup does not update them because their contents would not be changed. Works around wonky deps causing too-frequent rebuilds. (check-in: 339b48af17 user: stephan tags: autosetup)
03:12
Rename hwaci-error to the more descriptive hwaci-fatal. Use autosetup's file-isexec instead of [file executable] for portability. Remove the binary file lookup cache - unnecessary complexity. When searching for tools like tclsh, check under $prefix/bin before checking the $PATH. This seems like the right thing to do, but the fact that autosetup's file-search API's do not do that by default leaves some room for doubt about the wisdom of this change. (check-in: 4d4423df8d user: stephan tags: autosetup)
2024-10-21
22:45
In testrunner.tcl: Better estimates for ETC (Estimated Time to Completion). Show the ETC even for the single-line status reports. (check-in: 2a2f5f4e37 user: drh tags: trunk)
22:15
Bring checksymbols target up to date and add a TODO based on a feature request from the forum. (check-in: c00a03256b user: stephan tags: autosetup)
21:53
Add sqlite3rebaser_... to the API symbols accepted by the 'checksymbols' makefile target. (check-in: 0284590f21 user: stephan tags: trunk)
21:32
Resolve two build FIXMEs. (check-in: 4de51c165c user: stephan tags: autosetup)
21:22
Get most of the numerous misc tool binaries building. (check-in: fa74cbb40c user: stephan tags: autosetup)
20:12
Simplify how the targets which may or may not be enabled, depending on config flags, are formulated in main.mk. (check-in: 7bea793ce4 user: stephan tags: autosetup)
19:51
More build doc tweaks and get ./startup building. (check-in: cee285029c user: stephan tags: autosetup)
17:50
Start moving most Makefile.in docs over to main.mk. Fix compilation of tclsqlite.c. (check-in: 5b154e08ab user: stephan tags: autosetup)
17:13
Update the reuse-schema branch to version 3.47.0 (check-in: d49d282795 user: drh tags: reuse-schema)
17:10
Update the bedrock branch to version 3.47.0 (check-in: d2d954d43a user: drh tags: bedrock)
17:05
Update the wal2 branch to version 3.47.0 (check-in: d34b6a9138 user: drh tags: wal2)
17:00
Update the begin-concurrent branch to version-3.47.0 (check-in: 457bb035e3 user: drh tags: begin-concurrent)
16:30
Version 3.47.0 (check-in: 03a9703e27 user: drh tags: trunk, release, major-release, version-3.47.0)
16:06
Add docs introducing how to define and use autosetup configure flags. Use -DJIM_COMPAT when building jimsh to force its expr command to be syntax-compatible with canonical TCL. (check-in: a6a275de3d user: stephan tags: autosetup)
14:24
Add a case to testrunner.tcl so that mdevtest can run on openbsd. (check-in: e904b37fb2 user: dan tags: trunk)
13:11
Merge trunk into autosetup branch. (check-in: 347a50e66f user: stephan tags: autosetup)
11:49
Add extra logging to SQL statements used to load the database schema on this branch. This requires SQLITE_ENABLE_STMT_SCANSTATUS. (check-in: 08e1dea9c0 user: dan tags: cf8f1552-commit-instr)
10:47
Avoid using LIKE in sqlite3expert.c, in case "PRAGMA case_sensitive_like" has been used or the "like" UDF replaced by something unexpected. (check-in: 9f642b3dbc user: dan tags: trunk)
2024-10-20
07:19
Fix another problem with ".expert" and virtual tables. Forum post 49d6a19ec. (check-in: 7a7162293c user: dan tags: trunk)
02:47
Build doc touchups. (check-in: 109d441bf1 user: stephan tags: autosetup)
02:35
A possible fix for some as-yet-unused configure code which looks for a module loader. (check-in: c6c799a54b user: stephan tags: autosetup)
01:41
Cosmetic tweaks to auto.def. (check-in: 476d2407e5 user: stephan tags: autosetup)
01:34
Minor doc updates. (check-in: 6578a8d59e user: stephan tags: autosetup)
01:14
Do not check for Emscripten when doing a --with-wasi-sdk build. (check-in: 111cff2cf3 user: stephan tags: autosetup)
01:09
Generic build cleanups and reorgs. (check-in: 365a3d71cf user: stephan tags: autosetup)
2024-10-19
22:45
Add sqlite3_rsync to the docs at the top of mktoolzip.tcl. No code changes. (check-in: 10f5c4a2fc user: stephan tags: trunk)
20:53
More build cleanups and get it working with BSD make (which apparently does not support $<). (check-in: dcf4fc78fb user: stephan tags: autosetup)
20:26
Move most of the makefile code into the static main.mk. (check-in: 09905ed094 user: stephan tags: autosetup)
18:31
Factor out all autosetup-processed @if/@else blocks from Makefile.in in prep for moving most of the makefile code into main.mk (which has, so far, been completely overlooked in this port but will now become the main basis for the static parts of the build). The idea is that all build configuration goes into a platform-dependent makefile which then includes main.mk. (check-in: 707e0f5857 user: stephan tags: autosetup)
16:58
Generic build cleanups. (check-in: 510afccf02 user: stephan tags: autosetup)
13:51
Merge trunk into autosetup branch. (check-in: 2923a8924c user: stephan tags: autosetup)
13:44
Get tool-zip target, and its prerequisites, building. (check-in: 38cc5db3a8 user: stephan tags: autosetup)
13:38
Add missing TEXE suffixes in the tool-zip makefile target. (check-in: 5a594dbcd5 user: stephan tags: trunk)
13:20
Move the #include of hwtime.h from the bottom of util.c to the top of vdbe.c so that it will be available when needed, even for non-amalgamation builds. (check-in: 5f23036a87 user: drh tags: trunk)
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)
12:39
An assortment of comment typo fixes discovered by aspell. Add several new words to tool/custom.txt. No code changes. (check-in: 59b76a99e4 user: stephan tags: trunk)
11:02
Remove unnecessary VACUUMs from the previous check-in to sqlite3_rsync. (check-in: ad8d481242 user: drh tags: trunk)
00:49
Get mptest(er) building. (check-in: f740f6a444 user: stephan tags: autosetup)
00:16
Fix the sqlite3_rsync utility so that it is able to synchronize a database using a UTF16 text encoding. Forum post e055d50821. (check-in: 981347009c user: drh tags: trunk)
2024-10-18
23:54
Minor doc cleanups in SQLTester.mjs and confirm that the tests pass with both OPFS VFSes. (check-in: ac747d57c2 user: stephan tags: trunk)
23:36
Fix three bugs in SQLTester.mjs which caused --tableresult tests, escaping of SQL values to incorrectly fail, and the --column-names setting to not be reset between tests. (check-in: 779368dd9b user: stephan tags: trunk)
23:10
Fix a var reference typo in SQLTester.mjs. (check-in: 31179fa78e user: stephan tags: trunk)
16:50
Remove the unused dbfuzz2-asan/msan makefile targets. Fix a comment typo in a makefile. (check-in: 07843ac245 user: stephan tags: trunk)
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)
12:31
Remove a not-strictly-necessary 'undefine' invocation from ext/wasm/GNUmakefile, as it is not compatible with too-old versions of gmake. Resolves the problem reported in forum post e57932e3ccdc2c9c. (check-in: a31a946441 user: stephan tags: trunk)
10:51
Minor enhancements to the compile-for-windows.md document. (check-in: 5f0cc7f264 user: drh tags: trunk)
10:42
Fix typo in the README.txt for the amalgamation autoconf tarball. (check-in: 62d24a69fe user: drh tags: trunk)
01:14
New assert() statements to validate OP_OpenEphemeral logic. (check-in: 6d55c3e238 user: drh tags: trunk)
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: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:09
Merge the latest trunk enhancements into the bedrock branch. (check-in: d5289de411 user: drh tags: bedrock)
15:03
Merge the latest trunk enhancements into the wal2 branch. (check-in: 2e96c8bb7a user: drh tags: wal2)
14:52
Merge the latest trunk enhancements into the begin-concurrent branch. (check-in: 92cd032aa9 user: drh tags: begin-concurrent)
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)
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
15:28
Fix a typo in the previous commit. (check-in: 6deb4794f8 user: dan tags: cf8f1552-commit-instr)
14:31
Add extra logging points to the code on this branch. (check-in: f29ff2f308 user: dan tags: cf8f1552-commit-instr)
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)
15:08
Add logging to help analyze slow "PRAGMA cache_size = ?" statements. (check-in: cd6f585cad user: dan tags: cf8f1552-commit-instr)
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)
16:11
Add logging to help analyze commit performance. (check-in: c5391f2cc9 user: dan tags: cf8f1552-commit-instr)
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: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
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)
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)
14:49
Ensure that logging is only performed for COMMIT operations that take 2 seconds or longer. (Leaf check-in: 14186d1e8d user: dan tags: bedrock-commit-instr)
14:11
Add further logging intended for use in analyzing COMMIT performance. (check-in: bbbd3d9be8 user: dan tags: bedrock-commit-instr)
2024-10-03
21:00
Add logging to help analyze COMMIT performance. (check-in: 72404dfc0d user: dan tags: bedrock-commit-instr)
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:57
Merge the latest trunk enhancements, via the wal2 branch, into the bedrock branch. (check-in: fd6ff55141 user: dan tags: bedrock)
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)
12:39
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 1bf073d7c0 user: drh tags: begin-concurrent)
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:45
Update the bedrock branch to include all the latest enhancements from trunk. (check-in: 4a3386ccb8 user: drh tags: bedrock)
15:42
Merge the latest trunk enhancement into the wal2 branch. (check-in: f3e3ad6945 user: drh tags: wal2)
15:39
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: 2a87a969e7 user: drh tags: begin-concurrent)
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: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:54
Update the bedrock branch to include all of the latest trunk enhancements. (check-in: cf8f155280 user: drh tags: bedrock)
16:46
Merge all the latest trunk enhancements into the wal2 branch. (check-in: 9f53034371 user: drh tags: wal2)
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:43
Merge the latest trunk enhancement into the bedrock branch through the wal2 intermediary. (check-in: ff94464cec user: drh tags: bedrock)
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)
23:26
Sync the amalgamation makefile for MSVC with the main makefile. (check-in: fcc4c3b484 user: drh tags: begin-concurrent)
23:24
Merge all the latest trunk enhancements into the begin-concurrent branch. (check-in: b05d30bec1 user: drh tags: begin-concurrent)
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)
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
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)
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)
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)