drh
|
aa29140637
|
Add a few words of clarification on how the SQLite Test Script Interpreter
should be initialized to start each test script.
FossilOrigin-Name: 3aa2b5a5cadb214dc64a3db412b7dfdd805abd8681b61da857b886cba3b937b5
|
2023-08-08 14:25:47 +00:00 |
|
stephan
|
5f4e94722b
|
Correct JNI sqlite3_prepare() to emit a null stmt handle when the C counterpart succeeds but results in a NULL pointer.
FossilOrigin-Name: 94628f88b5cc82832f0ca2b00fd5346bfe99323097c6e659c5ac818c4e31d3e9
|
2023-08-08 13:05:12 +00:00 |
|
stephan
|
405dffd591
|
Implement the new/open/close SQLTester commands.
FossilOrigin-Name: dc823bf00f78e7cd626329220c42c46da12d565e3273a08eda5fb512c1d807c6
|
2023-08-08 11:46:46 +00:00 |
|
stephan
|
ec9b37b33e
|
Add a JNI-layer sqlite3.toString() for debugging.
FossilOrigin-Name: 456691649aa2a7672d5d110acdde92426a9d34552863db3e0c86b73d9c5d9aac
|
2023-08-08 11:46:26 +00:00 |
|
stephan
|
c693bd59f7
|
Bind sqlite3_strlike/strglob() to JNI.
FossilOrigin-Name: eb5440f71be32812f6310756b8e30958002e8e8e41a7eb16f081058ff733b47c
|
2023-08-08 10:58:16 +00:00 |
|
stephan
|
aeae7904a5
|
SQLTester: add print command and improve argument error reporting infrastructure.
FossilOrigin-Name: 1b6e84f6aa5c7626a308b5e8efe5c3d83ec8e7eaa803f047576b7c65333c2d44
|
2023-08-08 09:45:33 +00:00 |
|
stephan
|
58eebdaa25
|
Add missing license header. Minor cleanups in SQLTester.
FossilOrigin-Name: 5be50fd5887e5378f7d66405bff3a44117a826a17e5f1a18c5129d1109ecdae2
|
2023-08-08 00:59:40 +00:00 |
|
stephan
|
ec8edf3295
|
Rework SQLTester dispatching and add stub impls for several commmands.
FossilOrigin-Name: 9e61af75ac83e74487a6ae681ee3ff891d8cf1f1d23bf895e9e3963ddf6eaf28
|
2023-08-08 00:37:31 +00:00 |
|
stephan
|
e9ed375876
|
Add command dispatcher to SQLTester.
FossilOrigin-Name: e0a06931e91459ea43fed2954568bfafa7ad6b794fcff66e0d3bf0ed181db386
|
2023-08-07 23:59:08 +00:00 |
|
stephan
|
b7f75b7bb2
|
SQLTester now ignores tests which contain constructs specified in the spec doc.
FossilOrigin-Name: ecaeee652aa2cc6893ded9231d7e9b2783465516016740b307b74e4e81598ae3
|
2023-08-07 23:04:17 +00:00 |
|
stephan
|
fdeaee5f57
|
SQLTester can now split a test script into a series of individual commands.
FossilOrigin-Name: d3d1accc8b4ba0cd396ee3a58d9710a54b8e1d1b171d67595d4ef1fc7faea8cb
|
2023-08-07 22:32:22 +00:00 |
|
stephan
|
70679d135d
|
SQLTester can now read a script and strip it of all noise content.
FossilOrigin-Name: 59bd392817ac69ffdf60ab7a2094b0d616bf593da060b6acf1b4ce9837847fcb
|
2023-08-07 22:02:43 +00:00 |
|
stephan
|
3897a882f7
|
Initial skeleton for adding an SQL-driven test script interpreter for the JNI bindings.
FossilOrigin-Name: 2aa8f0edecd3fc30eec28987cdbf1003ace154ddc1447b6f8715ecf38d3b06fb
|
2023-08-07 21:04:13 +00:00 |
|
stephan
|
c7f7b45a15
|
When converting a Java exception to a db error message, use Throwable.toString() instead of getMessage() so that the exception type's name is included. More internal API renaming for consistency.
FossilOrigin-Name: 2d44720d06d9e50cb037e92981d2473a3ad0b7560f2f5923d428f59de6fd6aaa
|
2023-08-07 11:18:44 +00:00 |
|
stephan
|
be7aef1f85
|
Lots of JNI internal API renaming, for consistency, and moving-around of utility functions. Make it safe for more callback types to throw.
FossilOrigin-Name: 9a494394b9eb28cf88dc5e7075a4b8c682c8e14fdd6837b595bec8011d7e9e72
|
2023-08-07 10:59:27 +00:00 |
|
stephan
|
becf29a36c
|
JNI API renaming to better match the C API.
FossilOrigin-Name: 6e0bd03d0ba9ee8422853241ba1c4e963d158d1f042855c0cb0026701907896e
|
2023-08-07 10:01:59 +00:00 |
|
stephan
|
5d48fb1784
|
Make sqlite3_stmt() Java ctor private - it's only constructed from JNI code.
FossilOrigin-Name: ce82c42f151e38b23945e6f5dd99cb6a77b3c6440508f41abc35e9f6c29cd440
|
2023-08-07 01:06:27 +00:00 |
|
stephan
|
005baf67d5
|
Minor internal cleanups and additional test metrics.
FossilOrigin-Name: fa0a6b6e8e6c711585bca30357e465f7a2f08a1c7159ecf23031af1e5158b89d
|
2023-08-07 00:29:38 +00:00 |
|
stephan
|
8af781fc4d
|
Bind the auto-extension APIs to JNI.
FossilOrigin-Name: 746a5fa079ad80b3c59411202ee601e0b5c50e79e5994d5e464fa06d3c276324
|
2023-08-07 00:06:31 +00:00 |
|
stephan
|
60745265e1
|
Rework the sqlite3_open(_v2)() order of operations so that pending auto-extension support can get ahold of the open-time Java state despite the Java/C (sqlite3*) binding not having yet been established.
FossilOrigin-Name: 34da294ab558880e81eebd7d261bc590551d5a7d2855e844695cef6394647ea7
|
2023-08-06 22:09:09 +00:00 |
|
stephan
|
d85f9bf6d5
|
Completely rework how the JNI sqlite3_open(_v2) and sqlite3_prepare(_vN)() bindings deal with output pointers to give the JNI side full control over the origin of db and stmt handles (necessary for solving chicken/egg situations in auto-extensions and prepare-time trace). Lots of adjacent internal API renaming.
FossilOrigin-Name: 644999caff9db79562d45520d94aaa24ee88c65e397b6fb9c20a4f0e7f84e1a5
|
2023-08-06 21:29:13 +00:00 |
|
stephan
|
af90dcf324
|
Start adding JNI-side support for auto extensions, but hit a brick wall which requires slightly awkward semantics changes in the JNI bindings for sqlite3_open(_v2)() to resolve, so stash this #if'd out for the time being.
FossilOrigin-Name: 77a32d238e80fe1d237768d88780043a7bd2b3543e6672536254782cbea0039c
|
2023-08-06 20:01:30 +00:00 |
|
stephan
|
1a2563a950
|
Doc cleanups.
FossilOrigin-Name: 5f56b007704f2aad4cbc6f0ccd1e1f1c974865971f99451352714ee7e077c284
|
2023-08-06 15:01:38 +00:00 |
|
stephan
|
5558624b43
|
Bind sqlite3_config() to JNI for call variants taking (int,int*) and (int,const char *) variadic arguments.
FossilOrigin-Name: 6119289da85ac0c83e2a7236d24bbfff22334d6cf1d852756dc658ad6a75dfec
|
2023-08-06 14:19:09 +00:00 |
|
stephan
|
9c4c16c80d
|
JNI-internal cleanups and API renaming. Add a C-side java-string-to-utf8 conversion.
FossilOrigin-Name: 672d85795d04131135b1dc6a02d64eceb8b5084217c17766afeca4af23c07ec4
|
2023-08-06 13:02:43 +00:00 |
|
stephan
|
6a9364a518
|
Remove doc outdated warning about sqlite3_trace_v2() JNI binding being incompatible with MUTF-8. Use new to-string capability to simplify Fts5ExtensionApi::xColumnText() JNI binding.
FossilOrigin-Name: ebcfc2379be12f76a96f3605b734f406b3354d4c985062cdbfca0cf7e3f31379
|
2023-08-06 11:05:17 +00:00 |
|
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 |
|