]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
2 years agoMerge trunk into jni-threading branch.
stephan [Sat, 19 Aug 2023 12:34:23 +0000 (12:34 +0000)] 
Merge trunk into jni-threading branch.

FossilOrigin-Name: 8254479c6ff1ea3cc9e56de1698db8405c03da90b9bf4c401182e47e0842baf8

2 years agoJNI doc additions.
stephan [Sat, 19 Aug 2023 12:32:00 +0000 (12:32 +0000)] 
JNI doc additions.

FossilOrigin-Name: 0c7ac34f30e1f7e35a2ac4e5e55e5f24857b24afa81a7abecba60f1c9c68b9ff

2 years agoJNI test code cleanups.
stephan [Sat, 19 Aug 2023 11:52:36 +0000 (11:52 +0000)] 
JNI test code cleanups.

FossilOrigin-Name: e202b6e69da8cced114d027cf2e91a04dfdd50b601b3274214783f7d750c558c

2 years agoMinor JNI cleanups.
stephan [Sat, 19 Aug 2023 11:26:52 +0000 (11:26 +0000)] 
Minor JNI cleanups.

FossilOrigin-Name: 1cecb9e0383aa78c491f9ba88c831a88b4b2d40ceef1b87be494b6ddc0789e41

2 years agoAdd multi-thread run mode to JNI Tester1. It works but hangs on exit sometimes for...
stephan [Sat, 19 Aug 2023 10:43:05 +0000 (10:43 +0000)] 
Add multi-thread run mode to JNI Tester1. It works but hangs on exit sometimes for Java reasons as yet not understood.

FossilOrigin-Name: bdbaf7a4534f40e550b646979e67e7b7731566bb5a2631ed376ac85a9bec40a7

2 years agoReplace JNI::NewStringUTF() for the remaining cases where output may be incompatible...
stephan [Sat, 19 Aug 2023 08:22:34 +0000 (08:22 +0000)] 
Replace JNI::NewStringUTF() for the remaining cases where output may be incompatible with MUTF-8. It is now only used when we know the output to be plain ASCII.

FossilOrigin-Name: 2d955eef25ab116c487ebc34c6f2d2836d310af239ef1993f5aeee5a3f68d590

2 years agoshell.c.in help text typo fix. No functional changes.
stephan [Sat, 19 Aug 2023 08:12:10 +0000 (08:12 +0000)] 
shell.c.in help text typo fix. No functional changes.

FossilOrigin-Name: c319033276c3565d0f1f2cae1c91791940d322fe79696bc26d74fddeb2664373

2 years agoRename the decimal_sci() function to decimal_exp().
drh [Fri, 18 Aug 2023 15:39:38 +0000 (15:39 +0000)] 
Rename the decimal_sci() function to decimal_exp().
[forum:/forumpost/fa027bb0ab|Forum post fa027bb0ab].

FossilOrigin-Name: c48f1be8cc505a7e2902c79e26c1d9a121ff5c55785ac812d2e09232b2414695

2 years agoAvoid running test case sort2.2.3 under address-sanitizer. It runs out of memory...
dan [Fri, 18 Aug 2023 15:17:52 +0000 (15:17 +0000)] 
Avoid running test case sort2.2.3 under address-sanitizer. It runs out of memory on some 32-bit platforms.

FossilOrigin-Name: 925be7539947078547ee129b3d328ab0c59b19c6e2e5a391840f2d58f6d59acd

2 years agoEnhance the CLI and the fuzzcheck utility programs to report whether they
drh [Fri, 18 Aug 2023 12:15:44 +0000 (12:15 +0000)] 
Enhance the CLI and the fuzzcheck utility programs to report whether they
are compiled as 32-bit or 64-bit for things like the --version option.

FossilOrigin-Name: ec7eeb055bfb0e5a4467d8a45fa53d84bb8ae80ca0474b687e2783e971648008

2 years agoEnhance the notes on compiling for Windows11 to explain how to do
drh [Fri, 18 Aug 2023 11:36:33 +0000 (11:36 +0000)] 
Enhance the notes on compiling for Windows11 to explain how to do
32-bit builds on a 64-bit system.

FossilOrigin-Name: dd749e4042bdffb20fe71dd2dba91eab5edc32e4b2773c2fadba43cb54027a17

2 years agoRemove some obsolete JNI-internal docs.
stephan [Thu, 17 Aug 2023 22:04:07 +0000 (22:04 +0000)] 
Remove some obsolete JNI-internal docs.

FossilOrigin-Name: 00a2a3736a6dcde81d920815520040f3c47f965165e7128ca1f4062e6ec7c17c

2 years agoDo not allow bound parameters in the ON CONFLICT clause of an UPSERT.
drh [Thu, 17 Aug 2023 17:48:20 +0000 (17:48 +0000)] 
Do not allow bound parameters in the ON CONFLICT clause of an UPSERT.
dbsqlfuzz 9983e2c77634a8ccf33b5c91fa9982599de5f9e9

FossilOrigin-Name: 3c06709335eb4b98e3a684e3ebbae69eeb6a21b452bce29159c82bb632d6a042

