]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
21 months agoShow the "(utf8)" tag on the CLI banner in Windows if in UTF8 mode. cli-utf8
drh [Tue, 12 Sep 2023 14:09:45 +0000 (14:09 +0000)] 
Show the "(utf8)" tag on the CLI banner in Windows if in UTF8 mode.

FossilOrigin-Name: 822699a4d9756ec68f17d6e06da7f994730bcf5c7d69ca15e9131721c4ff3b19

21 months agoAdd the -no-utf8 option to the Windows CLI to cause UTF-8 mode to be omitted.
drh [Mon, 11 Sep 2023 20:09:05 +0000 (20:09 +0000)] 
Add the -no-utf8 option to the Windows CLI to cause UTF-8 mode to be omitted.

FossilOrigin-Name: 4cb799c690986b8bd38d07461998824fa53418f7fe31f59d0bf38cae328d9b89

21 months agoMake the -utf8 option the default behavior in the CLI on Windows for 64-bit
drh [Mon, 11 Sep 2023 20:02:38 +0000 (20:02 +0000)] 
Make the -utf8 option the default behavior in the CLI on Windows for 64-bit
builds.

FossilOrigin-Name: 8b3c306def81546c5987f0f245d2bf3960218254c2833e9c27cd242e9118db62

21 months agoRefuse to build amalgamation-tarball and snapshot-tarball if the TEA version
drh [Mon, 11 Sep 2023 15:27:27 +0000 (15:27 +0000)] 
Refuse to build amalgamation-tarball and snapshot-tarball if the TEA version
number disagrees with ./VERSION.

FossilOrigin-Name: 3308fdda4b81c110ba4a66d0b325e7653c2f8155e7864aeb78991ed1da061836

21 months agoMerge in JNI's significant divergence since it adopted sqlite3_client_data().
stephan [Mon, 11 Sep 2023 15:20:15 +0000 (15:20 +0000)] 
Merge in JNI's significant divergence since it adopted sqlite3_client_data().

FossilOrigin-Name: e8e07dbbeaa7799eb0b90726e18e994aaf8c8d316ab4bdb06da732bc51cf0919

21 months agoAdd support for the sqlite3_get_clientdata() and sqlite3_set_clientdata()
drh [Mon, 11 Sep 2023 14:55:05 +0000 (14:55 +0000)] 
Add support for the sqlite3_get_clientdata() and sqlite3_set_clientdata()
interfaces, to better support JNI.

FossilOrigin-Name: 9806c0dd2802d68b67c25c4f3347ed532f9a98b051e775d34e9182dd2f099891

21 months agoRoll back [84e38341aeab] because a direct pointer comparison is ill-advised when... db-client-data
stephan [Sun, 10 Sep 2023 10:56:28 +0000 (10:56 +0000)] 
Roll back [84e38341aeab] because a direct pointer comparison is ill-advised when the client-data string is dynamically allocated.

FossilOrigin-Name: 7b884832b71c23e62ba3c0d53f7c89199734c351f909d84ac19ac18c7ddccbd8

21 months agoRemove out-of-date comment regarding use of Parse.pConstExpr.
dan [Sat, 9 Sep 2023 17:53:55 +0000 (17:53 +0000)] 
Remove out-of-date comment regarding use of Parse.pConstExpr.

FossilOrigin-Name: 71548f72ad578db3d6ee409956386ace23ab2258d37cdc29ef2fb126e48f1ee3

21 months agoIn the JNI build, emit a reminder to not check in the javac-generated sqlite3-jni... jni-client-data
stephan [Sat, 9 Sep 2023 11:20:35 +0000 (11:20 +0000)] 
In the JNI build, emit a reminder to not check in the javac-generated sqlite3-jni.h when FTS5 is disabled because changes in that feature flag result in unnecessary and large diffs in checked-in generated code.

FossilOrigin-Name: caceb52fb58f924e7cbbebac05e7fd7822b7f6f56a3f834392d2be801bf04633

21 months agoDisable FTS5 in the JNI build by default until it can be thoroughly tested. This...
stephan [Sat, 9 Sep 2023 07:52:05 +0000 (07:52 +0000)] 
Disable FTS5 in the JNI build by default until it can be thoroughly tested. This is mainly so that the public-facing javadoc does not include it.

FossilOrigin-Name: 6f25f02b70f561864264a71a85cb5efa05550743371fd655804033ea08d00f33

21 months agoAdd extra tests for [4b60a1c3].
dan [Fri, 8 Sep 2023 19:18:02 +0000 (19:18 +0000)] 
Add extra tests for [4b60a1c3].

FossilOrigin-Name: 6357491bd1b97f7abddf1a83860f3763cd870033bddc74bd9994a6440fe8c762

21 months agoFix a problem with fts5 secure-delete mode causing fts5 to corrupt its records.
dan [Fri, 8 Sep 2023 18:34:42 +0000 (18:34 +0000)] 
Fix a problem with fts5 secure-delete mode causing fts5 to corrupt its records.

FossilOrigin-Name: 4b60a1c358c966f161601e749ccb0a7c5f4126e20350f4d6c83b6f35841fbe0a

