stephan
|
57645b67fa
|
Add a way to convert from standard UTF-8 to a Java string (JNI lacks this capability).
FossilOrigin-Name: 07dd082c9e371829a18aeb574f842891e545e1fc125760238ede7e7e2b6a4262
|
2023-08-06 10:49:47 +00:00 |
|
stephan
|
1bce6b468e
|
Bind sqlite3_db_filename() and (closely related) (A) add many more docs about the UTF-8/MUTF-8 discrepancy (B) start adding internals to enable us to perform the standard-UTF-8-to-Java conversion from C.
FossilOrigin-Name: 586720fa714ac74491cd85d0c6645242e55e5989ad312ef6e15e0b0acc6906ff
|
2023-08-06 10:14:53 +00:00 |
|
stephan
|
153288dc89
|
Bind sqlite3_set_authorizer() to JNI.
FossilOrigin-Name: e0fa03135942cd2fe732a74510d380ba78ab230c452168e638f32b4aee04b3f7
|
2023-08-05 22:41:36 +00:00 |
|
stephan
|
28e95830ad
|
Refactor the per-JNIEnv cache from a fixed-size static array to a linked list of dynamically-allocated entries. Uncache all per-db state (which is necessarily JNIEnv-specific) when the corresponding JNIEnv is uncached.
FossilOrigin-Name: 9dd8b78419e19e88bc3fbff9bf200390b146b2461af2bb6b93d8467036619e33
|
2023-08-05 21:35:58 +00:00 |
|
stephan
|
67214a9594
|
Add SQLite3Jni.uncacheJniEnv(), a way for Java threads to clear their thread-specific cached state from the JNI bindings when they're about to terminate (or are otherwise done using the library).
FossilOrigin-Name: 7468f8761bece58f7ced3d112bbe2fb454432d9c54c9b96cedb5a15bc2926d0f
|
2023-08-05 20:19:45 +00:00 |
|
stephan
|
27cb7d6a1d
|
In the JNI docs, note that the sizeof SQLITE_TRANSIENT and SQLITE_STATIC should ideally be the same as the platform's pointer size.
FossilOrigin-Name: 7d4ac44ec419ed0474bdb9d237b97660cf0d8faba8fe686f6a914d7bc04dfa3b
|
2023-08-05 19:20:15 +00:00 |
|
stephan
|
fdeb2c8121
|
JNI internal refactoring and cleanups.
FossilOrigin-Name: 7397973a2f191d75b149cf73a6d7ee1798820c1cd37d83af14e565067ede1b04
|
2023-08-05 12:48:33 +00:00 |
|
stephan
|
695d0b698a
|
Bind Fts5ExtensionApi::xUserData() to JNI and extend xCreateFunction() to accept that argument. In test code, use assert() instead of exceptions if assert() is enabled so that test failures (exceptions) thrown via callbacks do not get suppressed (which they otherwise necessarily are to avoid crashing the host app).
FossilOrigin-Name: e43837377696e468cd31cf71585fe235ffe67a9f4d3b036c5f9d0cb7141d0f57
|
2023-08-05 11:16:54 +00:00 |
|
stephan
|
4f07be39b7
|
Add missing Fts5PhraseIter.java to the build.
FossilOrigin-Name: 96281ad0d5b2f020622c4f85f8694886e6a29fb43e1fbeb2a346ed2e94f109fb
|
2023-08-05 04:30:31 +00:00 |
|
stephan
|
ec71e555c4
|
Bind fts5_api::xCreateFunction() to JNI and demonstrate it with a test.
FossilOrigin-Name: c653bf16cbdccae05ab14059b140191afd5c17740fb78d756d8822986e54b17c
|
2023-08-05 04:23:27 +00:00 |
|
stephan
|
977b6919f2
|
Start adding fts5_api to JNI.
FossilOrigin-Name: 14d18fe983c83412d72fd2005a45a2b8c48d347b7bbf8ef9630ae460cff85c32
|
2023-08-05 01:28:30 +00:00 |
|
stephan
|
0c179dd5b4
|
Bind the remaining Fts5ExtensionApi methods to JNI, noting that all are completely untested because the higher-level bits needed to do so are still missing.
FossilOrigin-Name: 23383c1dfd240ce47f504dd5c3402c9a31f166fbde5bb72d91309a5655074b33
|
2023-08-05 00:40:28 +00:00 |
|
stephan
|
cc8202b646
|
More work on the JNI binding of fts5 customization (still a long ways to go).
FossilOrigin-Name: 1a246fd21657f5bb13eeacc4059894ab787ea9a3c45bd9bdd3030a66643d2fef
|
2023-08-04 15:38:59 +00:00 |
|
stephan
|
c7795cfd47
|
Eliminate code duplication in the two JNI tester classes.
FossilOrigin-Name: 63e7bbe3d5fcfb531f9d7fa88398c1191570e69b5d11adcb9c5e64b8345b4e6c
|
2023-08-04 13:27:45 +00:00 |
|
stephan
|
5e208f712f
|
FTS-related JNI refactoring. Move FTS-specific tests into their own class and dynamically load it, if possible, from the main test app.
FossilOrigin-Name: b7a8428fcd969e7a29a23c2dae61883f69501094f2de0f79bbee3c02c672cbf5
|
2023-08-04 13:03:31 +00:00 |
|
stephan
|
b15223bce6
|
More work towards binding FTS5 customization to JNI. Add Fts*.java files missing from previous checkin.
FossilOrigin-Name: 91263178f463ca4623dd0203696eff6bcfd68abde5d2471be3f5a3edd791c52a
|
2023-08-04 12:44:06 +00:00 |
|
stephan
|
c0952c11a7
|
Start including fts5 customization bits into JNI, but it's far from functional.
FossilOrigin-Name: abaf5edd0430e3301a11bd0acb9ce4b81b310237e1799701411db56ef7605e01
|
2023-08-04 11:08:25 +00:00 |
|
stephan
|
e133a0ec05
|
Improve internal error handling in the JNI create_function() impl.
FossilOrigin-Name: 2c88390faa108a60c8fb1eb7aad05d90f3daf4cfef14ca73987597aaf7be83c9
|
2023-08-04 09:53:13 +00:00 |
|
stephan
|
ed86e0a0a7
|
More JNI-internal docs. Correct handling of a Java exception if a trace callback throws.
FossilOrigin-Name: 306b269a01037bc5c98276276fdb17b37027d1ee0d603183f42a65966245bdff
|
2023-08-02 17:29:18 +00:00 |
|
stephan
|
decc1425a3
|
Internal doc additions in the JNI bits.
FossilOrigin-Name: b56643644e065b03fe2c3545e02ed3b2f6fd9f77c39aa84a02a00d695e9a12dc
|
2023-08-02 17:20:52 +00:00 |
|
stephan
|
ed77e13f05
|
More docs for the Java side of the JNI bindings.
FossilOrigin-Name: d8e9bcee96b90d56701f7907a8bd48853211caf757e1aa8decc7ed25eece6770
|
2023-08-01 10:19:05 +00:00 |
|
stephan
|
e209d144c3
|
Internal exception-handling cleanups in the JNI bindings.
FossilOrigin-Name: 057b1d4f6ffff73c120566895f61ea3fd8118968464d67ec9262096a7aa03f39
|
2023-08-01 09:44:26 +00:00 |
|
stephan
|
0bc72d2b91
|
Minor JNI-related doc tweaks and code re-ordering.
FossilOrigin-Name: b663b27e425966f34fb62482a18048f0e2934380e5c411ae3627f1fe6a765c04
|
2023-08-01 08:48:13 +00:00 |
|
stephan
|
db6f0bef91
|
Experimentally change the JNI sqlite3_trace_v2() callback type to have more convenient access to the current Java-side sqlite3_stmt at the cost of some uncomfortably fiddly current-statement tracking in the JNI layer. Subject to change.
FossilOrigin-Name: 459db332af6ea358b42bac096b9d26f1045b9ec32fad8463bca06807b2396b2c
|
2023-07-31 13:52:46 +00:00 |
|
stephan
|
e3e9bdcd0b
|
Add some JNI-internal metrics, accessible via passing -v when running Tester1.java. Document an OpenJDK bug which leads to incorrect -Xlint:jni warnings.
FossilOrigin-Name: a5d68a6b64abe3c2dfc3a32157f70fd8a4ad89feef2510b3bbb2d86b325d51ae
|
2023-07-31 12:10:32 +00:00 |
|
stephan
|
8f714e21a0
|
Correct a mis-cast in the JNI wrapper which just happened to accidentally work. Update JNI binding of sqlite3_context_db_handle() to return the bound-at-open() db instance instead of a new/temp proxy object.
FossilOrigin-Name: 9faca5d9ed4a749421e08bd1da8b7672c0fd31366124fdb613c46e19dece0fc1
|
2023-07-31 10:55:30 +00:00 |
|
stephan
|
ede8900912
|
Add another test for JNI-bound scalar UDFs.
FossilOrigin-Name: 8b322d92e247be606f83977767dc361ee4f7bc819122a630bdaa1110177db9b8
|
2023-07-31 10:42:05 +00:00 |
|
stephan
|
e2e696d11f
|
Update some internal docs for the past two checkins. Add a way to dump out some debug info about the current JNI environment.
FossilOrigin-Name: ac9b8bb1e64450d980e2986084996549ae5c59e68c9f0c4c69539c239b64468b
|
2023-07-31 10:22:34 +00:00 |
|
stephan
|
452108b4fc
|
Refactor the busy-handler-specific JNI hook type to use the generic hook type.
FossilOrigin-Name: d9efdc6dd20a34bfdaad5d4bf8e67cce7e35238299eb91e4459d59fda11978a6
|
2023-07-31 10:08:36 +00:00 |
|
stephan
|
46c46e400a
|
Refactor the collation-specific JNI hook type to use the generic hook type.
FossilOrigin-Name: 02c1d3b6501fedf3d6e6d1ca60699df268522182c5ba3b49ae8f4691499ef0fc
|
2023-07-31 09:45:49 +00:00 |
|
stephan
|
41a7ac637a
|
Internal JNI doc tweaks.
FossilOrigin-Name: f4aa2c82882cb6be1fd52977de19fd03c2e38abb857b520f951b32d610972ab6
|
2023-07-31 09:28:15 +00:00 |
|
stephan
|
9c1c6da930
|
Consolidate triplicated xDestroy()-calling code. Remove some unnecessary casts.
FossilOrigin-Name: 24c0763d0e025187c74002ffee11fd48d3cd7b40e01469d28484bb67f701884b
|
2023-07-31 07:15:25 +00:00 |
|
stephan
|
09947d0aad
|
Internal JNI API renaming.
FossilOrigin-Name: fcfc070673cef2f657f4737f096678439ed7c011fb2e5391e0721f82f5d8af51
|
2023-07-30 18:41:25 +00:00 |
|
stephan
|
91710673e7
|
Internal JNI refactoring towards consolidating support for callbacks with and without finalizers.
FossilOrigin-Name: 120983a570d6de055cef9d916096de3410897ea9f46d23ea6eff1f9b549e423a
|
2023-07-30 17:24:01 +00:00 |
|
stephan
|
72bb29283f
|
Mark the Java wrapper classes of the C-native types as 'final' (cannot be subclassed).
FossilOrigin-Name: 4fd3d93623d67c25fb8a490e0d4ea56d531d858067011ab1b28cce694098feff
|
2023-07-30 13:47:51 +00:00 |
|
stephan
|
13b059025f
|
Minor tweaks and optimizations in the JNI bindings.
FossilOrigin-Name: 41fb5898f1a78d9fd85a020e28a6048a7359b54e35632e9072917cbdbcd8b07d
|
2023-07-30 13:30:52 +00:00 |
|
stephan
|
502a5c2e26
|
Bind sqlite3_collation_needed() to JNI. Related adjacent cleanups and fixes.
FossilOrigin-Name: 16ff167691733350907d2d995c774a885214acd0fe8ec491c16b786f00fe85d4
|
2023-07-30 11:36:41 +00:00 |
|
stephan
|
45fe10d02b
|
Internal JNI refacoring to support the pending sqlite3_collation_needed() callback. Correct a bug in the linked-list handling of PerDbStateJni which triggered an assert().
FossilOrigin-Name: 7ac6614e69b03304d09745619ed83f12c7eb775aaf4a636a79289b01642ddd14
|
2023-07-30 10:47:38 +00:00 |
|
stephan
|
9c113744d1
|
Incremental checkin to minimize the diff while narrowing in on an assertion caused by refactoring.
FossilOrigin-Name: 2d7a91b1396d87852f1153ab7af7385514a9537cb64ba3bbd0faba2d28704214
|
2023-07-30 09:45:54 +00:00 |
|
stephan
|
70576de5e0
|
Consolidate some warnings for java callbacks which must not throw but do.
FossilOrigin-Name: 5e592ed2dfc89225fff3a1c76509adc799a238282413984e0c4b32af18525d18
|
2023-07-30 08:12:15 +00:00 |
|
stephan
|
fecad503a9
|
Bind sqlite3_update_hook() to JNI.
FossilOrigin-Name: a5bbaa9017839f8d8b92bfb44472d4c60fa3037bfae7846dc8350262c1332cde
|
2023-07-30 07:44:03 +00:00 |
|
stephan
|
b162c68d62
|
Bind sqlite3_rollback_hook() to JNI.
FossilOrigin-Name: 5f8ee44098d74ac2b98e4dd43ad80d3b919528358b3f992b425af7fa6262dcee
|
2023-07-30 06:44:21 +00:00 |
|
stephan
|
00c0c5883a
|
Add commit hook failure to JNI tests.
FossilOrigin-Name: be4459b495cc2555e4d8ca24dd56c3da1036d25af7cc077bbc3d93c2a3e8c40b
|
2023-07-30 06:00:53 +00:00 |
|
stephan
|
f52de0fdaf
|
Bind sqlite3_commit_hook() to JNI.
FossilOrigin-Name: c687297fcae082cbd7f9258c43f3841fd34904d8b62b0adf3cd61fcddeee483d
|
2023-07-30 05:50:34 +00:00 |
|
stephan
|
ca379859c9
|
Bind sqlite3_progress_handler() to JNI. Add some metrics to Tester1.java.
FossilOrigin-Name: 437ecfe8abf8d294d429d191d811da6148e0b2ebb74cf66998480bfc8ef58bdf
|
2023-07-30 04:31:56 +00:00 |
|
stephan
|
33c8e9d233
|
Internal JNI binding docs.
FossilOrigin-Name: 991c66197e4dc7297fce3b20a1b4846873bcd4ce8add36aac71bd2e0e73c207b
|
2023-07-28 18:44:11 +00:00 |
|
stephan
|
888e14f551
|
Fix an incorrect file path in ext/jni/README.md
FossilOrigin-Name: bcefa2df563260933c7ab5df90872580f71010c11419f6b1de7b1e2747237ff8
|
2023-07-28 18:02:02 +00:00 |
|
drh
|
f69084aaf7
|
Fix minor typos in the JNI README.md file.
FossilOrigin-Name: e21cf2e8f13465dbff33f9c21580752c1d8c077d6a253f56f04dab0d47eb99b8
|
2023-07-28 15:58:09 +00:00 |
|
stephan
|
c7f602497b
|
Minor java cleanups recommended by a modern IDE.
FossilOrigin-Name: f92a9bbabebc33a771835e259b04a57d07add1eacf3d9aec5fddf929ce8a3022
|
2023-07-28 10:37:17 +00:00 |
|
stephan
|
069029011e
|
Add Java tests which ensure that xFinal() is called with no aggregate context when the result set is empty.
FossilOrigin-Name: 7ac8c66a6b62d6bb345e8b9957a26de463019ae7d30ff442f19482c3a6827fc7
|
2023-07-28 10:01:01 +00:00 |
|