2 years agoFix an error in documentation comments in fts5.h.
dan [Thu, 17 Aug 2023 16:59:35 +0000 (16:59 +0000)] 
Fix an error in documentation comments in fts5.h.

FossilOrigin-Name: 24d96bd65d8ccdd50a6f4fe217d196728a2f8658d128f9352c287f64e034104a

2 years agoAdd extra test to fts5synonym2.test.
dan [Thu, 17 Aug 2023 16:49:06 +0000 (16:49 +0000)] 
Add extra test to fts5synonym2.test.

FossilOrigin-Name: 39ea11be3b35c5ecde9bc0fe66af673b8f440dc523422887d05a29feef036b01

2 years agoAdd "Windows-Sanitize" configuration to "testrunner.tcl release" tests on windows.
dan [Thu, 17 Aug 2023 16:06:17 +0000 (16:06 +0000)] 
Add "Windows-Sanitize" configuration to "testrunner.tcl release" tests on windows.

FossilOrigin-Name: e68b46dc6aff48c81a2a5e7662d0f694615b64aa50bcfee9a0b8b25fa4e5f33d

2 years agoHave all test names in json101.test start with "json101".
dan [Thu, 17 Aug 2023 15:14:43 +0000 (15:14 +0000)] 
Have all test names in json101.test start with "json101".

FossilOrigin-Name: af56d7b6b9c50f2541a51fcb7d94b89aafba4f343a9103b21a15aad3f283c63e

2 years agoEnable address sanitizer in Makefile.msc by adding the ASAN=1 argument on
drh [Thu, 17 Aug 2023 15:11:59 +0000 (15:11 +0000)] 
Enable address sanitizer in Makefile.msc by adding the ASAN=1 argument on
the nmake command line.

FossilOrigin-Name: 3eaadaff85111103c9441a9d6cd31291b95db9f3a6ec7003e0ff4ce5db7490da

2 years agoFix a possible UAF in SEH if an exception occurs at an inopportune moment
drh [Thu, 17 Aug 2023 14:19:44 +0000 (14:19 +0000)] 
Fix a possible UAF in SEH if an exception occurs at an inopportune moment
during WAL processing.

FossilOrigin-Name: 91b91037e348fa10cf6a9d8a0ffbfdebb4a40e0e336b65b112ed1c828e75cda7

2 years agoTighten up the JNI auto-ext handling.
stephan [Thu, 17 Aug 2023 13:13:22 +0000 (13:13 +0000)] 
Tighten up the JNI auto-ext handling.

FossilOrigin-Name: c09c8d05a20d916a9d9304eeea723ef7666a862a9e53f5feeeb1b03f9153d4b2

2 years agoMinor internal JNI cleanups and fixes.
stephan [Thu, 17 Aug 2023 12:44:52 +0000 (12:44 +0000)] 
Minor internal JNI cleanups and fixes.

FossilOrigin-Name: 0e9437de026cbfb333b90bb3400f1c015f85d49d73a25ad1000623216b88bfa0

2 years agoRemove the FIXME markers related to threading. Code style cleanups.
stephan [Thu, 17 Aug 2023 10:49:06 +0000 (10:49 +0000)] 
Remove the FIXME markers related to threading. Code style cleanups.

FossilOrigin-Name: 154ab26dc6ba2d1fd976e8fe6dc1b1a06c734f7e9a276a3edc5c2f30b0d6d36a

2 years agoRefinements to instructions on compiling for Windows.
drh [Wed, 16 Aug 2023 17:23:42 +0000 (17:23 +0000)] 
Refinements to instructions on compiling for Windows.

FossilOrigin-Name: d543c36c35f71c5f0a7ebf6f496feca40d16566d0c5b2c2ba205ff43437ffcd1

2 years agoImproved instructions on how to build SQLite on Windows 11 and similar.
drh [Wed, 16 Aug 2023 17:12:26 +0000 (17:12 +0000)] 
Improved instructions on how to build SQLite on Windows 11 and similar.

FossilOrigin-Name: 0f6b2b33736ee07f17f3a4e5f077bb4d0e2481c8f81251b8ce6b78510f372237

2 years agoMake sqlite3_stmt_explain() accessible to loadable extensions.
drh [Wed, 16 Aug 2023 15:27:49 +0000 (15:27 +0000)] 
Make sqlite3_stmt_explain() accessible to loadable extensions.

FossilOrigin-Name: a237a31ff4a7cd3dc744af1e1ebb9466e42eebafa31c1b5c0027cbaee9babc9b

2 years agoMix the current process ID into the randomness used for generating
drh [Wed, 16 Aug 2023 15:10:07 +0000 (15:10 +0000)] 
Mix the current process ID into the randomness used for generating
temporary filenames on Windows.

FossilOrigin-Name: 775a36ee093df4b5f7529a43eeaee9d5a9a943ad5ed8ae03bc74e459e87ba438

2 years agoUpdate testrunner.tcl to use environment variable %NUMBER_OF_PROCESSES% when running...
dan [Wed, 16 Aug 2023 14:18:53 +0000 (14:18 +0000)] 
Update testrunner.tcl to use environment variable %NUMBER_OF_PROCESSES% when running under tclsh on windows. Also modify the internal database schema used by testrunner.tcl to be compatible with old versions of SQLite.