21 months agoAdd -DSQLITE_OMIT_LOOKASIDE=1 to the "Sanitize" configuration in testrunner_data...
dan [Thu, 7 Sep 2023 17:54:12 +0000 (17:54 +0000)] 
Add -DSQLITE_OMIT_LOOKASIDE=1 to the "Sanitize" configuration in testrunner_data.tcl.

FossilOrigin-Name: a917ebf17b27951d1c6906e9068e816ef29861701f2e8f4f1a13acce5737f680

21 months agoEnhance the ./configure script and its associated Makefile.in so that the
drh [Thu, 7 Sep 2023 16:53:30 +0000 (16:53 +0000)] 
Enhance the ./configure script and its associated Makefile.in so that the
--with-linenoise=DIR argument cause the linenoise command-line editing
library located in directory DIR to be linked with the sqlite3 CLI.

FossilOrigin-Name: 6c7822b554c01f01e3e02a385b3370313022b16ba8d932c2ba5d3c3be61361fe

21 months agoFix a buffer overread in the sessions extension that could occur when processing...
dan [Thu, 7 Sep 2023 13:53:09 +0000 (13:53 +0000)] 
Fix a buffer overread in the sessions extension that could occur when processing a corrupt changeset.

FossilOrigin-Name: 0e4e7a05c4204b47a324d67e18e76d2a98e26b2723d19d5c655ec9fd2e41f4b7

21 months agoFix a harmless compiler warning in the sqldiff.c utility.
drh [Thu, 7 Sep 2023 13:48:42 +0000 (13:48 +0000)] 
Fix a harmless compiler warning in the sqldiff.c utility.

FossilOrigin-Name: e6390a656713b855258277b65066d2a701cedd05981f1672c9acc2d6dc37d032

21 months agoAdd the "tool-zip" makefile target with the intention of using it to build
drh [Thu, 7 Sep 2023 13:43:46 +0000 (13:43 +0000)] 
Add the "tool-zip" makefile target with the intention of using it to build
the "sqlite-tool-*.zip" deliverables.
deliverables.

FossilOrigin-Name: 06e4af492d669bb45c00b1b876cd82ec8813ac9ed580eb1dddd18147f7fbe7f6

21 months agoFix a problem with the new xIntegrity method for virtual tables, and also fix
drh [Thu, 7 Sep 2023 02:13:01 +0000 (02:13 +0000)] 
Fix a problem with the new xIntegrity method for virtual tables, and also fix
a bad assert() in FTS3 that was found by the new xIntegrity method.

FossilOrigin-Name: 52bbf44f2d9addc2b5f68b0fe33542470852310ce3a283e2c7ff4c52831d0ed1

21 months agoAdd documentation to sqlite3_get/set_clientdata() to make it clear that these
drh [Wed, 6 Sep 2023 17:07:53 +0000 (17:07 +0000)] 
Add documentation to sqlite3_get/set_clientdata() to make it clear that these
are security-sensitive interfaces that should not be exposed to potential
attackers.

FossilOrigin-Name: 2837061d66672a0a73c3fd2ff35ce0e1a66ee6d5365be25d4cc0ccba170c3665

21 months agoAdd the xIntegrity method to the sqlite3_module object, thus enabling
drh [Wed, 6 Sep 2023 16:51:13 +0000 (16:51 +0000)] 
Add the xIntegrity method to the sqlite3_module object, thus enabling
PRAGMA integrity_check to operate on virtual tables.  Make use of this
new method in the FTS3/4, FTS5, and RTREE virtual tables.

FossilOrigin-Name: 2f08e7d233b6ddc28b61f0d17ae9b815a91c3c6e080862ce009dc0ad73c64cf5

21 months agoFix unreachable branches. vtab-integrity-check
drh [Wed, 6 Sep 2023 16:22:48 +0000 (16:22 +0000)] 
Fix unreachable branches.

FossilOrigin-Name: f00fc16394427f25249dd58c25a9115fef1ae389e232d574b4e91db2e7f8c04d

21 months agoChange the xIntegrity virtual table method signature so that it returns
drh [Wed, 6 Sep 2023 14:00:01 +0000 (14:00 +0000)] 
Change the xIntegrity virtual table method signature so that it returns
an integer error code and writes the error message into a parameter.

FossilOrigin-Name: f1d4024a8ca06cf954aaf1f612684d1a5d28492bde757695db3f22c50c649709

21 months agoAdd the xIntegrity method to the sqlite3_module object. Implement this
drh [Wed, 6 Sep 2023 12:52:00 +0000 (12:52 +0000)] 
Add the xIntegrity method to the sqlite3_module object.  Implement this
method in RTREE, FTS3/4, and FTS5 so that "PRAGMA integrity_check" also
verifies the correctness of shadow tables associated with those virtual
tables.

FossilOrigin-Name: 17bede8cdefd968210dd8a5a2617acbe12ba2c99fdd5e88c5def8665e7bec2d7

21 months agoMove Java-side FTS5 bits into the fts5 subpackage to (A) make it easy to optionally...
stephan [Wed, 6 Sep 2023 07:39:25 +0000 (07:39 +0000)] 
Move Java-side FTS5 bits into the fts5 subpackage to (A) make it easy to optionally bundle it (or not) and (B) set a precedent for puting extension APIs in their own package.

