]> git.ipfire.org Git - thirdparty/sqlite.git/log
thirdparty/sqlite.git
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 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

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 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 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 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

22 months agoDuplicate code consolidation.
stephan [Mon, 28 Aug 2023 14:59:27 +0000 (14:59 +0000)] 
Duplicate code consolidation.

FossilOrigin-Name: 71f239747c7934310dedf9fc0cbf84fbeeed53808234067147335c12396849a1

22 months agoMove a metrics counter so that it can be used to indirectly witness the race conditio...
stephan [Mon, 28 Aug 2023 13:18:46 +0000 (13:18 +0000)] 
Move a metrics counter so that it can be used to indirectly witness the race condition fix from [f5274e00f17d58e0] by recording varying final values for that metric across consecutive multi-threaded test runs.

FossilOrigin-Name: 54d2209d24547dbb05e7c12daa27211593c34de8005e8adba0989b8d219f5f3b

22 months agoResolve a JNI-side race condition. Removed a now-extraneous struct member. Internal...
stephan [Mon, 28 Aug 2023 13:06:26 +0000 (13:06 +0000)] 
Resolve a JNI-side race condition. Removed a now-extraneous struct member. Internal API renaming for consistency.

FossilOrigin-Name: f5274e00f17d58e075f90ae5c1d4b38933da315e51592171fa35bcbd67b40b2a

22 months agoFix an issue with infinity handling by the SUM() function that goes back
drh [Mon, 28 Aug 2023 12:20:18 +0000 (12:20 +0000)] 
Fix an issue with infinity handling by the SUM() function that goes back
to the extended-precision SUM() enhancement of
[check-in c63e26e705f5e967].  Problem reported by
[forum:/forumpost/1c06ddcacc86032a|forum post 1c06ddcacc86032a].

FossilOrigin-Name: 77d3dcd283595c52f24c07fc59ba60c9133b71c440cf3f799cf48c907c6fae3e

22 months agoResolve a condition which could cause an is-interrupted db to call its progress callback.
stephan [Mon, 28 Aug 2023 12:06:38 +0000 (12:06 +0000)] 
Resolve a condition which could cause an is-interrupted db to call its progress callback.

FossilOrigin-Name: a0d0f1aafc6086726131dff5e6628f2771c20db3122a53bdbb82945ab5d326d1

22 months agoFix the valgrind permutation on this branch.
dan [Mon, 28 Aug 2023 11:22:33 +0000 (11:22 +0000)] 
Fix the valgrind permutation on this branch.

FossilOrigin-Name: ccbf06760e8377f9209ba3fd4895a25fe1a5ea688c384bf357e765b6a2b4c2f7

22 months agoFurther JNI cleanups and javadoc additions.
stephan [Mon, 28 Aug 2023 11:10:13 +0000 (11:10 +0000)] 
Further JNI cleanups and javadoc additions.

FossilOrigin-Name: c393b1c9f5639c259406e587b3e08efdc1962203001823747681379ffc54fc10

22 months agoLots of javadoc-related tweaks.
stephan [Mon, 28 Aug 2023 07:28:36 +0000 (07:28 +0000)] 
Lots of javadoc-related tweaks.

FossilOrigin-Name: cfe06f90e2c0231efded98767ef3cc646d3a7daa34d77b62b7c04b5aae9448fd

22 months agoCorrect a package renaming bug in the previous check-in and start applying the @Canon...
stephan [Mon, 28 Aug 2023 05:48:34 +0000 (05:48 +0000)] 
Correct a package renaming bug in the previous check-in and start applying the @Canonical annotation to functions to distinguish canonical API functions and Java-specific APIs.

FossilOrigin-Name: 8a016006805b08b72bfc4093c795d8cd8d7fe72f8ae234c175a8b7be3a841cbf

22 months agoMove the JNI annotations into the annotation subpackage.
stephan [Mon, 28 Aug 2023 05:39:05 +0000 (05:39 +0000)] 
Move the JNI annotations into the annotation subpackage.

FossilOrigin-Name: e4dedf90a92a069daef967dfe975469bf8ec7883c44c95e73345d4eded48e996

22 months agoResolve a makefile bug which causes sqlite3-worker1-bundler-friendly.mjs to be built...
stephan [Mon, 28 Aug 2023 04:59:16 +0000 (04:59 +0000)] 
Resolve a makefile bug which causes sqlite3-worker1-bundler-friendly.mjs to be built incorrectly. Reported in [forum:a874e435cf4690c1|forum post a874e435cf4690c1].