FossilOrigin-Name: 6542ed3b9e028c44aca504eadca843ee9b2ba08f5f650523238dd1253f7e221b

2 years agoFix test script problem preventing veryquick.test from running.
dan [Wed, 16 Aug 2023 13:55:38 +0000 (13:55 +0000)] 
Fix test script problem preventing veryquick.test from running.

FossilOrigin-Name: e73886574042108eb31641d0820c273c10b83fbf08ac6cb52d3e4c27830e2c23

2 years agoCherrypick [00ac653562a6] to remove stray JNI debug output. No functional changes.
stephan [Tue, 15 Aug 2023 21:44:22 +0000 (21:44 +0000)] 
Cherrypick [00ac653562a6] to remove stray JNI debug output. No functional changes.

FossilOrigin-Name: e12d70f38c0ed5c0abf9a1e30ce4db59a4426e1e8cb1f8f07834fc1bedfcc65a

2 years agoCherrypick [653ed92dc391] (went to wrong branch). Doc change only, no code changes.
stephan [Tue, 15 Aug 2023 20:57:42 +0000 (20:57 +0000)] 
Cherrypick [653ed92dc391] (went to wrong branch). Doc change only, no code changes.

FossilOrigin-Name: 79a14457f0067814e7c33de709e2f9e19ab880d3eebbcb6f9fcce52a4720ecac

2 years agoUpdate testrunner.tcl to make it easier to add things like mdevtest.
dan [Tue, 15 Aug 2023 18:52:25 +0000 (18:52 +0000)] 
Update testrunner.tcl to make it easier to add things like mdevtest.

FossilOrigin-Name: a531b71c4fd64fff6008876af825107ebc403f80dcb95273a05936ff6587b7aa

2 years agoImprove the portability of the src-verify.c tool on Windows.
drh [Tue, 15 Aug 2023 18:08:14 +0000 (18:08 +0000)] 
Improve the portability of the src-verify.c tool on Windows.

FossilOrigin-Name: 4068d94acd042a0a9887fba8ba38fa94c6f41a6d3c7a61d5514a57f613b3d278

2 years agoFix problems in fts5 test code.
dan [Tue, 15 Aug 2023 14:53:49 +0000 (14:53 +0000)] 
Fix problems in fts5 test code.

FossilOrigin-Name: c16ed3b1cc7b4c21bfa96062bf9028ae071c89e63df3b444b59f1753594e4e94

2 years agoUse a dodgy substitute if the INFINITY macro is not available. See
drh [Tue, 15 Aug 2023 12:27:27 +0000 (12:27 +0000)] 
Use a dodgy substitute if the INFINITY macro is not available. See
[forum:/forumpost/8e66e19bb9|forumpost 8e66e19bb9].

FossilOrigin-Name: 4ae72c896761df5cd37c98ca3eeee7d4c6af3e4ccf74edd88ff902ef38f0765b

2 years agoFix the PRAGMA case_sensitive_like command so that the LIKE function continues
drh [Tue, 15 Aug 2023 11:58:22 +0000 (11:58 +0000)] 
Fix the PRAGMA case_sensitive_like command so that the LIKE function continues
to be innocuous after the PRAGMA.
[forum:/forumpost/925dc9f67804c540|Forum post 925dc9f67804c540].

FossilOrigin-Name: 84c268c34cba7207a90dad2a8e972ce90c85304e91f4933c76963822ad1ae48b

2 years agoFix an off-by-one error causing a buffer overread in test2.c.
dan [Tue, 15 Aug 2023 10:57:08 +0000 (10:57 +0000)] 
Fix an off-by-one error causing a buffer overread in test2.c.

FossilOrigin-Name: e1edf95ecc8f6840fd62abe83121fddeab7413c316b2e20b60fd3b2c8fdd4dca

2 years agoMinor reshaping of Tester1 moving towards making a multi-threaded run mode.
stephan [Tue, 15 Aug 2023 09:26:47 +0000 (09:26 +0000)] 
Minor reshaping of Tester1 moving towards making a multi-threaded run mode.

FossilOrigin-Name: f104c14c26c123ee78c09fc1bc59efb8668dc624da05c1d8dbeaf3c9dd02a393

2 years agoFix the autoconf makefile for the CLI such that it disables double-quoted
drh [Mon, 14 Aug 2023 19:10:48 +0000 (19:10 +0000)] 
Fix the autoconf makefile for the CLI such that it disables double-quoted
strings by default, as all other builds of the CLI do.
[forum:/forumpost/9794b6aaa5|forum post 9794b6aaa5].

FossilOrigin-Name: 85fd4f0ef41a883448f16d55b7f8bd5c7b1d9c89a3d7d9bcae9c2744ed843099

2 years agoFix a problem in sqlite3_snapshot_recover() introduced by the [8a6b0c24937e855b]...
dan [Mon, 14 Aug 2023 18:21:56 +0000 (18:21 +0000)] 
Fix a problem in sqlite3_snapshot_recover() introduced by the [8a6b0c24937e855b] merge.

FossilOrigin-Name: c2577eb0a4a627c65d675f1446514843486092be9cb271b682793a0107e496cd

