]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
10 months agoAdd SQLITE_TESTCTRL_EDITSTMT for making rogue changes to the statement defensive-null-cursor
drh [Fri, 9 Aug 2024 13:56:12 +0000 (13:56 +0000)] 
Add SQLITE_TESTCTRL_EDITSTMT for making rogue changes to the statement
bytecode, to test the death-cursor error detection mechanism.

FossilOrigin-Name: 58ffd5d97e86693ba669268154e6a28ccedf029abcdd2964635bcd8e5aa37172

10 months agoChange the null-cursor in the previous check-in into a death-cursor. Any
drh [Fri, 9 Aug 2024 02:10:28 +0000 (02:10 +0000)] 
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.

FossilOrigin-Name: 8894b243ef533cd3d85afa3f3884e52df8c21ddd6cbb20716389a2ce28f130ab

10 months agoIf there is any question about whether or not the WHERE_IDX_ONLY flag in the
drh [Fri, 9 Aug 2024 01:38:14 +0000 (01:38 +0000)] 
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.

FossilOrigin-Name: 7f1617f7bf53cf96954541f73fb99622051f86be9c8ea4b8038b2aa7c8f49e47

10 months agoEnsure sqlite3expert.c unregisters any SQL user-functions it registers with the datab...
dan [Thu, 8 Aug 2024 15:26:11 +0000 (15:26 +0000)] 
Ensure sqlite3expert.c unregisters any SQL user-functions it registers with the database handle before returning.

FossilOrigin-Name: 123b154ce3b6fee1bbf483704812bd6f8538966f9687520b4470d700f0270719

10 months agoAdd assert() statements and reorganize code slightly in fts3 and fts5 to make it...
dan [Thu, 8 Aug 2024 15:07:27 +0000 (15:07 +0000)] 
Add assert() statements and reorganize code slightly in fts3 and fts5 to make it easier to follow.

FossilOrigin-Name: 797b0a13fd7a42b0a48ecbf0cd1961aa932da3e9c9ccffd903a3a4d963d0cc54