FossilOrigin-Name: 4c773e1f331cd5854d4c6e8825197933c0bb6827b7437e56ac0ad650d1ddf55e

21 months agoJava FTS5 API renaming, for consistency.
stephan [Wed, 6 Sep 2023 06:54:25 +0000 (06:54 +0000)] 
Java FTS5 API renaming, for consistency.

FossilOrigin-Name: 5e4cc9f386364858c6457c40f13f01e1826a59086aa7f0fa10244ea846f5acfd

22 months agoFix a few SQLITE_MISUSE returns so that they call sqlite3MisuseError().
drh [Tue, 5 Sep 2023 15:03:23 +0000 (15:03 +0000)] 
Fix a few SQLITE_MISUSE returns so that they call sqlite3MisuseError().

FossilOrigin-Name: 93f74490faf8cc07e107afdab6737c6e5141ae1f01a05142bfcede2dd1b2ba4e

22 months agoAdd tests for, and source code comments to, fts5. No changes to code.
dan [Mon, 4 Sep 2023 16:48:31 +0000 (16:48 +0000)] 
Add tests for, and source code comments to, fts5. No changes to code.

FossilOrigin-Name: b12afff4efe4de84388d102060e8c312abd2f9eca8270b3c0f01ac6d1f2e329a

22 months agoDo not make assumptions about the byteorder of PowerPC processors.
drh [Mon, 4 Sep 2023 12:50:17 +0000 (12:50 +0000)] 
Do not make assumptions about the byteorder of PowerPC processors.

FossilOrigin-Name: 4a2498fed4c5436fbcd4179db85e2741fdab37d42b0eebf12f41ec4573ce2c61

22 months agoIn JNI routines which set an OutputPointer.value, always do so, even on error, for...
stephan [Mon, 4 Sep 2023 06:15:37 +0000 (06:15 +0000)] 
In JNI routines which set an OutputPointer.value, always do so, even on error, for consistency.

FossilOrigin-Name: d0df62f0af19a69f7ceb3ad1dceda0d8cc2ca5016a6e2a3a1e36356424c3ca49

22 months agoRemove several unnececessary functions.
stephan [Mon, 4 Sep 2023 05:58:13 +0000 (05:58 +0000)] 
Remove several unnececessary functions.

FossilOrigin-Name: 84433c72b0b08e7906ef87758caffe98f95df812945a7aea675bbc20791e33c0

22 months agoMove an internal utility class out of the public Java API.
stephan [Mon, 4 Sep 2023 05:34:30 +0000 (05:34 +0000)] 
Move an internal utility class out of the public Java API.

FossilOrigin-Name: 8e1ae3197a62796565b7260b230057bdb3f136edd00a83f8a63532d44d386243

22 months agoExpose sqlite3_bind_parameter_name() to JNI. Extend the definition of null for the...
stephan [Mon, 4 Sep 2023 04:23:31 +0000 (04:23 +0000)] 
Expose sqlite3_bind_parameter_name() to JNI. Extend the definition of null for the @NotNull annotation, to consider closed/finalized Java-side handles wrapping C-side resources as null for its purposes.

FossilOrigin-Name: fc34e2bfa4a2255f019a2514367e58596837289de49f7fab87279c8b40c7f119

22 months agoAdd the missing sqlite3_blob_read() to [9a9945c405cf]. Elaborate on the definition...
stephan [Sun, 3 Sep 2023 14:41:13 +0000 (14:41 +0000)] 
Add the missing sqlite3_blob_read() to [9a9945c405cf]. Elaborate on the definition of the @NotNull annotation.

FossilOrigin-Name: 85952b4a52a09e9da35754c1a1ec70b1bf277296011a2d37ac536b33437223d7

22 months agoExpose the sqlite3_blob_...() APIs to JNI.
stephan [Sun, 3 Sep 2023 14:13:29 +0000 (14:13 +0000)] 
Expose the sqlite3_blob_...() APIs to JNI.

FossilOrigin-Name: 9a9945c405cfe9b6bf399655f498457da66b06c8b92014510ab9fb83fbb1c7d4

22 months agoExpose sqlite3_system_errno() to JNI.
stephan [Sun, 3 Sep 2023 12:46:09 +0000 (12:46 +0000)] 
Expose sqlite3_system_errno() to JNI.

FossilOrigin-Name: bac54da29c19ef5e0a76599b5d10b377ecd7b391a651af99526529df16a83c7d

22 months agoExpose sqlite3_stmt_status() to JNI.
stephan [Sun, 3 Sep 2023 12:32:09 +0000 (12:32 +0000)] 
Expose sqlite3_stmt_status() to JNI.

FossilOrigin-Name: d266acc23ecb7e76c8c68c6e89a76e6f3054f33f0262e60e06b258db5a5e2ccd

22 months agoExpose sqlite3_randomness() to JNI.
stephan [Sun, 3 Sep 2023 12:17:34 +0000 (12:17 +0000)] 
Expose sqlite3_randomness() to JNI.