2 years agoBring handling of the Java auto-ext handler more in line with the core in terms of...
stephan [Mon, 14 Aug 2023 17:12:55 +0000 (17:12 +0000)] 
Bring handling of the Java auto-ext handler more in line with the core in terms of locking and mutability during traversal. This removes the explicit synchronous requirement from the Java open() and auto-ext bindings.

FossilOrigin-Name: 42994b952e092ae4fa319395208622e887387ca3ff8ac57961c824a6c272bf0e

2 years agoChange the name of the ".binary" command in the CLI to ".crnl". The sense of
drh [Mon, 14 Aug 2023 13:33:19 +0000 (13:33 +0000)] 
Change the name of the ".binary" command in the CLI to ".crnl".  The sense of
the setting is inverted.  The original ".binary" still works for backwards
compatibility but is now undocumented.  ".crnl" is also undocumented on machines
where it is a no-op (all machines other than Windows).
[forum:/forumpost/8bd0b0fbdbc12477|forum thread 8bd0b0fbdbc12477]

FossilOrigin-Name: 544de2da09cd7b9bbb6cb4c52bb22325ace3391fca00c6a43847bfc158032b66

2 years agoMore work on the JNI-specific mutexes. Rework the NativePointerHolder cache lookup...
stephan [Mon, 14 Aug 2023 13:27:40 +0000 (13:27 +0000)] 
More work on the JNI-specific mutexes. Rework the NativePointerHolder cache lookup to be slightly simpler and O(1) instead of O(N).

FossilOrigin-Name: c84ded0e59aea4861d72b53b4b40cf580747c0f6ca58c334a996f1a825276cb5

2 years agoFix harmless compiler warnings reported by MSVC.
drh [Mon, 14 Aug 2023 12:20:44 +0000 (12:20 +0000)] 
Fix harmless compiler warnings reported by MSVC.

FossilOrigin-Name: 391e21bb6e0b2f4632972b6617a3a18192f88deb29eee5bc060846468e624b21

2 years agoEnable SEH be default in Windows builds.
drh [Mon, 14 Aug 2023 12:05:38 +0000 (12:05 +0000)] 
Enable SEH be default in Windows builds.

FossilOrigin-Name: faae792fd5db7afeb7e4345d96f14c8986ea9a3cd4764ddee71314bfca36ac71

2 years agoJNI-internal docs and removal of obsolete code.
stephan [Mon, 14 Aug 2023 08:28:46 +0000 (08:28 +0000)] 
JNI-internal docs and removal of obsolete code.

FossilOrigin-Name: b62d93258b6a661f3a9b61468b3b641c14faf2d2196f78aca95fe14de43c9444

2 years agoInternal API renaming for clarity's sake.
stephan [Sun, 13 Aug 2023 20:58:12 +0000 (20:58 +0000)] 
Internal API renaming for clarity's sake.

FossilOrigin-Name: 911e4fc5aaf9478214095a65f74af3ebca883922c36cf7a8d911116c42cf9de8

2 years agoAdd a mutex for auto-extensions, tied in to the open() process since that's the route...
stephan [Sun, 13 Aug 2023 12:40:27 +0000 (12:40 +0000)] 
Add a mutex for auto-extensions, tied in to the open() process since that's the route into auto-extensions.

FossilOrigin-Name: 8da97e0db4eeacf91aa6fd909fd7cb73b050d194dfc7739a502b55f7eca6d7b1

2 years agoAdd some docs and metrics for the new mutex internals.
stephan [Sun, 13 Aug 2023 10:28:35 +0000 (10:28 +0000)] 
Add some docs and metrics for the new mutex internals.

FossilOrigin-Name: 33d1780b43182d2574adbc1928707af825c485c99762738e58bc6d7c6c52ac6a

2 years agoRemove SQLITE_DEBUG from JNI build.
stephan [Sun, 13 Aug 2023 10:22:15 +0000 (10:22 +0000)] 
Remove SQLITE_DEBUG from JNI build.

FossilOrigin-Name: 82f004cf7408c503c5787b46c7b13ceb0a20a3ad1d4f69d56127772c40e214a1

2 years agoAn initial attempt at protecting the JNI global state via mutexes at the C level...
stephan [Sun, 13 Aug 2023 09:53:27 +0000 (09:53 +0000)] 
An initial attempt at protecting the JNI global state via mutexes at the C level instead of relying on Java's synchronized keyword. It seems to work but increases the run time of the single-threaded batch tester by roughly 3 times.

FossilOrigin-Name: c64e6a52ac79164be37fe643a4a39bd187af198a379410def8b8419f7c2224d4

2 years agoBind sqlite3_interrupt() and sqlite3_is_interrupted() to JNI but with caveats regardi...
stephan [Sat, 12 Aug 2023 23:47:58 +0000 (23:47 +0000)] 
Bind sqlite3_interrupt() and sqlite3_is_interrupted() to JNI but with caveats regarding mutexing of the JNIEnv cache. Add a loud warning to the JNI 'dist' target that it should be built with JDK8 (a.k.a. Java 1.8) for compatibility reasons.

