]>
git.ipfire.org Git - thirdparty/sqlite.git/log
stephan [Wed, 23 Aug 2023 16:41:13 +0000 (16:41 +0000)]
Some thinking-out-loud about how to implement vtabs in Java. In no way complete.
FossilOrigin-Name:
49c24c29ec2c3ab5ec08a733c31aa4c339a8cff91d8329e489090fcfafa88367
stephan [Wed, 23 Aug 2023 13:36:27 +0000 (13:36 +0000)]
Add a note to the JNI README explaining why the Java API has callback names like xFunc() and xPreUpdate().
FossilOrigin-Name:
415447a310f6a7d06b4aa9ef51f110cf8e2ef9545c69cb5983c367c50fe641d2
stephan [Wed, 23 Aug 2023 13:17:37 +0000 (13:17 +0000)]
Bind sqlite3_preupdate_hook() and friends to JNI.
FossilOrigin-Name:
d0c425b5c1d3aac5ead18a501a3760b4506d68d373cb3be484247042cf2fa8d4
stephan [Wed, 23 Aug 2023 10:36:12 +0000 (10:36 +0000)]
Bind a subset of sqlite3_config() to JNI: threading modes and sqllog.
FossilOrigin-Name:
fce8ecaf7f2e69a168978e6993e58c452c45f76c39da33f2869c9d947c16cab1
stephan [Wed, 23 Aug 2023 09:05:16 +0000 (09:05 +0000)]
Numerous minor cleanups and code style conformance improvements.
FossilOrigin-Name:
6c92d884920e4ace54913fc60ceef6e43a4351f45a4cb3c4a0ed3d29d544a31b
stephan [Wed, 23 Aug 2023 00:17:28 +0000 (00:17 +0000)]
Improve C-side exception handling from Java-side UDF callbacks.
FossilOrigin-Name:
aebbc24afb339ed07b7cd767fbc0d25f3e9c3d9bb5ef3d1c10b04b605c7261bc
stephan [Tue, 22 Aug 2023 23:00:44 +0000 (23:00 +0000)]
stephan [Tue, 22 Aug 2023 22:13:08 +0000 (22:13 +0000)]
Fix Tester1 so that exceptions triggered via threads are not silently ignored. Disable auto-extension tests in multi-thread mode because concurrent threads rightfully interfere with that.
FossilOrigin-Name:
56b2a077ace6e6ad5834e1a597b710f212a5b7d5db5b9a27a41f2aa0f6952c55
stephan [Tue, 22 Aug 2023 20:10:28 +0000 (20:10 +0000)]
More work on the JNI multi-threaded test runner.
FossilOrigin-Name:
9a74ad716bded1e14333bf7c72392916f800d58a96240eabe4988ca5fc9e8752
stephan [Tue, 22 Aug 2023 18:36:30 +0000 (18:36 +0000)]
Disassociate JNI db handles from the thread that created them, as it's no longer relevant.
FossilOrigin-Name:
8b78b737e66a399b04e555a8197f63a73198a4105cb2f37ffd5b0e6014302caf
stephan [Tue, 22 Aug 2023 17:51:57 +0000 (17:51 +0000)]
Correct JNI binding of sqlite3_shutdown() to clean up all cached JNIEnv objects.
FossilOrigin-Name:
02e868690f97ca728b0f2dd018aa79a9d13c85dd85b164caa895d319ae8f3ff5
stephan [Tue, 22 Aug 2023 17:36:59 +0000 (17:36 +0000)]
JNI internal cleanups and correct two leaked db handles in test code.
FossilOrigin-Name:
f927a30b5bba35991f472084ebaf02779e84c343a4e84f0efb3df7679ff212f8
stephan [Tue, 22 Aug 2023 15:30:35 +0000 (15:30 +0000)]
Move the JNI per-thread cache of NativePointerHolder refs into global space. This allows better-targeted mutex locks and incidentally eliminates the lagginess and post-run hangs in Tester1's multi-thread mode (presumably caused by deadlocks).
FossilOrigin-Name:
e209f56a9745695aadc04418c7bebe62b79e38e5aee26c3248a30f73bfa460c2
stephan [Tue, 22 Aug 2023 11:34:34 +0000 (11:34 +0000)]
Move most of the per-JNIEnv global Java class refs into the global state, saving a bit of per-thread overhead.
FossilOrigin-Name:
7342bf578790e1a87c128a7c1c7745fe2e7c442890370feb160d406597d4d8ec
stephan [Mon, 21 Aug 2023 23:45:19 +0000 (23:45 +0000)]
stephan [Sat, 19 Aug 2023 14:49:08 +0000 (14:49 +0000)]
stephan [Sat, 19 Aug 2023 12:34:23 +0000 (12:34 +0000)]
stephan [Sat, 19 Aug 2023 12:32:00 +0000 (12:32 +0000)]
stephan [Sat, 19 Aug 2023 11:52:36 +0000 (11:52 +0000)]
stephan [Sat, 19 Aug 2023 11:26:52 +0000 (11:26 +0000)]
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
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
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
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
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
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
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
stephan [Thu, 17 Aug 2023 22:04:07 +0000 (22:04 +0000)]
drh [Thu, 17 Aug 2023 17:48:20 +0000 (17:48 +0000)]
dan [Thu, 17 Aug 2023 16:59:35 +0000 (16:59 +0000)]
Fix an error in documentation comments in fts5.h.
FossilOrigin-Name:
24d96bd65d8ccdd50a6f4fe217d196728a2f8658d128f9352c287f64e034104a
dan [Thu, 17 Aug 2023 16:49:06 +0000 (16:49 +0000)]
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
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
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
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
stephan [Thu, 17 Aug 2023 13:13:22 +0000 (13:13 +0000)]
stephan [Thu, 17 Aug 2023 12:44:52 +0000 (12:44 +0000)]
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
drh [Wed, 16 Aug 2023 17:23:42 +0000 (17:23 +0000)]
Refinements to instructions on compiling for Windows.
FossilOrigin-Name:
d543c36c35f71c5f0a7ebf6f496feca40d16566d0c5b2c2ba205ff43437ffcd1
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
drh [Wed, 16 Aug 2023 15:27:49 +0000 (15:27 +0000)]
Make sqlite3_stmt_explain() accessible to loadable extensions.
FossilOrigin-Name:
a237a31ff4a7cd3dc744af1e1ebb9466e42eebafa31c1b5c0027cbaee9babc9b
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
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
dan [Wed, 16 Aug 2023 13:55:38 +0000 (13:55 +0000)]
Fix test script problem preventing veryquick.test from running.
FossilOrigin-Name:
e73886574042108eb31641d0820c273c10b83fbf08ac6cb52d3e4c27830e2c23
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
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
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
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
dan [Tue, 15 Aug 2023 14:53:49 +0000 (14:53 +0000)]
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
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
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
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
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
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
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
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
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
drh [Mon, 14 Aug 2023 12:20:44 +0000 (12:20 +0000)]
Fix harmless compiler warnings reported by MSVC.
FossilOrigin-Name:
391e21bb6e0b2f4632972b6617a3a18192f88deb29eee5bc060846468e624b21
drh [Mon, 14 Aug 2023 12:05:38 +0000 (12:05 +0000)]
stephan [Mon, 14 Aug 2023 08:28:46 +0000 (08:28 +0000)]
JNI-internal docs and removal of obsolete code.
FossilOrigin-Name:
b62d93258b6a661f3a9b61468b3b641c14faf2d2196f78aca95fe14de43c9444
stephan [Sun, 13 Aug 2023 20:58:12 +0000 (20:58 +0000)]
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
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
stephan [Sun, 13 Aug 2023 10:22:15 +0000 (10:22 +0000)]
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
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
stephan [Sat, 12 Aug 2023 21:39:18 +0000 (21:39 +0000)]
Merge the Java Native Interface (JNI) binding into trunk.
FossilOrigin-Name:
48b13edcec6935bf125b265b41a3e6f7b2407afff89d5b4daa2939e3c5679ca0
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
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
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
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
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
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
stephan [Sat, 12 Aug 2023 15:37:53 +0000 (15:37 +0000)]
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
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
stephan [Sat, 12 Aug 2023 10:27:08 +0000 (10:27 +0000)]
stephan [Sat, 12 Aug 2023 10:06:59 +0000 (10:06 +0000)]
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
stephan [Fri, 11 Aug 2023 21:25:33 +0000 (21:25 +0000)]
stephan [Fri, 11 Aug 2023 21:24:08 +0000 (21:24 +0000)]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
dan [Thu, 10 Aug 2023 17:07:34 +0000 (17:07 +0000)]
Merge latest trunk changes into this branch.
FossilOrigin-Name:
3ed89c344fcb3b7ee8b764d95144643e42e053e1116150d6eda8355fbd6669df