FossilOrigin-Name: de9692242132b8f2c92ef4acb08dd3063327b18666cbb17c4f1153dee9146eaf

22 months agoExpose sqlite3_get/set_auxdata() to JNI.
stephan [Sun, 3 Sep 2023 11:58:33 +0000 (11:58 +0000)] 
Expose sqlite3_get/set_auxdata() to JNI.

FossilOrigin-Name: 0de3271717e0298070097d7ea0ecb996d2e95cf65384e494515a554d0a1dffed

22 months agoExpose sqlite3_get_autocommit() to JNI.
stephan [Sun, 3 Sep 2023 11:16:48 +0000 (11:16 +0000)] 
Expose sqlite3_get_autocommit() to JNI.

FossilOrigin-Name: 67391c6588c71af411767d1e4b63c5041a8a9e669102da318e3482ccfc9d9bb9

22 months agoRemove some unnecessary code.
stephan [Sun, 3 Sep 2023 11:08:31 +0000 (11:08 +0000)] 
Remove some unnecessary code.

FossilOrigin-Name: c7f9bbbbf0252c9749450e3ec994bf5ac945bd62428657ddff469291a0fd4b0d

22 months agoAdd a couple more sqlite3_backup tests.
stephan [Sun, 3 Sep 2023 10:36:21 +0000 (10:36 +0000)] 
Add a couple more sqlite3_backup tests.

FossilOrigin-Name: 5c2cf89d2c3ae5fc31b5e311bc2f2c1fef0037bdb0dff48c0a2a6bb6610e0215

22 months agoExport the sqlite3_backup_...() APIs to JNI.
stephan [Sun, 3 Sep 2023 10:23:03 +0000 (10:23 +0000)] 
Export the sqlite3_backup_...() APIs to JNI.

FossilOrigin-Name: 865a3df5d550f6f4edbf95854750706e4e747d8f1825ae73d300b8e31934959b

22 months agoExport the sqlite3_keyword_...() family of functions to JNI.
stephan [Sun, 3 Sep 2023 09:28:45 +0000 (09:28 +0000)] 
Export the sqlite3_keyword_...() family of functions to JNI.

FossilOrigin-Name: bd554db39159d8a538ce913d55285e3c417db8823c717a3e34bfa0678de42be7

22 months agoPerformance optimization to the OP_MakeRecord opcode.
drh [Sat, 2 Sep 2023 19:35:15 +0000 (19:35 +0000)] 
Performance optimization to the OP_MakeRecord opcode.

FossilOrigin-Name: 2aef9af3dd493a82ba090ccb8ab1b8974349392ec3f1c35db7a3dbbec41b5c51

22 months agoAdd sqlite3_config(SQLITE_CONFIG_LOG) support to Java and correct clearing of SQLITE_...
stephan [Sat, 2 Sep 2023 14:36:41 +0000 (14:36 +0000)] 
Add sqlite3_config(SQLITE_CONFIG_LOG) support to Java and correct clearing of SQLITE_CONFIG_SQLLOG. Correct missing names in propagated UDF exception messages.

FossilOrigin-Name: 652e2e82100ac3d8238d15ef6d43de4162fd02d695db4936ad5706fe4f2d7dc3

22 months agoExpose sqlite3_complete() to JNI. Slightly widen the definition of "canonical" for...
stephan [Sat, 2 Sep 2023 12:53:25 +0000 (12:53 +0000)] 
Expose sqlite3_complete() to JNI. Slightly widen the definition of "canonical" for the purposes of the @Canonical annotation. Add a few new tests.

FossilOrigin-Name: a59fe0cd9552128ca4186f4e66f0d188f2a57c7647f43828e42cb95801f350ce

22 months agoDuplicate code consolidation.
stephan [Sat, 2 Sep 2023 11:26:36 +0000 (11:26 +0000)] 
Duplicate code consolidation.

FossilOrigin-Name: a1872ae959cca11d5d8bc224aaeb0b53e772d999df9924b2e9ea84ceedb99148

22 months agoRemove a superfluous level of indirection in the JNI internals.
stephan [Sat, 2 Sep 2023 10:18:10 +0000 (10:18 +0000)] 
Remove a superfluous level of indirection in the JNI internals.

FossilOrigin-Name: 8dca6f7660c15eacbda20da1c66c9ef1de36864f78750658226b1a7baf22b726

22 months agoFurther JNI cleanups.
stephan [Sat, 2 Sep 2023 08:51:14 +0000 (08:51 +0000)] 
Further JNI cleanups.

FossilOrigin-Name: 30e38173c3ece0c9f8e7a9710f46cb5e8e8ef101c04531318a7adb070242f5dd

22 months agoOptimize sqlite3_get/set_clientdata() for the presumably common case of a static...
stephan [Sat, 2 Sep 2023 08:04:56 +0000 (08:04 +0000)] 
Optimize sqlite3_get/set_clientdata() for the presumably common case of a static string pointer.

FossilOrigin-Name: 84e38341aeab4fd51690e8536d0101d00e3fb11cc50ebcff05ed219c98328872