FossilOrigin-Name: fbf99a2423dd20e4544bdeea85f714e9368ce3b92fefe97efb39a0fb4a557abe

2 years agoMerge the Java Native Interface (JNI) binding into trunk.
stephan [Sat, 12 Aug 2023 21:39:18 +0000 (21:39 +0000)] 
Merge the Java Native Interface (JNI) binding into trunk.

FossilOrigin-Name: 48b13edcec6935bf125b265b41a3e6f7b2407afff89d5b4daa2939e3c5679ca0

2 years agoUpdate wasm's push-testing rule to exclude files which were recently removed from...
stephan [Sat, 12 Aug 2023 21:08:41 +0000 (21:08 +0000)] 
Update wasm's push-testing rule to exclude files which were recently removed from the build.

FossilOrigin-Name: 0a6930a7ff8f8c6ca244d1d654532f3d2a02d77ef67c6cae0c53092743d59ea6

2 years agoCorrect JNI .jar rules to only include *.java/class files, not *.* (*~ files). jni
stephan [Sat, 12 Aug 2023 20:50:29 +0000 (20:50 +0000)] 
Correct JNI .jar rules to only include *.java/class files, not *.* (*~ files).

FossilOrigin-Name: 1ba7754045a009d9c94b23ac76b9bb8d9c9cb24d42dcdf1203ee75ac85765d3e

2 years agoFix the mdevtest target so that it works with msvc.
dan [Sat, 12 Aug 2023 19:58:47 +0000 (19:58 +0000)] 
Fix the mdevtest target so that it works with msvc.

FossilOrigin-Name: 01f49448cd0cfe3af499aedfe887b7b0be4f1ab09cd5a16119ddafb32b107708

2 years agoFix testrunner.tcl so that it restarts itself using [testfixture] if its current...
dan [Sat, 12 Aug 2023 19:25:26 +0000 (19:25 +0000)] 
Fix testrunner.tcl so that it restarts itself using [testfixture] if its current interpreter does not support [package require sqlite3].

FossilOrigin-Name: 408be98dddf500f2d6c9049703997836d80d156d86cf297f664175a107f7331e

2 years agoHave the mdevtest target support the OPTS variable on unix.
dan [Sat, 12 Aug 2023 18:23:38 +0000 (18:23 +0000)] 
Have the mdevtest target support the OPTS variable on unix.

FossilOrigin-Name: 940f58d9b944d3344b40a4bc020842d9b6703685c9c51f4010e265afd98608ff

2 years agoAdd "mdevtest" target to makefiles. Equivalent to running "devtest" on both debug...
dan [Sat, 12 Aug 2023 17:36:57 +0000 (17:36 +0000)] 
Add "mdevtest" target to makefiles. Equivalent to running "devtest" on both debug and non-debug builds.

FossilOrigin-Name: af354fbc0be06d5792a1e712ec4e9cec4c6cb4521335aa31f8f51ca5c94499ae

2 years agoMore JNI docs.
stephan [Sat, 12 Aug 2023 15:37:53 +0000 (15:37 +0000)] 
More JNI docs.

FossilOrigin-Name: 290028d3ca5638f3bb18a0b243c7ba3c31c8a2b1a837c36ec29e0fc4ed6533f0

2 years agoFurther simplifications in the interface of the OutputPointer family of Java classes.
stephan [Sat, 12 Aug 2023 15:09:09 +0000 (15:09 +0000)] 
Further simplifications in the interface of the OutputPointer family of Java classes.

FossilOrigin-Name: 962c3e0de2d64ab8a2bcf1a19f9c4224df3d15a41ac9f9b29da685be95c4ef7a

2 years agoTweaks and docs for the OutputPointer family of Java classes.
stephan [Sat, 12 Aug 2023 10:39:26 +0000 (10:39 +0000)] 
Tweaks and docs for the OutputPointer family of Java classes.

FossilOrigin-Name: 265c8fd0d4d425054f6bf7e9cb607ad2e0e46189f16c3014f7fdf9b650085497

2 years agoBind sqlite3_db_status() to JNI.
stephan [Sat, 12 Aug 2023 10:27:08 +0000 (10:27 +0000)] 
Bind sqlite3_db_status() to JNI.

FossilOrigin-Name: b79477a0af94127b0638a8822de01156bef855a7e167f678809e1c978e1a0c3e

2 years agoBind sqlite3_status(64)() to JNI.
stephan [Sat, 12 Aug 2023 10:06:59 +0000 (10:06 +0000)] 
Bind sqlite3_status(64)() to JNI.

FossilOrigin-Name: cefb6614e65ca1764ec72702f92f801382e63aa9b221fc9c68719d497e7499fd

2 years agoModernize the sqlite3 shell man page a bit, per [forum:d9aa201dee553bb2|forum request].
stephan [Fri, 11 Aug 2023 22:40:06 +0000 (22:40 +0000)] 
Modernize the sqlite3 shell man page a bit, per [forum:d9aa201dee553bb2|forum request].

FossilOrigin-Name: 3bc0693c4633f545f09dbee702e25354504b20836373a068447e6c61cb2ebd79