10 months agoDo not let the number of terms on a VALUES clause be limited by
drh [Thu, 8 Aug 2024 14:45:50 +0000 (14:45 +0000)] 
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.
[https://issues.chromium.org/issues/358174302|Chromium issue 358174302].

FossilOrigin-Name: 670beb133eb203065a75022f0c6db7c605a4e0e22c8ef6d6b4724be2663ff3dc

10 months agoBack out the --memory option to ".parameter init" in the CLI, as the
drh [Thu, 8 Aug 2024 12:14:07 +0000 (12:14 +0000)] 
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.

FossilOrigin-Name: 3b1b0c141993eb0f8749f54ea40d6014f9bdccbe0fdb3ccccad971a0baea8d3c

10 months agoIn the CLI, recognize magic parameter names "$int_NNN" and "$text_TTT" and
drh [Thu, 8 Aug 2024 12:08:36 +0000 (12:08 +0000)] 
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.

FossilOrigin-Name: a929cdb00ff74d77cdf55087d32abf53578f7127b36276f89b64ccbef1d4a9a4

10 months agoMove a misplaced va_end, as reported in [forum:702c79e9da|forum post 702c79e9da].
stephan [Thu, 8 Aug 2024 10:51:56 +0000 (10:51 +0000)] 
Move a misplaced va_end, as reported in [forum:702c79e9da|forum post 702c79e9da].

FossilOrigin-Name: daa25fb35fd7bdd482d51214439f38b0b9a7df93f689a2b3d30a113daa9f2a1a

10 months agoAdd the --memory option to the ".parameter init" CLI command. When present,
drh [Thu, 8 Aug 2024 10:10:38 +0000 (10:10 +0000)] 
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.

FossilOrigin-Name: 4e69dce2093b75b7db4fbdca4953b664b907be15d991ed352ea1d87c64fbf9d2

10 months agoFix a broken assert in fts5_expr.c.
dan [Wed, 7 Aug 2024 21:20:08 +0000 (21:20 +0000)] 
Fix a broken assert in fts5_expr.c.

FossilOrigin-Name: 08cc5488404d068e59378b82988460793710df43ec21b4a83a794b497abd035f

10 months agoAdd a new assert() to help static analyzers understand that a pointer is
drh [Wed, 7 Aug 2024 15:17:37 +0000 (15:17 +0000)] 
Add a new assert() to help static analyzers understand that a pointer is
never NULL.

FossilOrigin-Name: 433f2b942ee6f79d50ebe9b08fa3ea8162db6a10ce9d80e2bc193124baa1b083

10 months agoFix a harmless compiler warning in an assert().
drh [Wed, 7 Aug 2024 14:54:54 +0000 (14:54 +0000)] 
Fix a harmless compiler warning in an assert().

FossilOrigin-Name: 5e4c9a74b2efa74ace67f644fb6bb37e07f5982f8faaca9463e3daa50b0469d7

10 months agoRemove unused test cases from FTS5, as they interfere with "grep".
drh [Tue, 6 Aug 2024 23:09:37 +0000 (23:09 +0000)] 
Remove unused test cases from FTS5, as they interfere with "grep".

FossilOrigin-Name: 048a71bae48aacdfc91e59330db4d4b3d663f00665f51a7110ea82e0508758ec

10 months agoImproved robustness of parsing of tokenize= arguments in FTS5.
drh [Tue, 6 Aug 2024 22:49:01 +0000 (22:49 +0000)] 
Improved robustness of parsing of tokenize= arguments in FTS5.
[forum:/forumpost/171bcc2bcd|Forum post 171bcc2bcd].

FossilOrigin-Name: d9f726ade6b258f8723f90d0b04a4682e885e30939eb29773913e4dfc8e85503

10 months agoImprovements to ./configure that will hopefully break fewer builds.
drh [Tue, 6 Aug 2024 20:00:10 +0000 (20:00 +0000)] 
Improvements to ./configure that will hopefully break fewer builds.

FossilOrigin-Name: 769e32a69b7b7c04225afa0371f139b2ed29aaee5a7a4159a30d600ed9f25c57

10 months agoChange the AggInfoColumnReg() and AggInfoFuncReg() macros for
drh [Tue, 6 Aug 2024 10:29:41 +0000 (10:29 +0000)] 
Change the AggInfoColumnReg() and AggInfoFuncReg() macros for
compilers that cannot parse empty elements of a comma expression.
[forum:/forumpost/8fd21998dc|Forum post 8fd21998dc].

FossilOrigin-Name: 533a6251f188805363f0e39613ea03b1bfd758eaea00e0855803238585bdfec7

11 months agoRestore legacy "tcl_install" makefile target, as an interim measure until
drh [Sun, 4 Aug 2024 10:13:01 +0000 (10:13 +0000)] 
Restore legacy "tcl_install" makefile target, as an interim measure until
I can figure out what is going on.

FossilOrigin-Name: 931ad7d9e3aedb6d466fffc0af1f8d6b20d57a35dec644f28585f3e84f22d1ce

11 months agoFix to the previous checkin: The colUsed parameter should have high-order bit
drh [Sat, 3 Aug 2024 23:00:17 +0000 (23:00 +0000)] 
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.

FossilOrigin-Name: 90ac8457750ace1d76d7bc957af7877e86e6301bb07361e19beaf5c7b3b6085a

11 months agoEnsure that the sqlite3_index_info.colUsed mask always includes the PK fields of...
drh [Sat, 3 Aug 2024 21:45:46 +0000 (21:45 +0000)] 
Ensure that the sqlite3_index_info.colUsed mask always includes the PK fields of WITHOUT ROWID virtual tables.

FossilOrigin-Name: ff4ac279b02190cc2107b0b110806dd7abcea47a6589d827b5ee39d4b80fb719

11 months agoFix a typo in [c327c0c0] preventing the shell tool from running ".dump" scripts that...
dan [Sat, 3 Aug 2024 18:58:25 +0000 (18:58 +0000)] 
Fix a typo in [c327c0c0] preventing the shell tool from running ".dump" scripts that feature virtual tables.

FossilOrigin-Name: 10e97abb878debb67410902ea1af4df75a9ced1e38fec710b1796c5143aff48e

11 months agoEnsure the sqlite3_index_info.colUsed mask always includes the PK fields of WITHOUT... vtab-pk-colUsed-fix
dan [Sat, 3 Aug 2024 18:45:48 +0000 (18:45 +0000)] 
Ensure the sqlite3_index_info.colUsed mask always includes the PK fields of WITHOUT ROWID vtabs in cases where they may be used.

FossilOrigin-Name: c327c0c02cfefdba373cfb15933a9cdfddb578b6582f2ce7c08929203743ffe9

11 months agoAdd the --status option to the test runs using testrunner.tcl. Only works
drh [Sat, 3 Aug 2024 15:55:25 +0000 (15:55 +0000)] 
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.

FossilOrigin-Name: 94015cda4ceb4292ceceadb951fe5d9cb3e4e20403719b7254ad094a5b749ab3

11 months agoMake sure the input buffer is big enough for an memcpy() when doing the
drh [Fri, 2 Aug 2024 18:20:10 +0000 (18:20 +0000)] 
Make sure the input buffer is big enough for an memcpy() when doing the
restore autodetection in the shell.

FossilOrigin-Name: 1637d29d518b3b4534a1b4c0dc0eddcb770f6f71763e4177812a3e79b97d2365

11 months agoAdd the "-d SECS" option to the "status" command of testrunner.tcl
drh [Fri, 2 Aug 2024 17:36:34 +0000 (17:36 +0000)] 
Add the "-d SECS" option to the "status" command of testrunner.tcl

FossilOrigin-Name: 2151ea31632f7aa363c7d4b7205e1174a45d710783a8efad8176049d356cfc70

11 months agoNew MSVC makefile targets: tclextension, tclextension-install,
drh [Fri, 2 Aug 2024 15:28:40 +0000 (15:28 +0000)] 
New MSVC makefile targets:  tclextension, tclextension-install,
tclextension-uninstall, and tclextension-list.

FossilOrigin-Name: c38734f57509c50dd28029738dd602600950703b773d9b7b60fdb1dcb06e8fd8

11 months agoFix typo in a progress message in the builttclext.tcl script.
drh [Fri, 2 Aug 2024 13:56:55 +0000 (13:56 +0000)] 
Fix typo in a progress message in the builttclext.tcl script.

FossilOrigin-Name: 5e7c94645632b736e805428ff4c135666ab525fac99c29c12d5127b06f39fc6e

11 months agoFix problems in the configure/Makefile system caused by recent enhancements
drh [Fri, 2 Aug 2024 11:32:28 +0000 (11:32 +0000)] 
Fix problems in the configure/Makefile system caused by recent enhancements
and report by [forum:/forumpost/242ebd0c81|forum post 242ebd0c81].

FossilOrigin-Name: a59319fe4adc094381c46e490289b3e0cda8f804edaea6984571c47a68a23eef

11 months agoNew configuration option: --with-tclsh=FILE. New makefile targets:
drh [Fri, 2 Aug 2024 00:59:32 +0000 (00:59 +0000)] 
New configuration option:  --with-tclsh=FILE.  New makefile targets:
tclextension, tclextension-install, tclextension-uninstall,
tclextension-list.

FossilOrigin-Name: 888284d1d47269e66e23627e2519cd2cf83ef65a777a679af20c288453f092e2

11 months agoPrevious Makefile.in change broke the tclextension-install target. autoconf-revamp
drh [Fri, 2 Aug 2024 00:56:31 +0000 (00:56 +0000)] 
Previous Makefile.in change broke the tclextension-install target.

FossilOrigin-Name: 7748367c78a1f480ec9e892ba77652e3c31a4b387b89221ae584891818804851

11 months agoContinuing refinements of the tclextension-install makefile target.
drh [Fri, 2 Aug 2024 00:51:52 +0000 (00:51 +0000)] 
Continuing refinements of the tclextension-install makefile target.

FossilOrigin-Name: 871c20a848e0e9b7f3d5661bd076fde16e9ec1e445a7ee657ef267978988ad56

11 months agoExtra robustness for the SQLite Tcl Extension builder, so that it works
drh [Fri, 2 Aug 2024 00:19:59 +0000 (00:19 +0000)] 
Extra robustness for the SQLite Tcl Extension builder, so that it works
on Debian Linux.

FossilOrigin-Name: 2f0738daaff48c51a60f063af6e453443bd7eedf6936daab325b2a36927c7a2b

11 months agoSimplification the ./configure script. Carry Makefile CFLAGS and OPTS through
drh [Thu, 1 Aug 2024 23:30:29 +0000 (23:30 +0000)] 
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.

FossilOrigin-Name: 72a80aa0abb121a23f8cc1eb1af04ba06c733a7a40c06f1fe9e62f2a0a26ca6e

11 months agoAdd the tclextension-list makefile target. The the makefile running on Mac.
drh [Thu, 1 Aug 2024 23:00:37 +0000 (23:00 +0000)] 
Add the tclextension-list makefile target.  The the makefile running on Mac.

FossilOrigin-Name: 2f667cc8e54167342e17e63e1a017388365ebf4cd379f9c16c12e4603b34a326

11 months agoNew makefile targets: tclextension-install and tclextension-uninstall. Seem
drh [Thu, 1 Aug 2024 20:26:22 +0000 (20:26 +0000)] 
New makefile targets: tclextension-install and tclextension-uninstall.  Seem
to work on Linux.

FossilOrigin-Name: 534f8344abbda78e841edafe84c27ea8b1dfdecb9ab51271772a7f7264ef5b8c

11 months agoWork on a TCL script that will compile and install the TCL extension.
drh [Thu, 1 Aug 2024 20:18:10 +0000 (20:18 +0000)] 
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.

FossilOrigin-Name: 58babd2aa4b5c9c70e1169cdf09f05eb95d7b13f50bb2ec0e487182288172678

11 months agoClean up and restructure the TCL configuration sections in autoconf.
drh [Thu, 1 Aug 2024 18:10:00 +0000 (18:10 +0000)] 
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.

FossilOrigin-Name: 8fafc679d91e857602fbbe203144ca98242246660ede5a49c5fec8aaff571151

11 months agoInclude a test case summary in the output of "errors" in testrunner.tcl.
drh [Thu, 1 Aug 2024 14:43:27 +0000 (14:43 +0000)] 
Include a test case summary in the output of "errors" in testrunner.tcl.

FossilOrigin-Name: 173df1478e89996126e172656e35da8026d4ef145b2341ef56213f00ade14f48

11 months agoAdd the "errors" command to testrunner.tcl.
drh [Thu, 1 Aug 2024 14:16:36 +0000 (14:16 +0000)] 
Add the "errors" command to testrunner.tcl.

FossilOrigin-Name: 03b7f99229cfcffde024915e6812d75ae11318db9dc93a00838e4588a79b1243

11 months agoFix the tclsqlite.c TCL interface module so that it works with both Tcl8 and
drh [Wed, 31 Jul 2024 22:36:14 +0000 (22:36 +0000)] 
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...

FossilOrigin-Name: ea9d88f9ca3399bca83bf03893689a927b73e481604b94527e42de43f103eb46

11 months agotestrunner.db should be in WAL mode for improved concurrency while running tcl9
drh [Wed, 31 Jul 2024 22:26:04 +0000 (22:26 +0000)] 
testrunner.db should be in WAL mode for improved concurrency while running
"watch sqlite3 test/testrunner.tcl status".

FossilOrigin-Name: f23ad0979865f3c11a3dbd0598ee7c4e2eabeaf1863d000fc0242e18890a4a11

11 months agoMake the #include section of tclsqlite.c the same as tclsqlite.h.
drh [Wed, 31 Jul 2024 22:25:25 +0000 (22:25 +0000)] 
Make the #include section of tclsqlite.c the same as tclsqlite.h.

FossilOrigin-Name: 2afadbeb124d6d7bb81d473379269014ebd8601f98f231e2218f54350a2e5fd3

11 months agoFix typo in testrunner.tcl for the "status" command that was causing it
drh [Wed, 31 Jul 2024 22:17:26 +0000 (22:17 +0000)] 
Fix typo in testrunner.tcl for the "status" command that was causing it
to fail if any errors were seen.

FossilOrigin-Name: 8327c5ed535c57c4082211a50bfb1c32ea5d5fe1cf71f37798d8b58e88948ac2

11 months agoUse `<tcl.h>` instead of `"tcl.h"` to include the TCL interface.
drh [Wed, 31 Jul 2024 21:59:29 +0000 (21:59 +0000)] 
Use `<tcl.h>` instead of `"tcl.h"` to include the TCL interface.

FossilOrigin-Name: 4e32d4aed7c487ee9ed39a7e4486c2989a01781a3edbe9cdce52c6ed357f6366

11 months agoFix the tclsqlite.c TCL interface module so that it works with both Tcl8 and
drh [Wed, 31 Jul 2024 21:46:46 +0000 (21:46 +0000)] 
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.

FossilOrigin-Name: 2a04b1bea12b0b4c3387d675f487337533ac0813248f70085398485e4cacd691

11 months agoMore tweaks to testfixture-implemented TCL commands to make them safe for Tcl9.
drh [Wed, 31 Jul 2024 19:57:22 +0000 (19:57 +0000)] 
More tweaks to testfixture-implemented TCL commands to make them safe for Tcl9.

FossilOrigin-Name: 67897ca97d8c98e119a498a3adb39548a579e12ee477e9dd74e9564a6f5e4c2b

11 months agoUnder Tcl9, the %x format letter truncates to 32-bits. Must use %llx in order
drh [Wed, 31 Jul 2024 19:56:14 +0000 (19:56 +0000)] 
Under Tcl9, the %x format letter truncates to 32-bits.  Must use %llx in order
to get a 64-bit rendering.

FossilOrigin-Name: a3044e0ae65c099d76bf04536e223e70d89971688627c342252951f6c65f49d1

11 months agoFixes to testfixture routines needed to test snapshots.
drh [Wed, 31 Jul 2024 17:15:24 +0000 (17:15 +0000)] 
Fixes to testfixture routines needed to test snapshots.

FossilOrigin-Name: 66f61c3b35383b2575774d309043a722cc87a53d03518d339d6dbdcf342adc93

11 months agoFix a typo in testrunner_data.tcl that prevented --with-tcl specifications
drh [Wed, 31 Jul 2024 16:37:02 +0000 (16:37 +0000)] 
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.

FossilOrigin-Name: b8f81351914deac99b14be6bb5e4096c1efed9bdb057750825760f09dae04656

11 months agoRemove obsolete testfixture TCL commands formerly required by Windows
drh [Wed, 31 Jul 2024 15:04:37 +0000 (15:04 +0000)] 
Remove obsolete testfixture TCL commands formerly required by Windows
but now handled by Tcl itself.  Update tests case accordingly.

FossilOrigin-Name: 4f065fb638b24b33283518af8ad55f28a49cfac4086fa5e4568e2f3a6814962d

11 months agoFix problems uncovered while testing Tcl9 on Windows.
drh [Wed, 31 Jul 2024 13:00:18 +0000 (13:00 +0000)] 
Fix problems uncovered while testing Tcl9 on Windows.

FossilOrigin-Name: d5523c77fd0bcdc8344971a116d6ce9657f2b6daddeb7d936cd7607163a36744

11 months agoMinor adjustments to get Tcl9-based testing working on Macs.
drh [Wed, 31 Jul 2024 12:19:16 +0000 (12:19 +0000)] 
Minor adjustments to get Tcl9-based testing working on Macs.

FossilOrigin-Name: 066c8672ee85a6ce972de38fcd3793fc2c1ef4f21c3de2379746d0ff18df8dc0

11 months agoAdjust the configure script so that the --with-tcl option is used to
drh [Wed, 31 Jul 2024 11:42:47 +0000 (11:42 +0000)] 
Adjust the configure script so that the --with-tcl option is used to
find the appropriate tclsh.

FossilOrigin-Name: 6fb9e37c751cd1a411c77f792794e1abafa5c40ad4dda8d433600d44d525a97c

11 months agoPatch to testrunner.tcl so that it works with Tcl9's pedantic UTF-8 checking.
drh [Wed, 31 Jul 2024 11:12:13 +0000 (11:12 +0000)] 
Patch to testrunner.tcl so that it works with Tcl9's pedantic UTF-8 checking.

FossilOrigin-Name: 8d4a23d32dc16b115153e6e100ba3ba15273c3e37310e8a1b4bace885c5383a8

11 months agoFixes to tclsqlite.c to facilitate TEA installs.
drh [Wed, 31 Jul 2024 10:59:19 +0000 (10:59 +0000)] 
Fixes to tclsqlite.c to facilitate TEA installs.

FossilOrigin-Name: 7157c3c910565c9385a028793a0c0106c5064ab6a8a6efbe29dd1f1cdb2bd48d

11 months agoFix a problem with strictly conforming UTF8 in shell1.test.
drh [Wed, 31 Jul 2024 02:01:19 +0000 (02:01 +0000)] 
Fix a problem with strictly conforming UTF8 in shell1.test.

FossilOrigin-Name: 8ee187f98d310e1e7cf6c3fdf000c19e98a9f11e01436c3c407df04da79aa7c0

11 months agoAdjust a few tests that don't work even with the new floating point
drh [Wed, 31 Jul 2024 01:53:48 +0000 (01:53 +0000)] 
Adjust a few tests that don't work even with the new floating point
comparison routine.

FossilOrigin-Name: 895125a4895099df7c3841ca7c34697ba17fd667bddbc2fd7148f7aa9d6d2b9d

11 months agoImplement a new comparison routine to compare text renderings of
drh [Wed, 31 Jul 2024 01:45:14 +0000 (01:45 +0000)] 
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.

FossilOrigin-Name: 71f2ee5db01150707401804b136641170e7ed44760fccec20de19184e4d0a840

11 months agoAll tests in "make test" now pass with Tcl9, except for about 198 cases where
drh [Tue, 30 Jul 2024 20:39:05 +0000 (20:39 +0000)] 
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.

FossilOrigin-Name: 8e27f5326c69aa4fb6f3f1f42668ab1b08140ab0a614ac4a9d94679c8fb9734e

11 months agoMore adjustments to the incrblob channel: Apparently you need to wait
drh [Tue, 30 Jul 2024 18:49:20 +0000 (18:49 +0000)] 
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.

FossilOrigin-Name: fa549a5507b5f805b469b4360c11155aa9d22043f01f6d9428bf44d0f2351eb0

11 months agoAdjustments to test cases for session so that they work with Tcl9.
drh [Tue, 30 Jul 2024 18:42:31 +0000 (18:42 +0000)] 
Adjustments to test cases for session so that they work with Tcl9.

FossilOrigin-Name: d417415b967e62d41667e14ebf5455932ebf38d218a941f13878f0aba6d19bc8

11 months agoTcl_ChannelType implementations for Tcl9 apparently require that
drh [Tue, 30 Jul 2024 18:15:59 +0000 (18:15 +0000)] 
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.

FossilOrigin-Name: 19fda979c5dc1a385ed3f8ab8df34388c1acfc7ff951fe1b183a79186bd20cdb

11 months agoGet rid of "-encoding binary" across all test cases, as that is no longer
drh [Tue, 30 Jul 2024 17:09:51 +0000 (17:09 +0000)] 
Get rid of "-encoding binary" across all test cases, as that is no longer
supported in Tcl9.  Use "-translation binary" instead.

FossilOrigin-Name: e0d9670dd98a22d2e22aac8ba8720787a05e280e18ec9b2d4323f947c83718f5

11 months agoUse the SQLite format() function to format floating point values for test
drh [Tue, 30 Jul 2024 16:59:33 +0000 (16:59 +0000)] 
Use the SQLite format() function to format floating point values for test
results, to avoid inconsistences in TCL versions.

FossilOrigin-Name: 6a63c472190dafb36582c116c925bbcbe48c3a2f3217fc1ffcb64a733b0151e1

11 months agoFix the incrblob channel so that partial close works with Tcl9.
drh [Tue, 30 Jul 2024 16:51:51 +0000 (16:51 +0000)] 
Fix the incrblob channel so that partial close works with Tcl9.

FossilOrigin-Name: d54ec2de78c2aed12be643e59a30b6827fe4728a0ab6504dd64ee9116e5f885a

11 months agoFirst attempt at getting the build to work with Tcl 9.0.
drh [Tue, 30 Jul 2024 15:49:02 +0000 (15:49 +0000)] 
First attempt at getting the build to work with Tcl 9.0.

FossilOrigin-Name: 6e5bb48a74d63fb8c30528f0005d1763cd2dbb882abf86baf1565721e6bfcf84

11 months agoFix documentation typo.
drh [Sat, 27 Jul 2024 20:28:13 +0000 (20:28 +0000)] 
Fix documentation typo.
[forum:/forumpost/993cb82402|Forum post 993cb82402]

FossilOrigin-Name: 86de4e755e37dc1cbcbd59018927aa87ff49fc15f706a36187631d8f14075c12

11 months agowasm minimal build: strip authorizers and JSON support (saves approx 35kb). Strip...
stephan [Wed, 24 Jul 2024 23:58:28 +0000 (23:58 +0000)] 
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.

FossilOrigin-Name: eb64d106551718467e0f6c6b53695410bf4c566901008e4cda8580d0f7efa7b0

11 months agoRestructuring of the wasm build to support an experimental 'minimal' build mode which...
stephan [Wed, 24 Jul 2024 22:07:18 +0000 (22:07 +0000)] 
Restructuring of the wasm build to support an experimental 'minimal' build mode which elides all non-core APIs.

FossilOrigin-Name: ee2191f7302210100fa0b29ace8156531ad995bf61aa2642e526e0901d0c6862

11 months agoAdd the percentile extension to the CLI by default.
drh [Wed, 24 Jul 2024 13:53:51 +0000 (13:53 +0000)] 
Add the percentile extension to the CLI by default.

FossilOrigin-Name: bcc31846964102385d5a21eb5e85d7db153b155e76b4e2847c9453d3d0e1af04

11 months agoAdd the percentile_cont(Y,P) variant of percentile() to the percentile
drh [Wed, 24 Jul 2024 13:41:09 +0000 (13:41 +0000)] 
Add the percentile_cont(Y,P) variant of percentile() to the percentile
extension.

FossilOrigin-Name: 095c22e62248f8ef50cd8531171827f50a7bdd4fc1128bf0e616a3eb2dce980e

11 months agoJNI SQLTester: fix --new command to force-replace db if it already exists. Add no...
stephan [Wed, 24 Jul 2024 12:12:11 +0000 (12:12 +0000)] 
JNI SQLTester: fix --new command to force-replace db if it already exists. Add no-op impls for --stmt-cache and --jsonglob commands.

FossilOrigin-Name: f1185dc349d076a6b8ea22f9b5cd527bfd60e9afd55eaec754c0e2b4d7edd5d4

11 months agoEnhance the percentile() extension function to include the median()
drh [Tue, 23 Jul 2024 16:23:46 +0000 (16:23 +0000)] 
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().

FossilOrigin-Name: 6e31b1bab1f014933c671a12a5930c1e88d611cfe68d389e9ce888bd8842addd

11 months agoDoc typo fix. No code changes.
stephan [Mon, 22 Jul 2024 21:46:55 +0000 (21:46 +0000)] 
Doc typo fix. No code changes.

FossilOrigin-Name: 8d558ad25bfbdea04de87616d4e3f664b5749a7d23643d1a0238e991b4bb337e

11 months agoMove a block of JS code which was inadvertently (and harmlessly) moved in the previou...
stephan [Mon, 22 Jul 2024 21:21:25 +0000 (21:21 +0000)] 
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.

FossilOrigin-Name: 6cd9f55a975b5237efee8776efce7e7836b41905ca750f82be3b90aa04c1dff2

11 months agoOPFS VFSes: remove the on-open() pragma calls, as those (A) already reflected the...
stephan [Mon, 22 Jul 2024 20:58:51 +0000 (20:58 +0000)] 
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.

FossilOrigin-Name: 19cd8e2b056d7842ee39afb7160c901c9dc55a5bac8049cb0b5246210f6b920d

11 months agowasm build: resolve a circular dep and do some minor tidying up.
stephan [Mon, 22 Jul 2024 19:52:02 +0000 (19:52 +0000)] 
wasm build: resolve a circular dep and do some minor tidying up.

FossilOrigin-Name: 9df3f1f24c6346dc94695bf533501c54379bb6e3cf492b67dda8a64a6a1eb495

11 months agoFixes to TreeView debugging output for VALUES clauses.
drh [Sun, 21 Jul 2024 23:34:52 +0000 (23:34 +0000)] 
Fixes to TreeView debugging output for VALUES clauses.

FossilOrigin-Name: b6aed8bcb06edc7f0221fd707d5adc227856fe62dbcaae5ffe1fb4faa5c542e1

11 months agoImproved debugging output when using PRAGMA vdbe_addoptrace:
drh [Sun, 21 Jul 2024 23:10:55 +0000 (23:10 +0000)] 
Improved debugging output when using PRAGMA vdbe_addoptrace:
Show the range of opcodes being checked for Column-to-Copy conversion.

FossilOrigin-Name: 2c122026db979a099a3d1a14ae1e01a0a64a559905ea414b2d80ed7dc3e04846

11 months agoFix an oversized allocation in sqlite3ExprCodeIN().
dan [Sat, 20 Jul 2024 16:11:12 +0000 (16:11 +0000)] 
Fix an oversized allocation in sqlite3ExprCodeIN().

FossilOrigin-Name: d7be326a80e7b3aa8fd6e5e059c04e6ad3feaffcb20b1e3c251d7195ddc1be8b

11 months agoMinor typo fixes in test-script-interpreter.md.
stephan [Thu, 18 Jul 2024 19:17:29 +0000 (19:17 +0000)] 
Minor typo fixes in test-script-interpreter.md.

FossilOrigin-Name: bf54b26092ded2e6acc779acfb960364f05c665c7626c38ffae61caae5636184

11 months agoFix a problem in FTS5 where it reports the wrong error code following an OOM.
drh [Thu, 18 Jul 2024 18:44:44 +0000 (18:44 +0000)] 
Fix a problem in FTS5 where it reports the wrong error code following an OOM.

FossilOrigin-Name: 0c1cc4071edcd3e465779bbb17ea3ee6ddaa7c93c4fde55e5f3e07aa4b45783b

11 months agoFixes for platforms with 32-bit pointers that require 64-bit values to be aligned.
dan [Wed, 17 Jul 2024 18:38:34 +0000 (18:38 +0000)] 
Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned.

FossilOrigin-Name: 539e4f661767ef90aef8d995f1f75fd5f550703bba1517cd3caff84a4afe2b37

11 months agoAdd extra assert() statements to the fixes on this branch. alignment-fixes
dan [Wed, 17 Jul 2024 16:27:36 +0000 (16:27 +0000)] 
Add extra assert() statements to the fixes on this branch.

FossilOrigin-Name: 81b6360050eea95e4367de1b41b5864a640b4d1c5c8fc3bea3b96ed770cb0325

11 months agoSlight doc touchup for [af41a1e6fc8b36e9bf65] based on feedback. No code changes.
stephan [Mon, 15 Jul 2024 10:11:21 +0000 (10:11 +0000)] 
Slight doc touchup for [af41a1e6fc8b36e9bf65] based on feedback. No code changes.

FossilOrigin-Name: be7b1fc0c5d8cda971b471dfcb4637212bfff4f42b1e074077a381cc493d877a

11 months agoImprove one of the JS test cases.
stephan [Sat, 13 Jul 2024 18:16:40 +0000 (18:16 +0000)] 
Improve one of the JS test cases.

FossilOrigin-Name: 3767d8bef2dfa661b56c1bfaa4695e32ce26874154e4a322f0d599c257c6fc70

11 months agoFixes for platforms with 32-bit pointers that require 64-bit values to be aligned.
dan [Sat, 13 Jul 2024 16:53:56 +0000 (16:53 +0000)] 
Fixes for platforms with 32-bit pointers that require 64-bit values to be aligned.

FossilOrigin-Name: 2212d7488ed4ec2839ffa45cb9567056b36519434834634e4ecc441c330694d7

11 months agoAdd JS binding for sqlite3_column_decltype().
stephan [Sat, 13 Jul 2024 15:42:30 +0000 (15:42 +0000)] 
Add JS binding for sqlite3_column_decltype().

FossilOrigin-Name: 5252d292b14f6ed99b09f6330b19effd488c2b23ff6ea33311321a065d3f6ce2

11 months agoJS doc touchups. No code changes.
stephan [Sat, 13 Jul 2024 15:21:35 +0000 (15:21 +0000)] 
JS doc touchups. No code changes.

FossilOrigin-Name: a8e240495ff7e0cd38301ef2de215a7cc10fea832311bd19ca2592858ee4e6ff

11 months agoAdd JS bindings for sqlite3_stmt_busy() and sqlite3_stmt_explain().
stephan [Sat, 13 Jul 2024 14:07:47 +0000 (14:07 +0000)] 
Add JS bindings for sqlite3_stmt_busy() and sqlite3_stmt_explain().

FossilOrigin-Name: b772edfb44143107d4993bde600d0f4c45184f29a4deee403105c64748c36523

11 months agoAdd missing sqlite3_bind_parameter_name() binding to JS.
stephan [Sat, 13 Jul 2024 13:22:32 +0000 (13:22 +0000)] 
Add missing sqlite3_bind_parameter_name() binding to JS.

FossilOrigin-Name: 6dcfcc7e1c0772b11aec750bb75899a5c8e452735ecf5028c001fbaa7aa6fda0

11 months agoAdd JS bindings and tests for sqlite3_interrupted(), is_interrupted(), and db_readonly().
stephan [Sat, 13 Jul 2024 12:50:42 +0000 (12:50 +0000)] 
Add JS bindings and tests for sqlite3_interrupted(), is_interrupted(), and db_readonly().

FossilOrigin-Name: 5589ba5651d80479ae555429340fc74390ff07d3e05ba770bb7d82490211e00d

11 months agoRemove a stray/harmless duplicate wasm function export entry.
stephan [Sat, 13 Jul 2024 11:47:44 +0000 (11:47 +0000)] 
Remove a stray/harmless duplicate wasm function export entry.

FossilOrigin-Name: 5402e4fb1cbd7a2c3dee6ebfb492a076d05daa66f747d18602338874405829df

11 months agoAdd several convenience links to the OPFS VFS concurrency tester app for launching...
stephan [Sat, 13 Jul 2024 01:40:36 +0000 (01:40 +0000)] 
Add several convenience links to the OPFS VFS concurrency tester app for launching it with various combinations of options.

FossilOrigin-Name: 397d6a18f173a46b60a867fc45611045c76316d6602a3df8b4dc4ba45e1348ce

11 months agoAdd an option to the opfs-sahpool VFS which tells it to ignore a previous init failur...
stephan [Sat, 13 Jul 2024 01:02:57 +0000 (01:02 +0000)] 
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 [https://github.com/sqlite/sqlite-wasm/issues/79|issue #79 of the npm distribution].

FossilOrigin-Name: fbf3948a4ba27c6ebf55b24e7463b20026439f04d1974bafe78df5c5bc958f59

11 months agoRename the new opfs-sahpool init-retry flag to the suitably descriptive, and suitably... sahpool-reinit-fallback
stephan [Sat, 13 Jul 2024 00:55:55 +0000 (00:55 +0000)] 
Rename the new opfs-sahpool init-retry flag to the suitably descriptive, and suitably onerous, forceReinitIfPreviouslyFailed, based on feedback.

FossilOrigin-Name: c9f0a6090258534a3d81066df5610229183a8457fc60d5034b4b94d9a29796e4

11 months agosqldiff: fail if the 2nd db argument cannot be opened read-only.
stephan [Fri, 12 Jul 2024 14:41:16 +0000 (14:41 +0000)] 
sqldiff: fail if the 2nd db argument cannot be opened read-only.

FossilOrigin-Name: e8b33525fc2b4d609a7be9acc43fbc66638effaa7b092b48568ded6c53c4f4db

11 months agoWork around a difficult-to-trigger Atomics API message-passing quirk in the OPFS...
stephan [Fri, 12 Jul 2024 13:49:54 +0000 (13:49 +0000)] 
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 [https://github.com/sqlite/sqlite-wasm/issues/12 | issue #12 of the npm distribution].

FossilOrigin-Name: af41a1e6fc8b36e9bf65a5bb0154e1ce7eb99903cb5a3e4779322527c29d8780

11 months agosqldiff: if the first db argument does not exist, fail instead of creating an empty...
stephan [Fri, 12 Jul 2024 13:45:15 +0000 (13:45 +0000)] 
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:ec2d429e32 | forum post ec2d429e32].

FossilOrigin-Name: 0547ccf776c6054732437bffb8b2fe2ed5194ef817c2593f8cec4a3e2b749720

11 months agoReformulate the forceReinitIfFailed handling based on feedback, to correct the type...
stephan [Thu, 11 Jul 2024 19:50:17 +0000 (19:50 +0000)] 
Reformulate the forceReinitIfFailed handling based on feedback, to correct the type-checking and resolve a potential race condition.

FossilOrigin-Name: c4f468309158f9b951137461213fb269d96d15c331256cf392a56c9bed231460