22 months agoAdd a timer to the JS SQLTester app to warn if it appears that loading the module...
stephan [Fri, 1 Sep 2023 17:51:09 +0000 (17:51 +0000)] 
Add a timer to the JS SQLTester app to warn if it appears that loading the module has failed, which is commonly caused by the test scripts not being compiled.

FossilOrigin-Name: f9c1f9cad1ad22f689a4afa13d59bf9969ddaed6624cbc16cb1bf5d1fd0c8a5b

22 months agoCorrect a Tester1.java test which inadvertently created a spurious db file in the...
stephan [Fri, 1 Sep 2023 16:28:46 +0000 (16:28 +0000)] 
Correct a Tester1.java test which inadvertently created a spurious db file in the current dir. Unrelated minor cleanups.

FossilOrigin-Name: 016bbdadbf9f95cef185d2606c23e3b3c724586fcca470e11e6fbdbaefd75c79

22 months agoMake the JNI-internal metrics opt-in rather than opt-out so client builds won't have...
stephan [Fri, 1 Sep 2023 14:20:39 +0000 (14:20 +0000)] 
Make the JNI-internal metrics opt-in rather than opt-out so client builds won't have them by default. Unrelated doc tweaks.

FossilOrigin-Name: aa72d25a22c80a7a376127266b8923f0661147c8bc483baa327230364851a255

22 months agoMake JNI interfaces of sqlite3_column/value_text() match the C ones better. Internal...
stephan [Fri, 1 Sep 2023 13:27:59 +0000 (13:27 +0000)] 
Make JNI interfaces of sqlite3_column/value_text() match the C ones better. Internal JNI cleanups and simplifications.

FossilOrigin-Name: eb24f97253d9c8e7c728c2ac67a0824b10ca67362ac4f8abb94d5d3c54c58c5b

22 months agoSecond half of [1c532e80].
stephan [Fri, 1 Sep 2023 11:10:09 +0000 (11:10 +0000)] 
Second half of [1c532e80].

FossilOrigin-Name: 8ca1d815a57be1fade59fb8ea5705c27b10294e4959c8a9c624f1623df6a5f63

22 months agoIn the OPFS VFS' importDb() methods, overwrite the header bytes 18 and 19 with 1...
stephan [Fri, 1 Sep 2023 11:05:22 +0000 (11:05 +0000)] 
In the OPFS VFS' importDb() methods, overwrite the header bytes 18 and 19 with 1 instead of 0. Both seem to work, but 1 is correct.

FossilOrigin-Name: 1c532e807bf8466b67d9600ab9630a6736de77259e9a71ac435641715ee0e04b

22 months agoRemove some newly-dead code.
stephan [Fri, 1 Sep 2023 10:37:15 +0000 (10:37 +0000)] 
Remove some newly-dead code.

FossilOrigin-Name: dc0fa76b395c5e352116dc33cc1b455e5e9c9f01c285af52ccba4d37e4453b87

22 months agoExpose sqlite3_limit() to JNI and remove the all SQLITE_ macros from the Java interfa...
stephan [Fri, 1 Sep 2023 10:32:31 +0000 (10:32 +0000)] 
Expose sqlite3_limit() to JNI and remove the all SQLITE_ macros from the Java interface which are not directly exposed to client-level C code (SQLITE_MAX_... and SQLITE_THREADSAFE_...).

FossilOrigin-Name: 5fe5b0a585dbfa06cfca1fea40aea5ea3ccfe8295f41306ad2d5b851ace27203

22 months agoJNI build improvements. Rename a Java class. Get the jar target working again.
stephan [Fri, 1 Sep 2023 09:43:56 +0000 (09:43 +0000)] 
JNI build improvements. Rename a Java class. Get the jar target working again.

FossilOrigin-Name: d086b7844cace5c997261c97565aeef62aaeeef727ccc7e83f17c54d6217b779

22 months agoExpose sqlite3_stmt_explain(), sqlite3_stmt_isexplain(), and sqlite3_stmt_readonly...
stephan [Fri, 1 Sep 2023 06:50:17 +0000 (06:50 +0000)] 
Expose sqlite3_stmt_explain(), sqlite3_stmt_isexplain(), and sqlite3_stmt_readonly() to JNI.

FossilOrigin-Name: 208b786afe16eafaf0ce791f319a5e05f733a7b71ce1c542e1b83481b013ec38

22 months agoExport sqlite3_txn_state() to JNI.
stephan [Thu, 31 Aug 2023 19:35:59 +0000 (19:35 +0000)] 
Export sqlite3_txn_state() to JNI.

FossilOrigin-Name: d732f71d0a292dbb493f79f7c6ecd8a4effbfbc91453b1c54bdd9becf2d75bdb

22 months agoMinor JNI cleanups.
stephan [Thu, 31 Aug 2023 18:34:43 +0000 (18:34 +0000)] 
Minor JNI cleanups.

FossilOrigin-Name: 2e2bb841ef8b53266ec48d8c3408d6396f29f17922e858eac1b4f12f4adeb05e