2 years agoAdd timing info to SQLTester.
stephan [Fri, 11 Aug 2023 21:25:33 +0000 (21:25 +0000)] 
Add timing info to SQLTester.

FossilOrigin-Name: b69b5facbf94e03e74d4a739ab85c5baac1c9ecbea8c330b2135d77e525b5d8a

2 years agoMerge trunk into jni branch.
stephan [Fri, 11 Aug 2023 21:24:08 +0000 (21:24 +0000)] 
Merge trunk into jni branch.

FossilOrigin-Name: 4f0aeeba0287e846908180eab6f7080ebe1323ebe49340771864d110e1ca5b2b

2 years agoFix a makefile deps problem which caused ext/jni build to fail if sqlite3.c/h were...
stephan [Fri, 11 Aug 2023 20:32:40 +0000 (20:32 +0000)] 
Fix a makefile deps problem which caused ext/jni build to fail if sqlite3.c/h were not created beforehand.

FossilOrigin-Name: 101de670774f63757180282763730aa53e70198bd7a674c27e6044632d39d22a

2 years agoIf SQLITE_USE_SEH is defined, handle structured-exceptions thrown by MSVC builds...
dan [Fri, 11 Aug 2023 19:31:51 +0000 (19:31 +0000)] 
If SQLITE_USE_SEH is defined, handle structured-exceptions thrown by MSVC builds if the *-shm file mapping is accessed after it becomes invalid for some reason.

FossilOrigin-Name: 8a6b0c24937e855b710f97b4aea973eff53e6d43e1182842731547aa4b37db2a

2 years agoMinor SQLTester test tweaks and have 'make tester' include the out-of-tree tests...
stephan [Fri, 11 Aug 2023 18:59:57 +0000 (18:59 +0000)] 
Minor SQLTester test tweaks and have 'make tester' include the out-of-tree tests if they are found.

FossilOrigin-Name: 6c8538d83495ce65dbd7417263b3b06dbbb2a649e9a61a743911944599d75ffc

2 years agoBind sqlite3_sql() and sqlite3_expanded_sql() to JNI. Start marking C-side functions...
stephan [Fri, 11 Aug 2023 18:04:53 +0000 (18:04 +0000)] 
Bind sqlite3_sql() and sqlite3_expanded_sql() to JNI. Start marking C-side functions which would need explicit mutex support if we remove 'synchronized' from their Java entry points (but there are many more left to mark).

FossilOrigin-Name: c7fb32d1ef30d34449c3289c384ce33317c770927534af20d4b96fa385da40bc

2 years agoAdd a doc link for the new sqlite3_js_posix_create_file().
stephan [Fri, 11 Aug 2023 17:45:23 +0000 (17:45 +0000)] 
Add a doc link for the new sqlite3_js_posix_create_file().

FossilOrigin-Name: 0d7aac45b8e7078cc80757e12d6f0b2584f2b0b184dacc2348ad3519978e5bf9

2 years agoAdd sqlite3.capi.sqlite3_js_posix_create_file() and oo1.OpfsDb.importDb() as alternat...
stephan [Fri, 11 Aug 2023 17:38:17 +0000 (17:38 +0000)] 
Add sqlite3.capi.sqlite3_js_posix_create_file() and oo1.OpfsDb.importDb() as alternatives for the newly-deprecated sqlite3_js_vfs_create_file().

FossilOrigin-Name: da6eaf8d8258f3e2c8633fd7faf4e90c3307b5c60bd8b69c626b3c82b19dbdef

2 years agoDeprecate sqlite3_js_vfs_create_file() because, it was discovered today, its out...
stephan [Fri, 11 Aug 2023 14:31:20 +0000 (14:31 +0000)] 
Deprecate sqlite3_js_vfs_create_file() because, it was discovered today, its out-of-scope use of the sqlite3_vfs, sqlite3_file, and sqlite3_io_methods APIs triggers unresolvable assertions in the core when built with SQLITE_DEBUG.

FossilOrigin-Name: f3647a3ac8eca8c821b0b1e403da7bfb0feabd0eb5ee83709cd4956dfc56a492

2 years agoProvide the -DSQLITE_LEGACY_JSON_VALID compile-time option to restore the
drh [Fri, 11 Aug 2023 11:30:43 +0000 (11:30 +0000)] 
Provide the -DSQLITE_LEGACY_JSON_VALID compile-time option to restore the
(incorrect) legacy behavior of json_valid(NULL).

FossilOrigin-Name: 00bc9f1b573d683829bf5eb301606c38d6a60fba957d8edaf59116c02cc650bf

2 years agoFix bug in the test case for the previous check-in. legacy-json-valid
drh [Fri, 11 Aug 2023 11:24:44 +0000 (11:24 +0000)] 
Fix bug in the test case for the previous check-in.

FossilOrigin-Name: c5daae88612607aa7a8b13b021cf586fc66e8bcd1fa9d948a860c881b7247761

2 years agoUp until version 3.42.0, there was a bug in json_valid() such that it would
drh [Fri, 11 Aug 2023 11:12:46 +0000 (11:12 +0000)] 
Up until version 3.42.0, there was a bug in json_valid() such that it would
return False (0) for a NULL input.  That bug is fixed in 3.42.0.  This
check-in adds a compile-time option -DSQLITE_LEGACY_JSON_VALID that restores
the old buggy behavior for applications that depend on it.

