stephan
|
9afd67cce7
|
Add missing license headers to JNI annotation classes and extend the definition of @NotNull to include 0L as the equivalent of null to account for the current rework of how pointers are passed from Java to C.
FossilOrigin-Name: bccdfeb9efde20410bde545893fb98ce5c0c4d04a8e7797b868ba8994120e1db
|
2023-09-27 10:29:07 +00:00 |
|
stephan
|
4632f91403
|
Rework the JNI sqlite3_backup APIs to the new pointer-passing approach.
FossilOrigin-Name: 48aeb1e2cdeb4aec85c4f63a1f809215cd4b473791169e72b5ddf6d6bdc2f7b7
|
2023-09-27 09:58:36 +00:00 |
|
stephan
|
36f60e6c1a
|
Start reworking JNI methods such that they pass void pointers from Java to C instead of passing their strongly-typed wrappers, as that is reportedly significantly faster than passing the wrapper objects to C and extracting the pointers there. There are still many, many functions left to rework for this.
FossilOrigin-Name: 66c814dd473731703ee00e1ff610acfdccf09d1b87dd2355795ed697d4ed5d3e
|
2023-09-26 21:37:52 +00:00 |
|
stephan
|
e81d229fb7
|
JNI: implement AutoCloseable for the sqlite3 and sqlite3_stmt classes, and adjust a few tests to use it. Override Object.finalize() for sqlite3 class but not sqlite3_stmt (where it triggers a JVM crash for as-yet-unknown reasons).
FossilOrigin-Name: b633d8bbdbd43464ee03058c273e5188117b9538ed5d5148a1a3851e4adf6410
|
2023-09-26 19:49:35 +00:00 |
|
stephan
|
6f737371c0
|
Remove some outdated JNI docs.
FossilOrigin-Name: 2ca5cbbb2a8ee94fe9f4888dea695a4429aefa17611fd9ebe59bf4866290ab0c
|
2023-09-26 09:46:04 +00:00 |
|
stephan
|
efa8369214
|
Minor JNI doc updates. No code changes.
FossilOrigin-Name: 63687cc659f06a1f6aa9d4496ef01d9f0adbee6184b8e265fb8feec1ad30449b
|
2023-09-26 07:43:51 +00:00 |
|
stephan
|
a2ead23868
|
Resolve the JNI FTS5 test5() failure and remove some nearby dead code.
FossilOrigin-Name: 5655c51f103c6dfade799ffb5ca2eb21b4360ada598741f373c952ae732535aa
|
2023-09-24 19:13:31 +00:00 |
|
stephan
|
6c248201b1
|
Resolve the JNI FTS5 test5() crash, caused by two unrelated typos in JNI callback signature strings. That test now fails with an expected-vs-got mismatch but no longer dies in the native code.
FossilOrigin-Name: 0233f310bf6bbb84f76b25205af160951e0bf6d8b2f1bca4537384af4fe47e58
|
2023-09-23 06:50:19 +00:00 |
|
stephan
|
8a67a46340
|
Remove an invalid optimization from JNI code and add a missing check check for Java-side exception.
FossilOrigin-Name: b8151f879718f7e30520f7e5ae04bd6724ae98af067be097b1a00df2175a038a
|
2023-09-23 06:37:18 +00:00 |
|
dan
|
8aaf63c6ac
|
Add extra tests for java Fts5ExtensionApi API.
FossilOrigin-Name: f9d62b853ce8bfbfdc9f137e984e7a1b51d70e88c38b136b4fad1e8ae6ee8913
|
2023-09-18 20:42:06 +00:00 |
|
dan
|
876f09b560
|
Extra tests for java Fts5ExtensionApi interface.
FossilOrigin-Name: c923893f3604b278277de1bb919ef713bf7a4296b7ff71451cfe19bc2ff03190
|
2023-09-18 18:12:03 +00:00 |
|
dan
|
c9823e3960
|
Tests for java versions of Fts5ExtensionApi.xSetAuxdata() and xGetAuxdata().
FossilOrigin-Name: 858fa236f8b673eb03cf2242e8202cd33ae1f13a43b59bdbb2eecdb21d42ef55
|
2023-09-14 20:56:42 +00:00 |
|
stephan
|
a0f878959f
|
JNI: move XTokenizeCallback interface out of the Fts5 object - that level of indirection is a holdover from when those classes were in the core package.
FossilOrigin-Name: 385ec08570451c0be212677d1b681c13d225dc690965effa2293e64cb3d56023
|
2023-09-14 20:02:49 +00:00 |
|
dan
|
93717c2306
|
Add a few more tests for Fts5ExtensionApi methods.
FossilOrigin-Name: 4ce2a7e8ed0f2859efc1038fd0812bc2b667be1479f45c081deccc2cf188c807
|
2023-09-14 20:01:18 +00:00 |
|
dan
|
9ba2d13ed3
|
Add a test for the java version of Fts5ExtensionApi.xRowid().
FossilOrigin-Name: 227facf879d2ade348cdb51f5b50ba2f95b8621acc0cf7a5fed4a310b4c76baa
|
2023-09-14 17:42:34 +00:00 |
|
stephan
|
595c3ecc94
|
JNI: enable the fts5-customization bits by default but elide them from the docs until it's clearer where they're headed. Unrelated minor doc tweaks.
FossilOrigin-Name: 21adb1aef24398fba918a5e1479ce2b6fd7e86d87eb9f2bea86a0eb43e8809c2
|
2023-09-13 21:32:20 +00:00 |
|
stephan
|
1eca330a08
|
Doc corrections for the previous checkin.
FossilOrigin-Name: 9ea0a9f39d03707d251af5af08d1ba94958704ba74019d7e8823ccd21936023c
|
2023-09-13 17:16:25 +00:00 |
|
stephan
|
181063d477
|
Add JNI sqlite3_prepare_multi(), based on feedback.
FossilOrigin-Name: fa1c1534724b03debc83ae35c2fadab83faf4b4e62b91981fed103888de41396
|
2023-09-13 17:11:32 +00:00 |
|
stephan
|
0148013416
|
Clarify some metrics output in Tester1.java.
FossilOrigin-Name: 4ae7199a82f0b6e0f5575e39d8bd454e527ab949f0c59b773a44a078c65c5676
|
2023-09-12 17:49:25 +00:00 |
|
stephan
|
18e143d1d5
|
Re-add the fts5 decls to sqlite3-jni.h, removed in a rebuild without fts5 enabled. Need a better solution for this problem.
FossilOrigin-Name: 6f269790a09350f49103bb0925e2a78a1f9b7a8aad84408eabbb8d64ef79d551
|
2023-09-12 17:06:51 +00:00 |
|
stephan
|
09d72e4a6e
|
Rename JNI sqlite3_errmsg() to sqlite3_errmsg16() for overall constency with the text()/text16() family of functions.
FossilOrigin-Name: c4a8d8a5711bd2abeaf1c31046784d1bccff4b98e96522250866d1ee8ec6a9fe
|
2023-09-12 17:03:40 +00:00 |
|
stephan
|
1110f8ffcd
|
JNI readme fix.
FossilOrigin-Name: 7dde000efcf170c33701947d1aab71bb45b2b0ae8646ee41bb2b2adbee56d1e6
|
2023-09-12 16:33:57 +00:00 |
|
stephan
|
5c3a25b450
|
Merge in JNI's significant divergence since it adopted sqlite3_client_data().
FossilOrigin-Name: e8e07dbbeaa7799eb0b90726e18e994aaf8c8d316ab4bdb06da732bc51cf0919
|
2023-09-11 15:20:15 +00:00 |
|
drh
|
a9d788f08f
|
Add support for the sqlite3_get_clientdata() and sqlite3_set_clientdata()
interfaces, to better support JNI.
FossilOrigin-Name: 9806c0dd2802d68b67c25c4f3347ed532f9a98b051e775d34e9182dd2f099891
|
2023-09-11 14:55:05 +00:00 |
|
stephan
|
8f825a7a1b
|
In the JNI build, emit a reminder to not check in the javac-generated sqlite3-jni.h when FTS5 is disabled because changes in that feature flag result in unnecessary and large diffs in checked-in generated code.
FossilOrigin-Name: caceb52fb58f924e7cbbebac05e7fd7822b7f6f56a3f834392d2be801bf04633
|
2023-09-09 11:20:35 +00:00 |
|
stephan
|
8ea10ea520
|
Disable FTS5 in the JNI build by default until it can be thoroughly tested. This is mainly so that the public-facing javadoc does not include it.
FossilOrigin-Name: 6f25f02b70f561864264a71a85cb5efa05550743371fd655804033ea08d00f33
|
2023-09-09 07:52:05 +00:00 |
|
stephan
|
7c1588b3ad
|
Move Java-side FTS5 bits into the fts5 subpackage to (A) make it easy to optionally bundle it (or not) and (B) set a precedent for puting extension APIs in their own package.
FossilOrigin-Name: 4c773e1f331cd5854d4c6e8825197933c0bb6827b7437e56ac0ad650d1ddf55e
|
2023-09-06 07:39:25 +00:00 |
|
stephan
|
f31b9fcf86
|
Java FTS5 API renaming, for consistency.
FossilOrigin-Name: 5e4cc9f386364858c6457c40f13f01e1826a59086aa7f0fa10244ea846f5acfd
|
2023-09-06 06:54:25 +00:00 |
|
stephan
|
0c072b698b
|
In JNI routines which set an OutputPointer.value, always do so, even on error, for consistency.
FossilOrigin-Name: d0df62f0af19a69f7ceb3ad1dceda0d8cc2ca5016a6e2a3a1e36356424c3ca49
|
2023-09-04 06:15:37 +00:00 |
|
stephan
|
3aeb58c90c
|
Remove several unnececessary functions.
FossilOrigin-Name: 84433c72b0b08e7906ef87758caffe98f95df812945a7aea675bbc20791e33c0
|
2023-09-04 05:58:13 +00:00 |
|
stephan
|
4eaf5883b3
|
Move an internal utility class out of the public Java API.
FossilOrigin-Name: 8e1ae3197a62796565b7260b230057bdb3f136edd00a83f8a63532d44d386243
|
2023-09-04 05:34:30 +00:00 |
|
stephan
|
411d9e7b2e
|
Expose sqlite3_bind_parameter_name() to JNI. Extend the definition of null for the @NotNull annotation, to consider closed/finalized Java-side handles wrapping C-side resources as null for its purposes.
FossilOrigin-Name: fc34e2bfa4a2255f019a2514367e58596837289de49f7fab87279c8b40c7f119
|
2023-09-04 04:23:31 +00:00 |
|
stephan
|
14412e9526
|
Add the missing sqlite3_blob_read() to [9a9945c405cf]. Elaborate on the definition of the @NotNull annotation.
FossilOrigin-Name: 85952b4a52a09e9da35754c1a1ec70b1bf277296011a2d37ac536b33437223d7
|
2023-09-03 14:41:13 +00:00 |
|
stephan
|
805e8c96b9
|
Expose the sqlite3_blob_...() APIs to JNI.
FossilOrigin-Name: 9a9945c405cfe9b6bf399655f498457da66b06c8b92014510ab9fb83fbb1c7d4
|
2023-09-03 14:13:29 +00:00 |
|
stephan
|
7dfacc9f96
|
Expose sqlite3_system_errno() to JNI.
FossilOrigin-Name: bac54da29c19ef5e0a76599b5d10b377ecd7b391a651af99526529df16a83c7d
|
2023-09-03 12:46:09 +00:00 |
|
stephan
|
286f30f85c
|
Expose sqlite3_stmt_status() to JNI.
FossilOrigin-Name: d266acc23ecb7e76c8c68c6e89a76e6f3054f33f0262e60e06b258db5a5e2ccd
|
2023-09-03 12:32:09 +00:00 |
|
stephan
|
1943356268
|
Expose sqlite3_randomness() to JNI.
FossilOrigin-Name: de9692242132b8f2c92ef4acb08dd3063327b18666cbb17c4f1153dee9146eaf
|
2023-09-03 12:17:34 +00:00 |
|
stephan
|
83a8b6dd82
|
Expose sqlite3_get/set_auxdata() to JNI.
FossilOrigin-Name: 0de3271717e0298070097d7ea0ecb996d2e95cf65384e494515a554d0a1dffed
|
2023-09-03 11:58:33 +00:00 |
|
stephan
|
e30436b605
|
Expose sqlite3_get_autocommit() to JNI.
FossilOrigin-Name: 67391c6588c71af411767d1e4b63c5041a8a9e669102da318e3482ccfc9d9bb9
|
2023-09-03 11:16:48 +00:00 |
|
stephan
|
ce9902f8c2
|
Remove some unnecessary code.
FossilOrigin-Name: c7f9bbbbf0252c9749450e3ec994bf5ac945bd62428657ddff469291a0fd4b0d
|
2023-09-03 11:08:31 +00:00 |
|
stephan
|
54021c3bd0
|
Add a couple more sqlite3_backup tests.
FossilOrigin-Name: 5c2cf89d2c3ae5fc31b5e311bc2f2c1fef0037bdb0dff48c0a2a6bb6610e0215
|
2023-09-03 10:36:21 +00:00 |
|
stephan
|
24a689cf01
|
Export the sqlite3_backup_...() APIs to JNI.
FossilOrigin-Name: 865a3df5d550f6f4edbf95854750706e4e747d8f1825ae73d300b8e31934959b
|
2023-09-03 10:23:03 +00:00 |
|
stephan
|
2966b85df3
|
Export the sqlite3_keyword_...() family of functions to JNI.
FossilOrigin-Name: bd554db39159d8a538ce913d55285e3c417db8823c717a3e34bfa0678de42be7
|
2023-09-03 09:28:45 +00:00 |
|
stephan
|
de4d1c357f
|
Add sqlite3_config(SQLITE_CONFIG_LOG) support to Java and correct clearing of SQLITE_CONFIG_SQLLOG. Correct missing names in propagated UDF exception messages.
FossilOrigin-Name: 652e2e82100ac3d8238d15ef6d43de4162fd02d695db4936ad5706fe4f2d7dc3
|
2023-09-02 14:36:41 +00:00 |
|
stephan
|
7d31de600b
|
Expose sqlite3_complete() to JNI. Slightly widen the definition of "canonical" for the purposes of the @Canonical annotation. Add a few new tests.
FossilOrigin-Name: a59fe0cd9552128ca4186f4e66f0d188f2a57c7647f43828e42cb95801f350ce
|
2023-09-02 12:53:25 +00:00 |
|
stephan
|
216433636d
|
Duplicate code consolidation.
FossilOrigin-Name: a1872ae959cca11d5d8bc224aaeb0b53e772d999df9924b2e9ea84ceedb99148
|
2023-09-02 11:26:36 +00:00 |
|
stephan
|
70b58fc119
|
Remove a superfluous level of indirection in the JNI internals.
FossilOrigin-Name: 8dca6f7660c15eacbda20da1c66c9ef1de36864f78750658226b1a7baf22b726
|
2023-09-02 10:18:10 +00:00 |
|
stephan
|
63f4a9c4db
|
Further JNI cleanups.
FossilOrigin-Name: 30e38173c3ece0c9f8e7a9710f46cb5e8e8ef101c04531318a7adb070242f5dd
|
2023-09-02 08:51:14 +00:00 |
|
stephan
|
a5f425cc6e
|
Correct a Tester1.java test which inadvertently created a spurious db file in the current dir. Unrelated minor cleanups.
FossilOrigin-Name: 016bbdadbf9f95cef185d2606c23e3b3c724586fcca470e11e6fbdbaefd75c79
|
2023-09-01 16:28:46 +00:00 |
|
stephan
|
4ea63e5609
|
Make the JNI-internal metrics opt-in rather than opt-out so client builds won't have them by default. Unrelated doc tweaks.
FossilOrigin-Name: aa72d25a22c80a7a376127266b8923f0661147c8bc483baa327230364851a255
|
2023-09-01 14:20:39 +00:00 |
|
stephan
|
d086065644
|
Make JNI interfaces of sqlite3_column/value_text() match the C ones better. Internal JNI cleanups and simplifications.
FossilOrigin-Name: eb24f97253d9c8e7c728c2ac67a0824b10ca67362ac4f8abb94d5d3c54c58c5b
|
2023-09-01 13:27:59 +00:00 |
|
stephan
|
7862e19468
|
Remove some newly-dead code.
FossilOrigin-Name: dc0fa76b395c5e352116dc33cc1b455e5e9c9f01c285af52ccba4d37e4453b87
|
2023-09-01 10:37:15 +00:00 |
|
stephan
|
03ca59afb9
|
Expose sqlite3_limit() to JNI and remove the all SQLITE_ macros from the Java interface which are not directly exposed to client-level C code (SQLITE_MAX_... and SQLITE_THREADSAFE_...).
FossilOrigin-Name: 5fe5b0a585dbfa06cfca1fea40aea5ea3ccfe8295f41306ad2d5b851ace27203
|
2023-09-01 10:32:31 +00:00 |
|
stephan
|
55171a75ef
|
JNI build improvements. Rename a Java class. Get the jar target working again.
FossilOrigin-Name: d086b7844cace5c997261c97565aeef62aaeeef727ccc7e83f17c54d6217b779
|
2023-09-01 09:43:56 +00:00 |
|
stephan
|
a4b47b034c
|
Expose sqlite3_stmt_explain(), sqlite3_stmt_isexplain(), and sqlite3_stmt_readonly() to JNI.
FossilOrigin-Name: 208b786afe16eafaf0ce791f319a5e05f733a7b71ce1c542e1b83481b013ec38
|
2023-09-01 06:50:17 +00:00 |
|
stephan
|
0d3f0a9c11
|
Export sqlite3_txn_state() to JNI.
FossilOrigin-Name: d732f71d0a292dbb493f79f7c6ecd8a4effbfbc91453b1c54bdd9becf2d75bdb
|
2023-08-31 19:35:59 +00:00 |
|
stephan
|
63e7ed3b44
|
Minor JNI cleanups.
FossilOrigin-Name: 2e2bb841ef8b53266ec48d8c3408d6396f29f17922e858eac1b4f12f4adeb05e
|
2023-08-31 18:34:43 +00:00 |
|
stephan
|
062bafb851
|
Add convenience overloads of JNI sqlite3_table_column_metadata() to simplify usage.
FossilOrigin-Name: faf4e6d398f444d970be8b1364c984c67ccbc5f8a27f3aa93f05b8a8de7bec9b
|
2023-08-31 15:24:46 +00:00 |
|
stephan
|
0c2ba994d2
|
Export sqlite3_(db_)free_memory() and sqlite3_table_column_metadata() to JNI. Further internals renaming for consistency and legibility.
FossilOrigin-Name: 7c86aa3400ed591d38c1828f366f4b5de97954c2b301919d3f06d9c2d3d7d1f2
|
2023-08-31 14:57:01 +00:00 |
|
stephan
|
7fc4223411
|
Replace JNI's per-db-instance state tracking with the new sqlite3_set/get_clientdata().
FossilOrigin-Name: e7c11d34ee2eebdca4d9db1496bbb4152e4c62745c083ad5e0337733e8d1254e
|
2023-08-30 18:45:42 +00:00 |
|
stephan
|
85a05d895a
|
Further tweaking in both SQLTesters.
FossilOrigin-Name: 46b0eb98e7a56cc188836c46f4289de6281f80e6bc6eb33e0aa9133a0f86f00c
|
2023-08-30 15:51:42 +00:00 |
|
stephan
|
267c44771f
|
More fleshing out of JS SQLTester.
FossilOrigin-Name: 8c503dfb9fa15389613a819fcc1792e23d3c05f99a9f450f82eac5125298726f
|
2023-08-29 20:44:40 +00:00 |
|
stephan
|
aa15047796
|
JS SQLTestRunner can now run the Java impl's core-most sanity tests, missing only support for directives.
FossilOrigin-Name: 5e798369375ce1b0c9cdf831f835d931fbd562ff7b4db09a06d1bdca2ac1b975
|
2023-08-29 20:01:01 +00:00 |
|
stephan
|
69a55ca17d
|
Get the JS SQLTester command handlers in place sans those which have to run SQL.
FossilOrigin-Name: d21b1217964a53f33b7ba3958b34aa8560dff8ede33e66f54aa0afbab7099ec3
|
2023-08-29 15:39:57 +00:00 |
|
stephan
|
d10ed826eb
|
Remove some dead code. Add a skeleton SQLTester script for fts5.
FossilOrigin-Name: 6c83e31fa96f65b61377c0c801cc32b3c8ca27a0c8442f860364bec258c003cb
|
2023-08-29 00:10:31 +00:00 |
|
stephan
|
4e379078e7
|
Factor out a superfluous struct member.
FossilOrigin-Name: 76d3911c370b3dc02d119045003f87ad20a6efd9f7a44d4feb59b7c801ac8981
|
2023-08-28 23:18:19 +00:00 |
|
stephan
|
924c4545d3
|
Further minor internal JNI simplifications.
FossilOrigin-Name: 1808d12ee0d1f1e5ee49d48c699ca10c4f822989ac9b4ac08f2b861513ee5997
|
2023-08-28 22:52:04 +00:00 |
|
stephan
|
fa23b4fc61
|
Improve threadability of the JNI collation-related bindings and add infrastructure for similar cases.
FossilOrigin-Name: f02dad66b965b9e3c504001e9603af8f74977f151bede9db369f88e86a4aeb00
|
2023-08-28 21:27:32 +00:00 |
|
stephan
|
a08f737503
|
Correct JNI mapping of collations to be 1-db-to-many-collations.
FossilOrigin-Name: b927b0f5a68684b0a9799396d153bf1e2306351e8039c2bacb3d5b2056a0634f
|
2023-08-28 20:21:56 +00:00 |
|
stephan
|
ece2d7f2be
|
Remove a pair of what are arguably unnecessary mutex locks (and often hit). More JNI-internal cleanups.
FossilOrigin-Name: ecf07a0144dc6402b1e0924b1775d99dc465b27aa86a2718cac60a9b4c974312
|
2023-08-28 16:22:31 +00:00 |
|
stephan
|
25e7d8af75
|
Duplicate code consolidation.
FossilOrigin-Name: 71f239747c7934310dedf9fc0cbf84fbeeed53808234067147335c12396849a1
|
2023-08-28 14:59:27 +00:00 |
|
stephan
|
bdb149d063
|
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
|
2023-08-28 13:18:46 +00:00 |
|
stephan
|
4e9b48cfc4
|
Resolve a JNI-side race condition. Removed a now-extraneous struct member. Internal API renaming for consistency.
FossilOrigin-Name: f5274e00f17d58e075f90ae5c1d4b38933da315e51592171fa35bcbd67b40b2a
|
2023-08-28 13:06:26 +00:00 |
|
stephan
|
f0e9e59d8d
|
Further JNI cleanups and javadoc additions.
FossilOrigin-Name: c393b1c9f5639c259406e587b3e08efdc1962203001823747681379ffc54fc10
|
2023-08-28 11:10:13 +00:00 |
|
stephan
|
2597ec6385
|
Lots of javadoc-related tweaks.
FossilOrigin-Name: cfe06f90e2c0231efded98767ef3cc646d3a7daa34d77b62b7c04b5aae9448fd
|
2023-08-28 07:28:36 +00:00 |
|
stephan
|
23dfa67c1e
|
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
|
2023-08-28 05:48:34 +00:00 |
|
stephan
|
b041f8ffdd
|
Move the JNI annotations into the annotation subpackage.
FossilOrigin-Name: e4dedf90a92a069daef967dfe975469bf8ec7883c44c95e73345d4eded48e996
|
2023-08-28 05:39:05 +00:00 |
|
stephan
|
5020ddc243
|
Reimplement JNI's sqlite3_value_text() as a native instead of a Java-side proxy. Unrelated minor simplifications.
FossilOrigin-Name: 401dd6ee283a4e7da2e50175a1b58e6a83afb0ea2d3b6cf80c7c621e17bcce98
|
2023-08-27 15:15:46 +00:00 |
|
stephan
|
0639c58836
|
Generic cleanups in Tester1.java.
FossilOrigin-Name: fbc1b6310b01f4f79439bb6ce59b2aaabd126da7201f36d4fc5d7ef95118a494
|
2023-08-27 14:47:45 +00:00 |
|
stephan
|
5575d6421b
|
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
|
2023-08-27 13:43:45 +00:00 |
|
stephan
|
88bd53dfd0
|
Correct the signature mismatch between JNI sqlite3_column/value_text16() and add related tests.
FossilOrigin-Name: 77f6e70f17c0cb6d031f983c458c9ec2e88d92b4716397533a029af39da2d128
|
2023-08-27 11:28:57 +00:00 |
|
stephan
|
95f5d85d4a
|
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
|
2023-08-27 10:40:00 +00:00 |
|
stephan
|
32a79760b5
|
Factor out an unnecessary struct member. JNI sqlite3_shutdown() now frees up the various object-recycling bins. Doc touchups.
FossilOrigin-Name: bae4d022aad9bbeb78cb027ecad799af87afe331e697add44ec22297c873141d
|
2023-08-27 09:12:50 +00:00 |
|
stephan
|
60aca33a8b
|
Factor out a superfluous JNI class. Doc and code style cleanups.
FossilOrigin-Name: 0f37f27148dfa93ecc42381ad3455a9059285d1af2df027429044942dc4d861b
|
2023-08-27 08:10:59 +00:00 |
|
stephan
|
0f4bf3435a
|
JNI code reorgs and simplify the failing-alloc interface a bit.
FossilOrigin-Name: deed5797de65a25896e991a441f0d05eb92662536296485920fb081e84ad5d32
|
2023-08-27 07:26:33 +00:00 |
|
stephan
|
c7e7c88873
|
Apply the JNI OOM checks to memory returned by JDK APIs, as distinct from our APIs.
FossilOrigin-Name: 1ff78582bfd934e0c76464b5f23ed9bf09a3491b145e0ca34acb6e59c4f53995
|
2023-08-26 22:34:26 +00:00 |
|
stephan
|
0deaea218d
|
Eliminate a superfluous JNI-internal middle-man class.
FossilOrigin-Name: daede0f801f59d6501a863c4688e4635b34171e98b56b8ab4432c779113f1997
|
2023-08-26 21:13:57 +00:00 |
|
stephan
|
506a8b52f3
|
Whether or not OOM is always fatal in JNI is now a compile-time option.
FossilOrigin-Name: 320a34c080d8bc1feae1578697923dfa7c4144b78de36f704c24cc4a4ce9d535
|
2023-08-26 21:02:50 +00:00 |
|
stephan
|
6428cd18d6
|
Correct a string length misuse in JNI sqlite3_result_error() in an OOM case. Unrelated minor JNI cleanups.
FossilOrigin-Name: 4252f56f3d8574b7b43306440726daf3b5f5500d5d9105784b2f82753e7c71dd
|
2023-08-26 19:34:49 +00:00 |
|
stephan
|
6a1ebbdb90
|
Remove a bunch of commented-out debug output.
FossilOrigin-Name: b49488481e2952294960bb0ee971f6eca126c19d68ef92152894aa28393e6865
|
2023-08-26 18:15:33 +00:00 |
|
stephan
|
220b6145f5
|
Re-order some out-of-order JNI APIs. Correct JNI sqlite3_open_v2() behavior in a particular OOM condition.
FossilOrigin-Name: 49d3be002ce5e594027f47a3ba448f0c21ec68b416b8df997497753f53e3ca52
|
2023-08-26 18:01:36 +00:00 |
|
stephan
|
2a6835fe0c
|
Two significant typo fixes for [1a30919bfbb686].
FossilOrigin-Name: 6a6ee6dd54ec1a1dc7fb7d2f331951525d394a8362aef911f62878ac3961898f
|
2023-08-26 17:36:15 +00:00 |
|
stephan
|
3cb610c010
|
Bind sqlite3_db_handle() to JNI.
FossilOrigin-Name: 1a30919bfbb686464e8020e684120d22dd2375b910a17446b75452fda96a7449
|
2023-08-26 17:30:14 +00:00 |
|
stephan
|
2a0dc4895b
|
Correct a potential duplicate xDestroy() being triggered for Java-side collations.
FossilOrigin-Name: 25331172f78544f7f23ad7821cbf065589f6d02706184d4c83fe3988452dac5d
|
2023-08-26 16:55:27 +00:00 |
|
stephan
|
fec793dd8a
|
Recycle per-UDF JNI state.
FossilOrigin-Name: cf406528eb86d8d0d55a468b2c4ec32a11a4947f45c4bbabdde8742ae199ce1f
|
2023-08-26 16:29:48 +00:00 |
|
stephan
|
a7da592bd7
|
Code consolidation cleanups.
FossilOrigin-Name: d6b5ecd28740c2c5d21797fce9fe137c8a83f702f22901720cc6e8b1b42af001
|
2023-08-26 14:55:44 +00:00 |
|
stephan
|
acfbe5284e
|
Add -sqllog flag to the JNI 'tests' target because it hits APIs which are otherwise not tested.
FossilOrigin-Name: cc3153ed341f59262485c3541a8879c4e86520c8a10f4ce819344a88099e7d0e
|
2023-08-26 12:19:51 +00:00 |
|
stephan
|
3ff458d61e
|
JNI internal cleanups and docs.
FossilOrigin-Name: b7b26bfb4f86e0b8aaabab258ccb0713737ffd4ecd3156d6a83a4f9a1d25edf6
|
2023-08-26 11:57:34 +00:00 |
|
stephan
|
d9cf47e377
|
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
|
2023-08-26 10:51:19 +00:00 |
|
stephan
|
6f8f587d2f
|
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
|
2023-08-26 10:20:38 +00:00 |
|
stephan
|
25033b6b3b
|
Move the 3 Java SQLFunction subclasses from inner classes to package scope.
FossilOrigin-Name: 21fd47a68db9df1828f4cc4131d326a193b5751d56a40ae77ed0a78dc0621af1
|
2023-08-25 16:43:51 +00:00 |
|
stephan
|
9fed4aab77
|
Missed a straggler when renaming Java classes in [8ca528006533ac1]. Document threading limitations.
FossilOrigin-Name: 5786b95f5d09b4462aff0fdeac37992a2b64c47b004d18960f51e4e6a5796106
|
2023-08-25 16:26:16 +00:00 |
|
stephan
|
a5f09eb29d
|
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
|
2023-08-25 14:17:36 +00:00 |
|
stephan
|
ad818380cc
|
More Java API renaming for consistency.
FossilOrigin-Name: 4e457778de189d8393e88f399dc521c8a5ad4ddd80a5fd69295bcb104fac5cbf
|
2023-08-25 13:23:45 +00:00 |
|
stephan
|
a899186c86
|
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
|
2023-08-25 12:29:59 +00:00 |
|
stephan
|
0199669fa1
|
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
|
2023-08-25 11:32:56 +00:00 |
|
stephan
|
5ecb51c260
|
Only build in the JNI-side metrics tracking in SQLITE_DEBUG builds.
FossilOrigin-Name: 646e7fc3b5ba81c207f013c9a06781986138379f20e787320a811ba3ed5489dc
|
2023-08-25 04:27:17 +00:00 |
|
stephan
|
aec1361a2b
|
Javadoc and internal API cleanups.
FossilOrigin-Name: 10a43cba9bb2c23b5f31b31fcac81be34acec1940cca47d0b8e5a5ccbf1aa8eb
|
2023-08-25 04:02:33 +00:00 |
|
stephan
|
5276552083
|
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
|
2023-08-25 02:57:30 +00:00 |
|
stephan
|
44b4b8260f
|
javadoc additions.
FossilOrigin-Name: bedf33d403677d243a1505ce549166850ab55671700b143278db5feb84883ab3
|
2023-08-25 00:27:28 +00:00 |
|
stephan
|
3401736694
|
Re-frame the incongruous SQLite3Jni.uncacheThread() API as sqlite3_java_uncache_thread().
FossilOrigin-Name: 7232b033954fae40df3db43e489e0e5a703c03308f500a1ae36fd9d707632d7f
|
2023-08-24 22:28:44 +00:00 |
|
stephan
|
70dcc2822d
|
Update some outdated JNI docs and account for a function renamed earlier this evening.
FossilOrigin-Name: 3f684ef5018116f4be46a07779451c8983ac87a5db182477f71ee7bf28287a04
|
2023-08-24 21:45:30 +00:00 |
|
stephan
|
0f0bf3ff9e
|
Do not pre-allocate sqlite3_aggregate_context() for Java UDFs, as it unduly complicates UDF initialization.
FossilOrigin-Name: e8308f0c6ec2d8999c8a2502fb130cb3501ba326f23f71f2cd8d452debae79b5
|
2023-08-24 21:31:56 +00:00 |
|
stephan
|
eef599dbd4
|
More code legibility and style improvements in the JNI pieces. Start work on a javadoc build.
FossilOrigin-Name: 62b404d62fd62f4d220838b59c9f38a71afa2d4a8c3af0a5c9495fa7020972cf
|
2023-08-24 18:43:25 +00:00 |
|
stephan
|
e336d92688
|
Doc, code style, and legibility cleanups.
FossilOrigin-Name: cf185bcd25629d882a030b8b87048179a120ab1f84aa1d68b279c499dbdf0dba
|
2023-08-24 17:25:05 +00:00 |
|
stephan
|
cf8a93f804
|
Doc style fixes.
FossilOrigin-Name: 862f9828e078ae138c3533658c45e4c45155975794e752b9b3a71a693842f37a
|
2023-08-24 15:42:08 +00:00 |
|
stephan
|
e6c299a5c8
|
Add a new non-goal to the JNI README.md.
FossilOrigin-Name: 53000cdae9b265752f8d8616679da621a571a6590c6eaeca23cf87a0e13aa4c4
|
2023-08-24 15:11:28 +00:00 |
|
stephan
|
8e52281659
|
Merge the jni-threading branch into trunk, eliminating the JNI API's prior threading limitations.
FossilOrigin-Name: 3739c8aa7080d8e1044ca51ab7b699b50da4d29620b35acfcea2745059b65bac
|
2023-08-24 14:49:29 +00:00 |
|
stephan
|
e7a4685837
|
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
|
2023-08-24 14:31:36 +00:00 |
|
stephan
|
bfdc7ab5a7
|
Add more JNI docs, tests, and a handful of Java-side overloads.
FossilOrigin-Name: d19a431facbde6a6b960664674753ee85d2c051a76109ce7db0b079c65fbdea0
|
2023-08-24 11:57:51 +00:00 |
|
stephan
|
8cafdfa916
|
JNI cleanups regarding building with certain features disabled.
FossilOrigin-Name: a9e6d5158b8a4a6b8554a5f8f0a35785ee450d42ea877275dc27085e89716c18
|
2023-08-23 17:52:51 +00:00 |
|
stephan
|
1c3bf8a3e1
|
Remove unnecessary jclass-type struct members.
FossilOrigin-Name: d67255f7251cc5d1d27d77d4c84ff216e2da71202db989718189a6b4beff1cd0
|
2023-08-23 17:15:48 +00:00 |
|
stephan
|
495046ef88
|
Add a note to the JNI README explaining why the Java API has callback names like xFunc() and xPreUpdate().
FossilOrigin-Name: 415447a310f6a7d06b4aa9ef51f110cf8e2ef9545c69cb5983c367c50fe641d2
|
2023-08-23 13:36:27 +00:00 |
|
stephan
|
bea9ed0f1f
|
Bind sqlite3_preupdate_hook() and friends to JNI.
FossilOrigin-Name: d0c425b5c1d3aac5ead18a501a3760b4506d68d373cb3be484247042cf2fa8d4
|
2023-08-23 13:17:37 +00:00 |
|
stephan
|
4e97ab4296
|
Bind a subset of sqlite3_config() to JNI: threading modes and sqllog.
FossilOrigin-Name: fce8ecaf7f2e69a168978e6993e58c452c45f76c39da33f2869c9d947c16cab1
|
2023-08-23 10:36:12 +00:00 |
|
stephan
|
4c8ef3894e
|
Numerous minor cleanups and code style conformance improvements.
FossilOrigin-Name: 6c92d884920e4ace54913fc60ceef6e43a4351f45a4cb3c4a0ed3d29d544a31b
|
2023-08-23 09:05:16 +00:00 |
|
stephan
|
336bc8a281
|
Improve C-side exception handling from Java-side UDF callbacks.
FossilOrigin-Name: aebbc24afb339ed07b7cd767fbc0d25f3e9c3d9bb5ef3d1c10b04b605c7261bc
|
2023-08-23 00:17:28 +00:00 |
|
stephan
|
d53565b4f8
|
Minor Tester1.java cleanups.
FossilOrigin-Name: 70d936953ba55cfed32efe7e3a9d4b71da9a7ffc8818b6540471e0bf311bc688
|
2023-08-22 23:00:44 +00:00 |
|
stephan
|
3600976bf1
|
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
|
2023-08-22 22:13:08 +00:00 |
|
stephan
|
d1c7216b2f
|
More work on the JNI multi-threaded test runner.
FossilOrigin-Name: 9a74ad716bded1e14333bf7c72392916f800d58a96240eabe4988ca5fc9e8752
|
2023-08-22 20:10:28 +00:00 |
|
stephan
|
87bb103038
|
Disassociate JNI db handles from the thread that created them, as it's no longer relevant.
FossilOrigin-Name: 8b78b737e66a399b04e555a8197f63a73198a4105cb2f37ffd5b0e6014302caf
|
2023-08-22 18:36:30 +00:00 |
|
stephan
|
c675add616
|
Correct JNI binding of sqlite3_shutdown() to clean up all cached JNIEnv objects.
FossilOrigin-Name: 02e868690f97ca728b0f2dd018aa79a9d13c85dd85b164caa895d319ae8f3ff5
|
2023-08-22 17:51:57 +00:00 |
|
stephan
|
a7e3a1c09b
|
JNI internal cleanups and correct two leaked db handles in test code.
FossilOrigin-Name: f927a30b5bba35991f472084ebaf02779e84c343a4e84f0efb3df7679ff212f8
|
2023-08-22 17:36:59 +00:00 |
|
stephan
|
9828aa223a
|
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
|
2023-08-22 15:30:35 +00:00 |
|
stephan
|
0a102087d8
|
Move most of the per-JNIEnv global Java class refs into the global state, saving a bit of per-thread overhead.
FossilOrigin-Name: 7342bf578790e1a87c128a7c1c7745fe2e7c442890370feb160d406597d4d8ec
|
2023-08-22 11:34:34 +00:00 |
|
stephan
|
484f9bed4e
|
Minor JNI cleanups.
FossilOrigin-Name: b88910aaaaaaa0936974379bb3eb8a5a3a634395b14e67cc9030f8a520f471f1
|
2023-08-21 23:45:19 +00:00 |
|
stephan
|
1089277105
|
JNI cleanups.
FossilOrigin-Name: 0a84131008a2e7886dac64a3545dea634811f6eac2b90885ec9c61ed1e6544c3
|
2023-08-19 14:49:08 +00:00 |
|
stephan
|
6f92f35449
|
Merge trunk into jni-threading branch.
FossilOrigin-Name: 8254479c6ff1ea3cc9e56de1698db8405c03da90b9bf4c401182e47e0842baf8
|
2023-08-19 12:34:23 +00:00 |
|
stephan
|
bfa486d5fc
|
JNI doc additions.
FossilOrigin-Name: 0c7ac34f30e1f7e35a2ac4e5e55e5f24857b24afa81a7abecba60f1c9c68b9ff
|
2023-08-19 12:32:00 +00:00 |
|
stephan
|
187da43379
|
JNI test code cleanups.
FossilOrigin-Name: e202b6e69da8cced114d027cf2e91a04dfdd50b601b3274214783f7d750c558c
|
2023-08-19 11:52:36 +00:00 |
|
stephan
|
8d9179bd07
|
Minor JNI cleanups.
FossilOrigin-Name: 1cecb9e0383aa78c491f9ba88c831a88b4b2d40ceef1b87be494b6ddc0789e41
|
2023-08-19 11:26:52 +00:00 |
|
stephan
|
3cf6c0f276
|
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
|
2023-08-19 10:43:05 +00:00 |
|
stephan
|
46d677e713
|
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
|
2023-08-19 08:22:34 +00:00 |
|
stephan
|
383df02b16
|
Remove some obsolete JNI-internal docs.
FossilOrigin-Name: 00a2a3736a6dcde81d920815520040f3c47f965165e7128ca1f4062e6ec7c17c
|
2023-08-17 22:04:07 +00:00 |
|
stephan
|
6c5f96fc4d
|
Tighten up the JNI auto-ext handling.
FossilOrigin-Name: c09c8d05a20d916a9d9304eeea723ef7666a862a9e53f5feeeb1b03f9153d4b2
|
2023-08-17 13:13:22 +00:00 |
|
stephan
|
1dcb246988
|
Minor internal JNI cleanups and fixes.
FossilOrigin-Name: 0e9437de026cbfb333b90bb3400f1c015f85d49d73a25ad1000623216b88bfa0
|
2023-08-17 12:44:52 +00:00 |
|
stephan
|
0fa2545e7f
|
Remove the FIXME markers related to threading. Code style cleanups.
FossilOrigin-Name: 154ab26dc6ba2d1fd976e8fe6dc1b1a06c734f7e9a276a3edc5c2f30b0d6d36a
|
2023-08-17 10:49:06 +00:00 |
|
stephan
|
ff9ff54801
|
Cherrypick [00ac653562a6] to remove stray JNI debug output. No functional changes.
FossilOrigin-Name: e12d70f38c0ed5c0abf9a1e30ce4db59a4426e1e8cb1f8f07834fc1bedfcc65a
|
2023-08-15 21:44:22 +00:00 |
|
stephan
|
c131675401
|
Cherrypick [653ed92dc391] (went to wrong branch). Doc change only, no code changes.
FossilOrigin-Name: 79a14457f0067814e7c33de709e2f9e19ab880d3eebbcb6f9fcce52a4720ecac
|
2023-08-15 20:57:42 +00:00 |
|
stephan
|
6b51e35a9b
|
Minor reshaping of Tester1 moving towards making a multi-threaded run mode.
FossilOrigin-Name: f104c14c26c123ee78c09fc1bc59efb8668dc624da05c1d8dbeaf3c9dd02a393
|
2023-08-15 09:26:47 +00:00 |
|