22 months agoDo not disable unused columns in a UNION ALL sub-query if any component of the sub...
dan [Thu, 31 Aug 2023 18:00:10 +0000 (18:00 +0000)] 
Do not disable unused columns in a UNION ALL sub-query if any component of the sub-query is DISTINCT.

FossilOrigin-Name: c84d5602ac9bfb4f12c3cf62033af616e51913c26877d1a0761363a625295f53

22 months agoAdd convenience overloads of JNI sqlite3_table_column_metadata() to simplify usage.
stephan [Thu, 31 Aug 2023 15:24:46 +0000 (15:24 +0000)] 
Add convenience overloads of JNI sqlite3_table_column_metadata() to simplify usage.

FossilOrigin-Name: faf4e6d398f444d970be8b1364c984c67ccbc5f8a27f3aa93f05b8a8de7bec9b

22 months agoExport sqlite3_(db_)free_memory() and sqlite3_table_column_metadata() to JNI. Further...
stephan [Thu, 31 Aug 2023 14:57:01 +0000 (14:57 +0000)] 
Export sqlite3_(db_)free_memory() and sqlite3_table_column_metadata() to JNI. Further internals renaming for consistency and legibility.

FossilOrigin-Name: 7c86aa3400ed591d38c1828f366f4b5de97954c2b301919d3f06d9c2d3d7d1f2

22 months agoUse mutexes to make sqlite3_set_clientdata() and sqlite3_get_clientdata()
drh [Wed, 30 Aug 2023 18:51:26 +0000 (18:51 +0000)] 
Use mutexes to make sqlite3_set_clientdata() and sqlite3_get_clientdata()
threadsafe.

FossilOrigin-Name: 443ea20ddb0f3bf5d77ef59cd4678f0e32d7da328002bb44d6fc080a53a37e29

22 months agoReplace JNI's per-db-instance state tracking with the new sqlite3_set/get_clientdata().
stephan [Wed, 30 Aug 2023 18:45:42 +0000 (18:45 +0000)] 
Replace JNI's per-db-instance state tracking with the new sqlite3_set/get_clientdata().

FossilOrigin-Name: e7c11d34ee2eebdca4d9db1496bbb4152e4c62745c083ad5e0337733e8d1254e

22 months agoFix a bug in json_array_length() introduced in version 3.43.0 by
drh [Wed, 30 Aug 2023 18:19:40 +0000 (18:19 +0000)] 
Fix a bug in json_array_length() introduced in version 3.43.0 by
check-in [df099ad713011b67].  If the JSON input comes from json_remove(),
the removed array entries are still counted as part of the array length.

FossilOrigin-Name: 69a635958a4a14187e88dd297df8978a4805b1b0c7bff3ec29d5632c0f68d889

22 months agoRemove another unreachable branch in the sqlite3_set_clientdata() logic.
drh [Wed, 30 Aug 2023 17:41:55 +0000 (17:41 +0000)] 
Remove another unreachable branch in the sqlite3_set_clientdata() logic.

FossilOrigin-Name: 57e31e6b10b2aa68b6039914d191819bae0aa60999a99d5ef23ca18128b72e0e

22 months agoRemove an unreachable branch, and improve documentation of
drh [Wed, 30 Aug 2023 17:14:12 +0000 (17:14 +0000)] 
Remove an unreachable branch, and improve documentation of
sqlite3_set_clientdata().

FossilOrigin-Name: 565c68adee64b6c838f2fcb162485b6cfe9a976adb79de4370be98fcd4af2baf

22 months agoFix the AVG() and TOTAL() functions (after the SUM() fix of [77d3dcd283595c52])
drh [Wed, 30 Aug 2023 16:03:27 +0000 (16:03 +0000)] 
Fix the AVG() and TOTAL() functions (after the SUM() fix of [77d3dcd283595c52])
so that they work with infinitites.  Fixes a bug introduced by check-in.
[c63e26e705f5e967].  Bug reported by
[forum:/forumpost/8960fb40cc|forum post 8960fb40cc].

FossilOrigin-Name: 6df6f17ccb404c648076ccff4200d0eb5437f0e3e82424bf3da5ea682b107bb4

22 months agoFurther tweaking in both SQLTesters.
stephan [Wed, 30 Aug 2023 15:51:42 +0000 (15:51 +0000)] 
Further tweaking in both SQLTesters.

FossilOrigin-Name: 46b0eb98e7a56cc188836c46f4289de6281f80e6bc6eb33e0aa9133a0f86f00c

22 months agoFix to the sqlite3_get_clientdata() interface.
drh [Wed, 30 Aug 2023 15:42:41 +0000 (15:42 +0000)] 
Fix to the sqlite3_get_clientdata() interface.

FossilOrigin-Name: 937cd1762b36d48d9e7bafe42e99e524c9b5528d39f64521bce2f81d9c887db8

22 months agoNew experimental API for attaching client data to a database connection.
drh [Wed, 30 Aug 2023 15:20:15 +0000 (15:20 +0000)] 
New experimental API for attaching client data to a database connection.

FossilOrigin-Name: d542837fdb42ebe810fc99225860d2cc7e6dd829a635bde820a09beff6bcb481