FossilOrigin-Name: 9d68c7ef103b9b51ed35fb91e62351eb6c62ad63ab03ac456ff9787cc83f10ab

22 months agoReimplement JNI's sqlite3_value_text() as a native instead of a Java-side proxy....
stephan [Sun, 27 Aug 2023 15:15:46 +0000 (15:15 +0000)] 
Reimplement JNI's sqlite3_value_text() as a native instead of a Java-side proxy. Unrelated minor simplifications.

FossilOrigin-Name: 401dd6ee283a4e7da2e50175a1b58e6a83afb0ea2d3b6cf80c7c621e17bcce98

22 months agoGeneric cleanups in Tester1.java.
stephan [Sun, 27 Aug 2023 14:47:45 +0000 (14:47 +0000)] 
Generic cleanups in Tester1.java.

FossilOrigin-Name: fbc1b6310b01f4f79439bb6ce59b2aaabd126da7201f36d4fc5d7ef95118a494

22 months agoRemove JNI sqlite3_column_java_object(), as the protection rules of sqlite3_values...
stephan [Sun, 27 Aug 2023 13:43:45 +0000 (13:43 +0000)] 
Remove JNI sqlite3_column_java_object(), as the protection rules of sqlite3_values makes it impossible to implement safely. Add JNI sqlite3_bind_java_object().

FossilOrigin-Name: 29bd4a23a4afd96b2cc06d2b91a4f30c0bbf2347af0b0d18f8d4cf8aafa63160

22 months agoCorrect the signature mismatch between JNI sqlite3_column/value_text16() and add...
stephan [Sun, 27 Aug 2023 11:28:57 +0000 (11:28 +0000)] 
Correct the signature mismatch between JNI sqlite3_column/value_text16() and add related tests.

FossilOrigin-Name: 77f6e70f17c0cb6d031f983c458c9ec2e88d92b4716397533a029af39da2d128