FossilOrigin-Name: 15c2eadbff8e732cca45d6c3771d1fcea5aab2127e87f2a611b41ccfef4d1a0d

2 years agoMark _all_ JNI binding funcs as synchronized so that Java can lock them and protect...
stephan [Thu, 10 Aug 2023 21:50:52 +0000 (21:50 +0000)] 
Mark _all_ JNI binding funcs as synchronized so that Java can lock them and protect our global-state access. The alternative is writing a mountain of C-side code to do the same thing.

FossilOrigin-Name: afe190a940441de9bef8835c2dc6d278f861a772c3b7c7a2d399b2eabd4872e3

2 years agoWork around jdk8 and jdk19 mangling the C name of sqlite3_db_config() differently...
stephan [Thu, 10 Aug 2023 21:29:59 +0000 (21:29 +0000)] 
Work around jdk8 and jdk19 mangling the C name of sqlite3_db_config() differently. Correct the variadic arg handling of the JNI-side subset of sqlite3_db_config() options.

FossilOrigin-Name: 746894c3c043c47f8b4c231de8921df81c5d0634260d299359bea73132dc7867

2 years agoAdd a working dist zip file for the JNI bits.
stephan [Thu, 10 Aug 2023 20:52:14 +0000 (20:52 +0000)] 
Add a working dist zip file for the JNI bits.

FossilOrigin-Name: d6a4d212ceba662470d8957b6a8d7075d18a84bd0d3e13ce7adcab03604fc3b7

2 years agoInitial pass at 'make dist' rules for the JNI bundle, but they still need a bare...
stephan [Thu, 10 Aug 2023 18:57:37 +0000 (18:57 +0000)] 
Initial pass at 'make dist' rules for the JNI bundle, but they still need a bare-bones, posix-make-compatible makefile to include in the bundle.

FossilOrigin-Name: ff54e66a4d43f2f0f8b25ded970779e6760865a05346e09b39607bb035b02bd7

2 years agoNew testcase() macro in the tokenizer, to better document its behavior.
drh [Thu, 10 Aug 2023 18:50:00 +0000 (18:50 +0000)] 
New testcase() macro in the tokenizer, to better document its behavior.

FossilOrigin-Name: b2fdac0b151864eb2aa79f0b0ee60f9c6d9f3eb8c7626605eac17a02a8cf59bc

2 years agoMerge trunk into jni branch for the newly-relocated version-info tool.
stephan [Thu, 10 Aug 2023 17:39:26 +0000 (17:39 +0000)] 
Merge trunk into jni branch for the newly-relocated version-info tool.

FossilOrigin-Name: cc8e8cba67c0dcfb9b416041a19456cf5248d909f3efb6fee707a5950be4f374

2 years agoMove ext/wasm/version-info.c to tool/ for re-use in build other dist bundles.
stephan [Thu, 10 Aug 2023 17:32:37 +0000 (17:32 +0000)] 
Move ext/wasm/version-info.c to tool/ for re-use in build other dist bundles.

FossilOrigin-Name: 4b0871fd367b6d9706e892aa13f64604967f5e3ba92381960f73aeabd3d23f84

2 years agoMerge latest trunk changes into this branch. wal-shm-exceptions
dan [Thu, 10 Aug 2023 17:07:34 +0000 (17:07 +0000)] 
Merge latest trunk changes into this branch.

FossilOrigin-Name: 3ed89c344fcb3b7ee8b764d95144643e42e053e1116150d6eda8355fbd6669df

2 years agoAdd SQLTester --keep-going flag to allow it to continue to the next script after...
stephan [Thu, 10 Aug 2023 16:42:22 +0000 (16:42 +0000)] 
Add SQLTester --keep-going flag to allow it to continue to the next script after an error.

FossilOrigin-Name: 4d635f781b55ed9011bdf07ee6bed2d004b1c2ebba76aa110e26d8fe3152a733