22 months agoWhen a JS SQLTester script throws, report the exception details back to the UI regard...
stephan [Wed, 30 Aug 2023 14:20:02 +0000 (14:20 +0000)] 
When a JS SQLTester script throws, report the exception details back to the UI regardless of whether it's fatal.

FossilOrigin-Name: 273d3b05f630d399d42914e95c416b107b4746bbef129cfba9d00fd921666261

22 months agoAdd a JS implementation of Java's SQLTester.
stephan [Wed, 30 Aug 2023 13:07:35 +0000 (13:07 +0000)] 
Add a JS implementation of Java's SQLTester.

FossilOrigin-Name: b530792a514d95c4e8f93cf2170d9fc4de367055fa1704fc171551c946024fa9

22 months agoAdd a UI, of sorts, to the JS SQLTester. js-tester
stephan [Wed, 30 Aug 2023 11:54:43 +0000 (11:54 +0000)] 
Add a UI, of sorts, to the JS SQLTester.

FossilOrigin-Name: 249e82b9917ea47c56ee1cbd3345a977d335fd3fc0d67a1ef157813ef4571c7c

22 months agoAdd a mechanism with which to import external SQLTester scripts into the JS testing...
stephan [Wed, 30 Aug 2023 00:22:54 +0000 (00:22 +0000)] 
Add a mechanism with which to import external SQLTester scripts into the JS testing tool.

FossilOrigin-Name: bb08ba020ce1d86ca6aa92f43d5ae915f67d08fa73120e1f603d150e76166624

22 months agoAdd directives support to JS SQLTester comparable to the Java impl. This brings the...
stephan [Tue, 29 Aug 2023 21:30:37 +0000 (21:30 +0000)] 
Add directives support to JS SQLTester comparable to the Java impl. This brings the two to feature parity.

FossilOrigin-Name: 7cef4a8300826adbdcb3b205e134a4272b12b4aa7dbee97731ac12282a4a9f06

22 months agoMore fleshing out of JS SQLTester.
stephan [Tue, 29 Aug 2023 20:44:40 +0000 (20:44 +0000)] 
More fleshing out of JS SQLTester.

FossilOrigin-Name: 8c503dfb9fa15389613a819fcc1792e23d3c05f99a9f450f82eac5125298726f

22 months agoJS SQLTestRunner can now run the Java impl's core-most sanity tests, missing only...
stephan [Tue, 29 Aug 2023 20:01:01 +0000 (20:01 +0000)] 
JS SQLTestRunner can now run the Java impl's core-most sanity tests, missing only support for directives.

FossilOrigin-Name: 5e798369375ce1b0c9cdf831f835d931fbd562ff7b4db09a06d1bdca2ac1b975

22 months agoNew conversion letters added to strftime(): %e, %k, %I, %l, %R, %P, %p, %T, %u.
drh [Tue, 29 Aug 2023 18:28:08 +0000 (18:28 +0000)] 
New conversion letters added to strftime(): %e, %k, %I, %l, %R, %P, %p, %T, %u.

FossilOrigin-Name: 058722b2d0b995195a8ce3effe9722ae1c18cb1e7a520b481030da0bd579fe41

22 months agoGet the JS SQLTester command handlers in place sans those which have to run SQL.
stephan [Tue, 29 Aug 2023 15:39:57 +0000 (15:39 +0000)] 
Get the JS SQLTester command handlers in place sans those which have to run SQL.

FossilOrigin-Name: d21b1217964a53f33b7ba3958b34aa8560dff8ede33e66f54aa0afbab7099ec3

22 months agoChange the version number to 3.44.0 to begin the next development
drh [Tue, 29 Aug 2023 15:38:54 +0000 (15:38 +0000)] 
Change the version number to 3.44.0 to begin the next development
cycle.  (Should have done this a few check-ins ago.)

FossilOrigin-Name: 253fe4a45decdcc4180c5aeccaf4cd0d1325a0f6df0913b0e6721ea3e26b4fe2

22 months agoAdd support for the CONCAT() and CONCAT_WS() SQL functions, modeled after
drh [Tue, 29 Aug 2023 15:24:41 +0000 (15:24 +0000)] 
Add support for the CONCAT() and CONCAT_WS() SQL functions, modeled after
the PostgreSQL behavior.

FossilOrigin-Name: 0b434ca7aa19eff4ad134a8c6f88f6a7ccab88864faa55e93579a2462d8ac3bc

22 months agoGet the basic parsing pieces and command dispatching in place in the JS SQLTester.
stephan [Tue, 29 Aug 2023 13:28:36 +0000 (13:28 +0000)] 
Get the basic parsing pieces and command dispatching in place in the JS SQLTester.

FossilOrigin-Name: 8fcc2a553c1e26734902bbdee0c38183ee22b7b5c75f07405529bb79db34145a

22 months agoInit bits of a port of Java's SQLTester to JS. Far from complete.
stephan [Tue, 29 Aug 2023 11:22:45 +0000 (11:22 +0000)] 
Init bits of a port of Java's SQLTester to JS. Far from complete.

FossilOrigin-Name: 60eec5ceda80c64870713df8e9aeabeef933c007f2010792225a07d5ef36baef

