]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
2 years agoMerge the latest trunk enhancements into the reuse-schema branch.
drh [Mon, 21 Aug 2023 17:53:26 +0000 (17:53 +0000)] 
Merge the latest trunk enhancements into the reuse-schema branch.

FossilOrigin-Name: e94f09f18856881bb6bf135405036b3965abb336a3d4c66615cb698bcd516910

2 years agoFix an undefined integer overflow in fts5.
dan [Mon, 21 Aug 2023 16:14:58 +0000 (16:14 +0000)] 
Fix an undefined integer overflow in fts5.

FossilOrigin-Name: f5c50349b1e4da233b554f371be49297b8b40ca5fe0188899ed906f682bf70d6

2 years agoifdef adjustments so that SQLITE_OMIT_WAL works with SQLITE_USE_SEH.
drh [Mon, 21 Aug 2023 15:29:21 +0000 (15:29 +0000)] 
ifdef adjustments so that SQLITE_OMIT_WAL works with SQLITE_USE_SEH.

FossilOrigin-Name: 0462a2612d1fc1d077acf60ef415f358aa2c44174c4ef28f4bbfdbcbf03d3b7c

2 years agoFix another UBSAN inaccuracy in fuzzcheck.
drh [Mon, 21 Aug 2023 14:40:19 +0000 (14:40 +0000)] 
Fix another UBSAN inaccuracy in fuzzcheck.

FossilOrigin-Name: a6fb9de8f87261194e6034376f62b1cac30b764f106dd3adcf728e020f8a4fd5

2 years agoAddress minor inaccuracies in fuzzcheck and RTREE found by UBSAN.
drh [Mon, 21 Aug 2023 14:28:47 +0000 (14:28 +0000)] 
Address minor inaccuracies in fuzzcheck and RTREE found by UBSAN.

FossilOrigin-Name: a64e6c2fd8ef1d2d7f14aa9265629853298bbc480c2683c79dfd24847a61b68b

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 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 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 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 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 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 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 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 agoMerge the latest trunk enhancements into the reuse-schema branch.
drh [Sat, 12 Aug 2023 12:16:36 +0000 (12:16 +0000)] 
Merge the latest trunk enhancements into the reuse-schema branch.

FossilOrigin-Name: d2b0ddcc75f2dbaabbc81de7a17d082d81162600ee331198cd9808b402721955

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

2 years agoRemove --print's ability to read ahead.
stephan [Thu, 10 Aug 2023 00:58:48 +0000 (00:58 +0000)] 
Remove --print's ability to read ahead.

FossilOrigin-Name: 15cfee972bcbd857d18ea626c9a9da64b2a445516946f3dd83c75a4f6b8a92fa

2 years agoReplace the SQLTester infrastructure with a line-oriented, non-regex-heavy parser...
stephan [Thu, 10 Aug 2023 00:34:38 +0000 (00:34 +0000)] 
Replace the SQLTester infrastructure with a line-oriented, non-regex-heavy parser. Add --column-names command.

FossilOrigin-Name: 88863908ee2059c2d18a095cbd91f41674c7b0d0a8864ec21715a5317054df4d

2 years agoPort the SQLTester 'v1' commands to the 'v2' evaluation bits. Still TODO is swapping...
stephan [Wed, 9 Aug 2023 23:47:14 +0000 (23:47 +0000)] 
Port the SQLTester 'v1' commands to the 'v2' evaluation bits. Still TODO is swapping out v1 with these separate impls.

FossilOrigin-Name: 0cf57e5b0f90779e450e9db1ca009610df5e6f4487337d49017636bde3bb02d6

2 years agoCorrect REQUIRED_PROPERTIES handling to not fail if there are no properties.
stephan [Wed, 9 Aug 2023 22:30:10 +0000 (22:30 +0000)] 
Correct REQUIRED_PROPERTIES handling to not fail if there are no properties.

FossilOrigin-Name: 7a19bef4f572a90fb7896b9360f9c72b052955ca9b0549be870b2b245c1f1b2b