2 years agoDocument that auto-extensions registered via JNI will fail if they open a db (to...
stephan [Thu, 10 Aug 2023 13:10:25 +0000 (13:10 +0000)] 
Document that auto-extensions registered via JNI will fail if they open a db (to avoid triggering an endless loop in the auto-extensions). Discover the hard way that JDKv19 creates different mangled JNI names for some functions than JDKv8. Start reformatting much of the JNI API decls in prep for making them even longer.

FossilOrigin-Name: 99c0941f1c006622932a9cca12661f354f363a6c8a2b5675ea66149e0a9eb927

2 years agoResolve two assertions in the auto-extension JNI which were triggered via new SQLTest...
stephan [Thu, 10 Aug 2023 12:36:40 +0000 (12:36 +0000)] 
Resolve two assertions in the auto-extension JNI which were triggered via new SQLTester infrastructure. Move SQLTester's db-init SQL injection into an auto-extension.

FossilOrigin-Name: 2952906c30bc2b7987f2c39837d56bd121f5817dc094e6ccdb6d4eea5e9b8d17

2 years agoMake test completion status more visible at a glance on modern terminals.
stephan [Thu, 10 Aug 2023 11:15:20 +0000 (11:15 +0000)] 
Make test completion status more visible at a glance on modern terminals.

FossilOrigin-Name: a4e96c306c4c270f417243e7923d7e6c4f860528dd67990dfd8d9768a6c4873f

2 years agoDisable REQUIRED_PROPERTIES handling in SQLTester, per /chat. Scripts with that direc...
stephan [Thu, 10 Aug 2023 11:04:46 +0000 (11:04 +0000)] 
Disable REQUIRED_PROPERTIES handling in SQLTester, per /chat. Scripts with that directive are now skipped.

FossilOrigin-Name: ddc534cb25b59faf18a860a51f2dd41a1a73963aeb541b9553301fe784608393

2 years agoAdd a visual indicator (emoji) to TestScript verbose messages, dependent on the messa...
stephan [Thu, 10 Aug 2023 10:58:55 +0000 (10:58 +0000)] 
Add a visual indicator (emoji) to TestScript verbose messages, dependent on the message's level of verbosity.

FossilOrigin-Name: dc323d3894f2d53470cd8be261632267fa3d2af73500acfa1e9adbfa53b771fd

2 years agoAdd the current --testcase name to SQLTester --verbose output.
stephan [Thu, 10 Aug 2023 10:44:53 +0000 (10:44 +0000)] 
Add the current --testcase name to SQLTester --verbose output.

FossilOrigin-Name: f87367402b25adf30f35ab75aa5efc495230d4a83f2fc10b99734c3f3f593840

2 years agoMore SQLTester docs. Add --verbosity command to help zoom in on script areas while...
stephan [Thu, 10 Aug 2023 10:34:50 +0000 (10:34 +0000)] 
More SQLTester docs. Add --verbosity command to help zoom in on script areas while debugging. Spice up test-start/end output with some emoji.

FossilOrigin-Name: 8dd08021496f504c23945ecc2bbe1e4a13109fdd03457ca6269b4cb1cc4cd04c

2 years agoGive DbException the option of closing the db to simplify error handling in one case.
stephan [Thu, 10 Aug 2023 05:25:13 +0000 (05:25 +0000)] 
Give DbException the option of closing the db to simplify error handling in one case.

FossilOrigin-Name: 908c9a44505422a3a15bef3a174d8b931863bc9c74485311a0e62cfec30087bd

2 years agoInitial version of REQUIRED_PROPERTIES support for SQLTester, with TEMPSTORE_(FILE...
stephan [Thu, 10 Aug 2023 05:14:22 +0000 (05:14 +0000)] 
Initial version of REQUIRED_PROPERTIES support for SQLTester, with TEMPSTORE_(FILE/MEM) and RECURSIVE_TRIGGERS options.

FossilOrigin-Name: 48d16c9d2fe5f54b09004b4f09759c4e2ad247ae84130feb557951e32f48976a

2 years agoGeneric cleanups and fixes in SQLTester.
stephan [Thu, 10 Aug 2023 04:24:12 +0000 (04:24 +0000)] 
Generic cleanups and fixes in SQLTester.

FossilOrigin-Name: fc5d3cc30d2b96da42ea10dfb39f1631ff93b8384514fffd641b343df51da2a6

2 years agoChange the SQLite3Jni API annotations to use SOURCE retention (used only at compile...
stephan [Thu, 10 Aug 2023 02:09:12 +0000 (02:09 +0000)] 
Change the SQLite3Jni API annotations to use SOURCE retention (used only at compile-time).

FossilOrigin-Name: 3c3fea6bf284721ac376e2ab5a757cf30245dd39264aaf98a8d6cd5575484275

2 years agoMove all of the SQLTester code into a single file, since it's only got 1 public class...
stephan [Thu, 10 Aug 2023 01:44:48 +0000 (01:44 +0000)] 
Move all of the SQLTester code into a single file, since it's only got 1 public class. Remove 'public' from many methods which don't need it. Add more documentation to it.

FossilOrigin-Name: 2815d676951abdab674c374fd903486ea5796f8ee4cb338d41f19693419f8471

2 years agoDefer static JNI-side init of SQLTester until main() is called so that its auto-exten...
stephan [Thu, 10 Aug 2023 01:19:40 +0000 (01:19 +0000)] 
Defer static JNI-side init of SQLTester until main() is called so that its auto-extensions do not leak over to clients of the main library.

FossilOrigin-Name: e461fdd53bd3212bee24ec5f5d5c234011ab30f3f67e115de9f85fdb760e3848

2 years agoMerge trunk into jni branch.
stephan [Thu, 10 Aug 2023 01:05:28 +0000 (01:05 +0000)] 
Merge trunk into jni branch.

FossilOrigin-Name: 52fa6f78414c41073431c166550806bb8a835bd38cfc1236c9363784c78b81b9

2 years agoTreat all args to --glob as a single glob.
stephan [Thu, 10 Aug 2023 01:03:19 +0000 (01:03 +0000)] 
Treat all args to --glob as a single glob.

FossilOrigin-Name: 4737bd345732e34cabbf90821e007d3027e68d6583c2e05e1e8bf5920373a6dc