22 months agoChange a variable from "int" to "i64" to make it easier to prove that it cannot overflow.
dan [Tue, 29 Aug 2023 10:50:11 +0000 (10:50 +0000)] 
Change a variable from "int" to "i64" to make it easier to prove that it cannot overflow.

FossilOrigin-Name: 00a8b3a263f3537588063ce42fad6e21fa343dad850b086d0929ed1617eb44fc

22 months agoRemove some dead code. Add a skeleton SQLTester script for fts5.
stephan [Tue, 29 Aug 2023 00:10:31 +0000 (00:10 +0000)] 
Remove some dead code. Add a skeleton SQLTester script for fts5.

FossilOrigin-Name: 6c83e31fa96f65b61377c0c801cc32b3c8ca27a0c8442f860364bec258c003cb

22 months agoFactor out a superfluous struct member.
stephan [Mon, 28 Aug 2023 23:18:19 +0000 (23:18 +0000)] 
Factor out a superfluous struct member.

FossilOrigin-Name: 76d3911c370b3dc02d119045003f87ad20a6efd9f7a44d4feb59b7c801ac8981

22 months agoFurther minor internal JNI simplifications.
stephan [Mon, 28 Aug 2023 22:52:04 +0000 (22:52 +0000)] 
Further minor internal JNI simplifications.

FossilOrigin-Name: 1808d12ee0d1f1e5ee49d48c699ca10c4f822989ac9b4ac08f2b861513ee5997

22 months agoImprove threadability of the JNI collation-related bindings and add infrastructure...
stephan [Mon, 28 Aug 2023 21:27:32 +0000 (21:27 +0000)] 
Improve threadability of the JNI collation-related bindings and add infrastructure for similar cases.

FossilOrigin-Name: f02dad66b965b9e3c504001e9603af8f74977f151bede9db369f88e86a4aeb00

22 months agoCorrect JNI mapping of collations to be 1-db-to-many-collations.
stephan [Mon, 28 Aug 2023 20:21:56 +0000 (20:21 +0000)] 
Correct JNI mapping of collations to be 1-db-to-many-collations.

FossilOrigin-Name: b927b0f5a68684b0a9799396d153bf1e2306351e8039c2bacb3d5b2056a0634f

22 months agoUpdates to testrunner.tcl so that it runs fuzztest using multiple jobs.
dan [Mon, 28 Aug 2023 20:14:19 +0000 (20:14 +0000)] 
Updates to testrunner.tcl so that it runs fuzztest using multiple jobs.

FossilOrigin-Name: ceeabe9f8b31a30c65147fd270b92d43c7842247548cee9de165113991f6c2cf

22 months agoFix the "sdevtest" testrunner.tcl command so that it correctly enables asan on windows. testrunner
dan [Mon, 28 Aug 2023 20:02:59 +0000 (20:02 +0000)] 
Fix the "sdevtest" testrunner.tcl command so that it correctly enables asan on windows.

FossilOrigin-Name: 6463192369ff22eb15d4e34590ef55cd8a6f2501227835664816277806bf961b

22 months agoFixes for testrunner.tcl on windows.
dan [Mon, 28 Aug 2023 18:15:14 +0000 (18:15 +0000)] 
Fixes for testrunner.tcl on windows.

FossilOrigin-Name: 26ae090889640bfcf02a6dd5aa58044edd4d0708a11d8e005149f1a3c8495bba

22 months agoAnother fix for valgrind permutation. Remove the "copydir" table column - just add...
dan [Mon, 28 Aug 2023 16:28:00 +0000 (16:28 +0000)] 
Another fix for valgrind permutation. Remove the "copydir" table column - just add a [cp] or [copy] command to the test script where this functionality is required.

FossilOrigin-Name: 448b9a575e66960a0885864f88b99b6ea15655c77a42eef956c09c8dc70e539a

22 months agoRemove a pair of what are arguably unnecessary mutex locks (and often hit). More...
stephan [Mon, 28 Aug 2023 16:22:31 +0000 (16:22 +0000)] 
Remove a pair of what are arguably unnecessary mutex locks (and often hit). More JNI-internal cleanups.

FossilOrigin-Name: ecf07a0144dc6402b1e0924b1775d99dc465b27aa86a2718cac60a9b4c974312

22 months agoUpdate tool/mkctimec.tcl to account for [fe7365254d343e].
stephan [Mon, 28 Aug 2023 16:05:19 +0000 (16:05 +0000)] 
Update tool/mkctimec.tcl to account for [fe7365254d343e].

FossilOrigin-Name: 349aac7e8d513bc420e8948b84cf715e454443439fdcd5aff0f2b13815a9cbb3

22 months agoAdd support for the -DSQLITE_EXTRA_AUTOEXT=name compile-time option.
drh [Mon, 28 Aug 2023 15:58:00 +0000 (15:58 +0000)] 
Add support for the -DSQLITE_EXTRA_AUTOEXT=name compile-time option.
[forum:/forumpost/00829394c74a670f|forum thread 00829394c74a670f].

FossilOrigin-Name: fe7365254d343ed03e11a4e9cad7f0e5d5182b9220c6fde6d30e434ebdaba2af