22 months agoMake JNI sqlite3_trace_v2() thread-safe. Re-add a piece removed in [bae4d022aad9b...
stephan [Sun, 27 Aug 2023 10:40:00 +0000 (10:40 +0000)] 
Make JNI sqlite3_trace_v2() thread-safe. Re-add a piece removed in [bae4d022aad9b] to work around a JVM crash which is unpredictably triggered by its substitute. Fix the THREADMODE=0 JNI build. Further internal API simplifications.

FossilOrigin-Name: 3f9f7a9cb08b0687ad206605a5109306762df9ae8bdeab2d8d60bf9373c9ad32

22 months agoFactor out an unnecessary struct member. JNI sqlite3_shutdown() now frees up the...
stephan [Sun, 27 Aug 2023 09:12:50 +0000 (09:12 +0000)] 
Factor out an unnecessary struct member. JNI sqlite3_shutdown() now frees up the various object-recycling bins. Doc touchups.

FossilOrigin-Name: bae4d022aad9bbeb78cb027ecad799af87afe331e697add44ec22297c873141d

22 months agoFactor out a superfluous JNI class. Doc and code style cleanups.
stephan [Sun, 27 Aug 2023 08:10:59 +0000 (08:10 +0000)] 
Factor out a superfluous JNI class. Doc and code style cleanups.

FossilOrigin-Name: 0f37f27148dfa93ecc42381ad3455a9059285d1af2df027429044942dc4d861b

22 months agoJNI code reorgs and simplify the failing-alloc interface a bit.
stephan [Sun, 27 Aug 2023 07:26:33 +0000 (07:26 +0000)] 
JNI code reorgs and simplify the failing-alloc interface a bit.

FossilOrigin-Name: deed5797de65a25896e991a441f0d05eb92662536296485920fb081e84ad5d32

22 months agoApply the JNI OOM checks to memory returned by JDK APIs, as distinct from our APIs.
stephan [Sat, 26 Aug 2023 22:34:26 +0000 (22:34 +0000)] 
Apply the JNI OOM checks to memory returned by JDK APIs, as distinct from our APIs.

FossilOrigin-Name: 1ff78582bfd934e0c76464b5f23ed9bf09a3491b145e0ca34acb6e59c4f53995

22 months agoEliminate a superfluous JNI-internal middle-man class.
stephan [Sat, 26 Aug 2023 21:13:57 +0000 (21:13 +0000)] 
Eliminate a superfluous JNI-internal middle-man class.

FossilOrigin-Name: daede0f801f59d6501a863c4688e4635b34171e98b56b8ab4432c779113f1997

22 months agoUpdates to testrunner.tcl so that it runs "make fuzztest" using multiple jobs.
dan [Sat, 26 Aug 2023 21:04:54 +0000 (21:04 +0000)] 
Updates to testrunner.tcl so that it runs "make fuzztest" using multiple jobs.

FossilOrigin-Name: 7596ea7074e0ac73312586ed3d28cdacf97f54b8af73f804cbc8066c94d4b4ef

22 months agoWhether or not OOM is always fatal in JNI is now a compile-time option.
stephan [Sat, 26 Aug 2023 21:02:50 +0000 (21:02 +0000)] 
Whether or not OOM is always fatal in JNI is now a compile-time option.

FossilOrigin-Name: 320a34c080d8bc1feae1578697923dfa7c4144b78de36f704c24cc4a4ce9d535

22 months agoCorrect a string length misuse in JNI sqlite3_result_error() in an OOM case. Unrelate...
stephan [Sat, 26 Aug 2023 19:34:49 +0000 (19:34 +0000)] 
Correct a string length misuse in JNI sqlite3_result_error() in an OOM case. Unrelated minor JNI cleanups.

FossilOrigin-Name: 4252f56f3d8574b7b43306440726daf3b5f5500d5d9105784b2f82753e7c71dd

22 months agoRemove a bunch of commented-out debug output.
stephan [Sat, 26 Aug 2023 18:15:33 +0000 (18:15 +0000)] 
Remove a bunch of commented-out debug output.

FossilOrigin-Name: b49488481e2952294960bb0ee971f6eca126c19d68ef92152894aa28393e6865

22 months agoRe-order some out-of-order JNI APIs. Correct JNI sqlite3_open_v2() behavior in a...
stephan [Sat, 26 Aug 2023 18:01:36 +0000 (18:01 +0000)] 
Re-order some out-of-order JNI APIs. Correct JNI sqlite3_open_v2() behavior in a particular OOM condition.

FossilOrigin-Name: 49d3be002ce5e594027f47a3ba448f0c21ec68b416b8df997497753f53e3ca52

22 months agoTwo significant typo fixes for [1a30919bfbb686].
stephan [Sat, 26 Aug 2023 17:36:15 +0000 (17:36 +0000)] 
Two significant typo fixes for [1a30919bfbb686].

FossilOrigin-Name: 6a6ee6dd54ec1a1dc7fb7d2f331951525d394a8362aef911f62878ac3961898f

22 months agoBind sqlite3_db_handle() to JNI.
stephan [Sat, 26 Aug 2023 17:30:14 +0000 (17:30 +0000)] 
Bind sqlite3_db_handle() to JNI.

FossilOrigin-Name: 1a30919bfbb686464e8020e684120d22dd2375b910a17446b75452fda96a7449

22 months agoCorrect a potential duplicate xDestroy() being triggered for Java-side collations.
stephan [Sat, 26 Aug 2023 16:55:27 +0000 (16:55 +0000)] 
Correct a potential duplicate xDestroy() being triggered for Java-side collations.

FossilOrigin-Name: 25331172f78544f7f23ad7821cbf065589f6d02706184d4c83fe3988452dac5d

22 months agoRecycle per-UDF JNI state.
stephan [Sat, 26 Aug 2023 16:29:48 +0000 (16:29 +0000)] 
Recycle per-UDF JNI state.

FossilOrigin-Name: cf406528eb86d8d0d55a468b2c4ec32a11a4947f45c4bbabdde8742ae199ce1f

22 months agoCode consolidation cleanups.
stephan [Sat, 26 Aug 2023 14:55:44 +0000 (14:55 +0000)] 
Code consolidation cleanups.

FossilOrigin-Name: d6b5ecd28740c2c5d21797fce9fe137c8a83f702f22901720cc6e8b1b42af001

22 months agoAdd -sqllog flag to the JNI 'tests' target because it hits APIs which are otherwise...
stephan [Sat, 26 Aug 2023 12:19:51 +0000 (12:19 +0000)] 
Add -sqllog flag to the JNI 'tests' target because it hits APIs which are otherwise not tested.

FossilOrigin-Name: cc3153ed341f59262485c3541a8879c4e86520c8a10f4ce819344a88099e7d0e

22 months agoJNI internal cleanups and docs.
stephan [Sat, 26 Aug 2023 11:57:34 +0000 (11:57 +0000)] 
JNI internal cleanups and docs.

FossilOrigin-Name: b7b26bfb4f86e0b8aaabab258ccb0713737ffd4ecd3156d6a83a4f9a1d25edf6

22 months agoRemove the Java BusyHandler.xDestroy() method - it should not have had one. Eliminate...
stephan [Sat, 26 Aug 2023 10:51:19 +0000 (10:51 +0000)] 
Remove the Java BusyHandler.xDestroy() method - it should not have had one. Eliminate the last of the potentially-significant MUTF-8 cases.

FossilOrigin-Name: c852f1ebbde273c3d28fe5aff0bf73cfc06b41dd371a94d7520536dc7a1dbcc1

22 months agoImprove threading support for all types of JNI-side callback hooks, making them safe...
stephan [Sat, 26 Aug 2023 10:20:38 +0000 (10:20 +0000)] 
Improve threading support for all types of JNI-side callback hooks, making them safe to invoke if another thread is busy replacing them.

FossilOrigin-Name: f2af7bbf493fe28d92fc9c77425f8bb9d48c02af9a5eabceb0365c705651e114

22 months agoMove the 3 Java SQLFunction subclasses from inner classes to package scope.
stephan [Fri, 25 Aug 2023 16:43:51 +0000 (16:43 +0000)] 
Move the 3 Java SQLFunction subclasses from inner classes to package scope.

FossilOrigin-Name: 21fd47a68db9df1828f4cc4131d326a193b5751d56a40ae77ed0a78dc0621af1

22 months agoMissed a straggler when renaming Java classes in [8ca528006533ac1]. Document threadin...
stephan [Fri, 25 Aug 2023 16:26:16 +0000 (16:26 +0000)] 
Missed a straggler when renaming Java classes in [8ca528006533ac1]. Document threading limitations.

FossilOrigin-Name: 5786b95f5d09b4462aff0fdeac37992a2b64c47b004d18960f51e4e6a5796106

22 months agoHopefully the last major API rename in the JNI bits: rename all lower_camel_case...
stephan [Fri, 25 Aug 2023 14:17:36 +0000 (14:17 +0000)] 
Hopefully the last major API rename in the JNI bits: rename all lower_camel_case classes which do not have direct counterparts in the C API to UpperCamelCase, as that's more idiomatic. Java types which reflect C-style types are unaffected.

FossilOrigin-Name: 8ca528006533ac152e9b322e421cf5d339414c77332d9836a9ff429b793d0d2d

22 months agoMore Java API renaming for consistency.
stephan [Fri, 25 Aug 2023 13:23:45 +0000 (13:23 +0000)] 
More Java API renaming for consistency.

FossilOrigin-Name: 4e457778de189d8393e88f399dc521c8a5ad4ddd80a5fd69295bcb104fac5cbf

22 months agoRe-enable SQLITE_THREADSAFE=0 in the JNI build and add multitest target which builds...
stephan [Fri, 25 Aug 2023 12:29:59 +0000 (12:29 +0000)] 
Re-enable SQLITE_THREADSAFE=0 in the JNI build and add multitest target which builds and runs the tests in all 3 threading modes.

FossilOrigin-Name: 6b1c816f6aae9face07ed7ead969257cf915c21ff9cdad9a21b7cf0e7496e09e

22 months agoCode restructuring. Force SQLITE_THREADSAFE in JNI builds for the time being, as...
stephan [Fri, 25 Aug 2023 11:32:56 +0000 (11:32 +0000)] 
Code restructuring. Force SQLITE_THREADSAFE in JNI builds for the time being, as threadsafe==0 leads to as-yet-mysterious JNI-level reference errors.

FossilOrigin-Name: 5a099caa2c21bec647f0a521e7f5d0d1cc2f96d388d3d6c53d5ec80947f33e8d

22 months agoRemove incorrect (but harmless) dependency on source code file "sessionfuzz-data1...
dan [Fri, 25 Aug 2023 11:06:26 +0000 (11:06 +0000)] 
Remove incorrect (but harmless) dependency on source code file "sessionfuzz-data1.db" from main.mk and Makefile.in.

FossilOrigin-Name: 17d56c0207f63614b34ef3594d06602ab7a6e85604f3589b30aa79316f1744ee

22 months agoOnly build in the JNI-side metrics tracking in SQLITE_DEBUG builds.
stephan [Fri, 25 Aug 2023 04:27:17 +0000 (04:27 +0000)] 
Only build in the JNI-side metrics tracking in SQLITE_DEBUG builds.

FossilOrigin-Name: 646e7fc3b5ba81c207f013c9a06781986138379f20e787320a811ba3ed5489dc

22 months agoJavadoc and internal API cleanups.
stephan [Fri, 25 Aug 2023 04:02:33 +0000 (04:02 +0000)] 
Javadoc and internal API cleanups.

FossilOrigin-Name: 10a43cba9bb2c23b5f31b31fcac81be34acec1940cca47d0b8e5a5ccbf1aa8eb

22 months agoReplace all of the JNI XyzHook/Handler classes with snake_cased ones which follow...
stephan [Fri, 25 Aug 2023 02:57:30 +0000 (02:57 +0000)] 
Replace all of the JNI XyzHook/Handler classes with snake_cased ones which follow unified naming conventions to make them easier to apply.

FossilOrigin-Name: 76e62a381249b3b4262b22bdffe7fc2816c820115c9df266956ab8817b127aca

22 months agojavadoc additions.
stephan [Fri, 25 Aug 2023 00:27:28 +0000 (00:27 +0000)] 
javadoc additions.

FossilOrigin-Name: bedf33d403677d243a1505ce549166850ab55671700b143278db5feb84883ab3

22 months agoRe-frame the incongruous SQLite3Jni.uncacheThread() API as sqlite3_java_uncache_thread().
stephan [Thu, 24 Aug 2023 22:28:44 +0000 (22:28 +0000)] 
Re-frame the incongruous SQLite3Jni.uncacheThread() API as sqlite3_java_uncache_thread().

FossilOrigin-Name: 7232b033954fae40df3db43e489e0e5a703c03308f500a1ae36fd9d707632d7f

22 months agoUpdate some outdated JNI docs and account for a function renamed earlier this evening.
stephan [Thu, 24 Aug 2023 21:45:30 +0000 (21:45 +0000)] 
Update some outdated JNI docs and account for a function renamed earlier this evening.

FossilOrigin-Name: 3f684ef5018116f4be46a07779451c8983ac87a5db182477f71ee7bf28287a04

22 months agoDo not pre-allocate sqlite3_aggregate_context() for Java UDFs, as it unduly complicat...
stephan [Thu, 24 Aug 2023 21:31:56 +0000 (21:31 +0000)] 
Do not pre-allocate sqlite3_aggregate_context() for Java UDFs, as it unduly complicates UDF initialization.

FossilOrigin-Name: e8308f0c6ec2d8999c8a2502fb130cb3501ba326f23f71f2cd8d452debae79b5

22 months agoAdd doc/testrunner.md, for documenting the testrunner.tcl script.
dan [Thu, 24 Aug 2023 19:08:50 +0000 (19:08 +0000)] 
Add doc/testrunner.md, for documenting the testrunner.tcl script.

FossilOrigin-Name: 9c69a28401c7273823f2c2b291fd417febeb278afb9ce085a4b944505ca13d23

22 months agoMore code legibility and style improvements in the JNI pieces. Start work on a javado...
stephan [Thu, 24 Aug 2023 18:43:25 +0000 (18:43 +0000)] 
More code legibility and style improvements in the JNI pieces. Start work on a javadoc build.

FossilOrigin-Name: 62b404d62fd62f4d220838b59c9f38a71afa2d4a8c3af0a5c9495fa7020972cf

22 months agoDoc, code style, and legibility cleanups.
stephan [Thu, 24 Aug 2023 17:25:05 +0000 (17:25 +0000)] 
Doc, code style, and legibility cleanups.

FossilOrigin-Name: cf185bcd25629d882a030b8b87048179a120ab1f84aa1d68b279c499dbdf0dba

22 months agoDoc style fixes.
stephan [Thu, 24 Aug 2023 15:42:08 +0000 (15:42 +0000)] 
Doc style fixes.

FossilOrigin-Name: 862f9828e078ae138c3533658c45e4c45155975794e752b9b3a71a693842f37a

22 months agoAdd a new non-goal to the JNI README.md.
stephan [Thu, 24 Aug 2023 15:11:28 +0000 (15:11 +0000)] 
Add a new non-goal to the JNI README.md.

FossilOrigin-Name: 53000cdae9b265752f8d8616679da621a571a6590c6eaeca23cf87a0e13aa4c4

22 months agoMerge the jni-threading branch into trunk, eliminating the JNI API's prior threading...
stephan [Thu, 24 Aug 2023 14:49:29 +0000 (14:49 +0000)] 
Merge the jni-threading branch into trunk, eliminating the JNI API's prior threading limitations.

FossilOrigin-Name: 3739c8aa7080d8e1044ca51ab7b699b50da4d29620b35acfcea2745059b65bac

22 months agoMerge into trunk improvements made to the wasm APIs which were too late for 3.43.
stephan [Thu, 24 Aug 2023 14:43:30 +0000 (14:43 +0000)] 
Merge into trunk improvements made to the wasm APIs which were too late for 3.43.

FossilOrigin-Name: ac9da5c79a4f56d25202d50974e16e2a463d77c99b1907aee2605d5a3e50a565

22 months agoCorrect JNI layer's misuse of an sqlite3-internal error-reporting API (no mutex held... jni-threading
stephan [Thu, 24 Aug 2023 14:31:36 +0000 (14:31 +0000)] 
Correct JNI layer's misuse of an sqlite3-internal error-reporting API (no mutex held). Style cleanups. Eliminate lookups of per-thread state by approximately 85% across the test suite.

FossilOrigin-Name: 1f46ba8d3bc61af771c1e33d09ad25f0da4fc4f915f7a9f6223ebfd99526d81d

22 months agoEnsure that db mutex is held when using sqlite3ErrorWithMessage() to avoid a potentia... wasm-post-343
stephan [Thu, 24 Aug 2023 14:17:30 +0000 (14:17 +0000)] 
Ensure that db mutex is held when using sqlite3ErrorWithMessage() to avoid a potential assertion in debug builds.

FossilOrigin-Name: b8f6a50a4bf9478324f0272d79f2fe6992a49b753e79e39a268c6afb261bb01e

22 months agoVersion 3.43.0 version-3.43.0
drh [Thu, 24 Aug 2023 12:36:59 +0000 (12:36 +0000)] 
Version 3.43.0

FossilOrigin-Name: 0f80b798b3f4b81a7bb4233c58294edd0f1156f36b6ecf5ab8e83631d468778c

22 months agoChange a variable name in fts5FlushOneHash() to avoid shadowing another.
dan [Thu, 24 Aug 2023 12:01:30 +0000 (12:01 +0000)] 
Change a variable name in fts5FlushOneHash() to avoid shadowing another.

FossilOrigin-Name: 3f5bec9a684f6b3d88383617831862fc5595a51ad99ec12430ac6650b704ccbb

22 months agoAdd more JNI docs, tests, and a handful of Java-side overloads.
stephan [Thu, 24 Aug 2023 11:57:51 +0000 (11:57 +0000)] 
Add more JNI docs, tests, and a handful of Java-side overloads.

FossilOrigin-Name: d19a431facbde6a6b960664674753ee85d2c051a76109ce7db0b079c65fbdea0

22 months agoFix typo in the Lemon documentation.
drh [Wed, 23 Aug 2023 18:42:04 +0000 (18:42 +0000)] 
Fix typo in the Lemon documentation.

FossilOrigin-Name: 5daeb318c0472e8c004109caacd8bc977145a2c1bfa6f5bdcf87ab89ea51c30b

22 months agoMore changes to documents for GitHub-style markdown.
drh [Wed, 23 Aug 2023 18:29:41 +0000 (18:29 +0000)] 
More changes to documents for GitHub-style markdown.

FossilOrigin-Name: f20f84ef717cea11f92d6a1ab3b4e0fec5752b7ec98ad5b59e06745e7e25b6ee

22 months agoFix the Markdown in the compile-for-windows.md document so that it works
drh [Wed, 23 Aug 2023 18:26:00 +0000 (18:26 +0000)] 
Fix the Markdown in the compile-for-windows.md document so that it works
on GitHub.  Improved header text in README.md.

FossilOrigin-Name: a25360c020275064711d0aa3eb3cec3d764b5266b86f9728243e501d082306ec

22 months agoJNI cleanups regarding building with certain features disabled.
stephan [Wed, 23 Aug 2023 17:52:51 +0000 (17:52 +0000)] 
JNI cleanups regarding building with certain features disabled.

FossilOrigin-Name: a9e6d5158b8a4a6b8554a5f8f0a35785ee450d42ea877275dc27085e89716c18