2 years agoMore for the SQLTester rework. Can read input and dispatch commands, but only --print...
stephan [Wed, 9 Aug 2023 22:18:22 +0000 (22:18 +0000)] 
More for the SQLTester rework. Can read input and dispatch commands, but only --print is currently implemented.

FossilOrigin-Name: 4fa2ad33edbcef393dd98dbf90586ad8f32ec0beab02f197c8038a44be86c314

2 years agoInitial sketches of a line-by-line parser for SQLTester to overcome its compatibility...
stephan [Wed, 9 Aug 2023 19:51:39 +0000 (19:51 +0000)] 
Initial sketches of a line-by-line parser for SQLTester to overcome its compatibility shortcomings. Far from complete.

FossilOrigin-Name: 43534cd042499c1bef44ca5c4a8305a710d99e70e8b0adce6df50c6a1f0402b9

2 years agoAdapt TestScript to skip REQUIRED_PROPERTIES, per [7a07863e082664da], and improve...
stephan [Wed, 9 Aug 2023 18:25:50 +0000 (18:25 +0000)] 
Adapt TestScript to skip REQUIRED_PROPERTIES, per [7a07863e082664da], and improve a couple of adject reasons-for-skipping messages.

FossilOrigin-Name: f937097e9b22a6c78c242cbf00c71bdc57f04b1b9a15ae24058bc2813c99688c

2 years agoAdd an extra constraint to the test-script-interpreter.md spec.
drh [Wed, 9 Aug 2023 17:47:34 +0000 (17:47 +0000)] 
Add an extra constraint to the test-script-interpreter.md spec.

FossilOrigin-Name: 7a07863e082664da2efcf4ecd36785d2583abbda12526cdb643cf1aa0568292e

2 years agoSQLTester --result command: do not double-{}-wrap error messages and do not throw...
stephan [Wed, 9 Aug 2023 17:23:52 +0000 (17:23 +0000)] 
SQLTester --result command: do not double-{}-wrap error messages and do not throw on db error.

FossilOrigin-Name: f7be20f5a62f8970f957e5c3a1d1c6536995df5c078dbac34a44f09682e43945

2 years agoMove the test command body's trim() back into the TestScript class (to simplify Comma...
stephan [Wed, 9 Aug 2023 17:04:58 +0000 (17:04 +0000)] 
Move the test command body's trim() back into the TestScript class (to simplify Command-level code) but do it after double-verbose has had the chance to emit it as-is (so that debug output is not mangled by the trim).

FossilOrigin-Name: f15ecb68f7ca129478336b462508d2c40ea052b4040facefdbc67b13e6aea99d

2 years agoTweak the SQLTester --verbose and double-verbose output a bit for legibility.
stephan [Wed, 9 Aug 2023 16:56:42 +0000 (16:56 +0000)] 
Tweak the SQLTester --verbose and double-verbose output a bit for legibility.

FossilOrigin-Name: 46b79afaafda40cb1f920cc96600adf11e8c688184c9559a08eb86776ccf3663

2 years agoStrip --oom commands from SQLTester input since (A) we can't currently do anything...
stephan [Wed, 9 Aug 2023 16:29:07 +0000 (16:29 +0000)] 
Strip --oom commands from SQLTester input since (A) we can't currently do anything with them and (B) they can appear as body content of --testcase commands and the current parser cannot deal with that. If --verbose is provided once, emit the name and args of each command as it's run. If --verbose is used twice or more, also emit the command's body text, if any.

FossilOrigin-Name: 0770e8467d4bb9490d9ed6e8a20766ffee7049cc3667db6d036c13fccbb6f3ab

2 years agoUpdate the definition of "special characters" for the SQLTester and correct the code...
stephan [Wed, 9 Aug 2023 16:03:12 +0000 (16:03 +0000)] 
Update the definition of "special characters" for the SQLTester and correct the code to match it.

FossilOrigin-Name: 217f6e0c9c09c576b09ea59fce085a53d1a133927046102b4d00fd58109efc93