1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-07-30 19:03:16 +03:00

Make (almost) all SQLite3Jni.sqlite3_... members public but make the SQLite3Jni class package-private, which has the same foot-protection effect but makes it much simpler to patch SQLite3Jni to publicize the interface later. Remove some of the extraneous foot-shooting protection from indidivual functions, in lieu moving it to the still-pending higher-level interfaces.

FossilOrigin-Name: 082b86683e77b2d4a30e1515552f52511324ef97c43b622b4dab7975ae9fbd7d
This commit is contained in:
stephan
2023-09-30 10:59:18 +00:00
parent 008b62f1ae
commit 9ac7e2d0fc
4 changed files with 211 additions and 212 deletions

View File

@ -2898,7 +2898,7 @@ S3JniApi(sqlite3_complete(),int,1complete)(
&& "Byte array is not NUL-terminated." );
rc = (pBuf && 0==pBuf[(nBa ? nBa-1 : 0)])
? sqlite3_complete( (const char *)pBuf )
: (jSql ? SQLITE_NOMEM : SQLITE_ERROR);
: (jSql ? SQLITE_NOMEM : SQLITE_MISUSE);
s3jni_jbyteArray_release(jSql, pBuf);
return rc;
}
@ -3121,9 +3121,6 @@ S3JniApi(sqlite3_create_collation() sqlite3_create_collation_v2(),
S3JniDb_mutex_enter;
ps = S3JniDb_from_java(jDb);
if( !ps || !name ){
rc = SQLITE_MISUSE;
}else{
jclass const klazz = (*env)->GetObjectClass(env, oCollation);
jmethodID const midCallback =
(*env)->GetMethodID(env, klazz, "call", "([B[B)I");
@ -3152,7 +3149,6 @@ S3JniApi(sqlite3_create_collation() sqlite3_create_collation_v2(),
}
sqlite3_free(zName);
}
}
S3JniDb_mutex_leave;
return (jint)rc;
}

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
C Merge\sin\sand\sclose\sjni-ptr-passing\sbranch.\sThe\sremaining\spointer-passing\sadaptation\scan\sbe\sdone\sincrementally\swithout\saffecting\sthe\sinterface.
D 2023-09-30T10:37:36.161
C Make\s(almost)\sall\sSQLite3Jni.sqlite3_...\smembers\spublic\sbut\smake\sthe\sSQLite3Jni\sclass\spackage-private,\swhich\shas\sthe\ssame\sfoot-protection\seffect\sbut\smakes\sit\smuch\ssimpler\sto\spatch\sSQLite3Jni\sto\spublicize\sthe\sinterface\slater.\sRemove\ssome\sof\sthe\sextraneous\sfoot-shooting\sprotection\sfrom\sindidivual\sfunctions,\sin\slieu\smoving\sit\sto\sthe\sstill-pending\shigher-level\sinterfaces.
D 2023-09-30T10:59:18.528
F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@ -238,7 +238,7 @@ F ext/icu/sqliteicu.h fa373836ed5a1ee7478bdf8a1650689294e41d0c89c1daab26e9ae78a3
F ext/jni/GNUmakefile af9aec8c540167ba8f9da23f86f74df0ad96e72431fd216b24e722b465e86c12
F ext/jni/README.md 9fceaeb17cecdc5d699dfc83c0cbc3a03fdb3b86bf676381894166c73375ee75
F ext/jni/jar-dist.make 030aaa4ae71dd86e4ec5e7c1e6cd86f9dfa47c4592c070d2e35157e42498e1fa
F ext/jni/src/c/sqlite3-jni.c d1fa417c9ee7db061f86e928834e1086172ef7199d2324b823136879b4c1a187
F ext/jni/src/c/sqlite3-jni.c 261665b13fbd49d82d552466457b2cda25bd7f57dd1b95568adea5b25ae33ee7
F ext/jni/src/c/sqlite3-jni.h f5bdb7bb7799b89277ac84d4b6e37719398a9b9c6b3ab62cc0583699625e71ea
F ext/jni/src/org/sqlite/jni/AbstractCollationCallback.java 95e88ba04f4aac51ffec65693e878e234088b2f21b387f4e4285c8b72b33e436
F ext/jni/src/org/sqlite/jni/AggregateFunction.java 7312486bc65fecdb91753c0a4515799194e031f45edbe16a6373cea18f404dc4
@ -259,12 +259,12 @@ F ext/jni/src/org/sqlite/jni/ProgressHandlerCallback.java 7b9ff2218129ece98ba60c
F ext/jni/src/org/sqlite/jni/ResultCode.java ba701f20213a5f259e94cfbfdd36eb7ac7ce7797f2c6c7fca2004ff12ce20f86
F ext/jni/src/org/sqlite/jni/RollbackHookCallback.java d12352c0e22840de484ffa9b11ed5058bb0daca2e9f218055d3c54c947a273c4
F ext/jni/src/org/sqlite/jni/SQLFunction.java 544a875d33fd160467d82e2397ac33157b29971d715a821a4fad3c899113ee8c
F ext/jni/src/org/sqlite/jni/SQLTester.java e7ba02a72be4205c479d08cbc48cd8f3ac5b924eb6b36a3f5a676a67dcdb8af3 w ext/jni/src/org/sqlite/jni/tester/SQLTester.java
F ext/jni/src/org/sqlite/jni/SQLite3Jni.java 65ff9e2426c35763139042ffb59ca565802ca668fe0c5c69334bbdf32a130d59
F ext/jni/src/org/sqlite/jni/SQLTester.java e7ba02a72be4205c479d08cbc48cd8f3ac5b924eb6b36a3f5a676a67dcdb8af3
F ext/jni/src/org/sqlite/jni/SQLite3Jni.java 335d34bc4312a7cb4b8511c9255b3b5dcb9c17d7a4e1a97985384e1972008240
F ext/jni/src/org/sqlite/jni/ScalarFunction.java 6d387bb499fbe3bc13c53315335233dbf6a0c711e8fa7c521683219b041c614c
F ext/jni/src/org/sqlite/jni/TableColumnMetadata.java 54511b4297fa28dcb3f49b24035e34ced10e3fd44fd0e458e784f4d6b0096dab
F ext/jni/src/org/sqlite/jni/Tester1.java ef0a6ee3b4e08ebd99010ca8196214bac902de0ea66f753a5cf581888f9a4211
F ext/jni/src/org/sqlite/jni/TesterFts5.java 0995c5ca1da36b3b703c1c04132b2ee8edd16483be5c422ae378220a4817adbf w ext/jni/src/org/sqlite/jni/fts5/TesterFts5.java
F ext/jni/src/org/sqlite/jni/TesterFts5.java 0995c5ca1da36b3b703c1c04132b2ee8edd16483be5c422ae378220a4817adbf
F ext/jni/src/org/sqlite/jni/TraceV2Callback.java beb0b064c1a5f8bfe585a324ed39a4e33edbe379a3fc60f1401661620d3ca7c0
F ext/jni/src/org/sqlite/jni/UpdateHookCallback.java 8376f4a931f2d5612b295c003c9515ba933ee76d8f95610e89c339727376e36c
F ext/jni/src/org/sqlite/jni/WindowFunction.java 488980f4dbb6bdd7067d6cb9c43e4075475e51c54d9b74a5834422654b126246
@ -289,7 +289,7 @@ F ext/jni/src/org/sqlite/jni/sqlite3_blob.java fc631ad52feea6e3d1d62b0d0e769ac10
F ext/jni/src/org/sqlite/jni/sqlite3_context.java 66ca95ce904044263a4aff684abe262d56f73e6b06bca6cf650761d79d7779ad
F ext/jni/src/org/sqlite/jni/sqlite3_stmt.java cf7f076d8b0f2a23faebbd64e12e8b3dd1977378ca828245d186f1b98458127d
F ext/jni/src/org/sqlite/jni/sqlite3_value.java 3d1d4903e267bc0bc81d57d21f5e85978eff389a1a6ed46726dbe75f85e6914a
F ext/jni/src/org/sqlite/jni/test-script-interpreter.md f9f25126127045d051e918fe59004a1485311c50a13edbf18c79a6ff9160030e w ext/jni/src/org/sqlite/jni/tester/test-script-interpreter.md
F ext/jni/src/org/sqlite/jni/test-script-interpreter.md f9f25126127045d051e918fe59004a1485311c50a13edbf18c79a6ff9160030e
F ext/jni/src/tests/000-000-sanity.test c3427a0e0ac84d7cbe4c95fdc1cd4b61f9ddcf43443408f3000139478c4dc745
F ext/jni/src/tests/000-001-ignored.test e17e874c6ab3c437f1293d88093cf06286083b65bf162317f91bbfd92f961b70
F ext/jni/src/tests/900-001-fts.test bf0ce17a8d082773450e91f2388f5bbb2dfa316d0b676c313c637a91198090f0
@ -2122,8 +2122,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
P 615ab71761754b072439f92e73fdb98c916b820937bcca8904f4be34936d5f9c ec82f7251acab7df40755ef5f456f36fe49b59e63a20be59bd610fc4280ba8cd
R 847945c3f257f5fdca3b6859cd8a460f
P 7927c42410ba0d5fc8e6e08caaa5cbaaeb359869f17d1afaa082f1aa47fdb2fc
R 41c93716d5742c840487d8cf14f1b112
U stephan
Z f5f86ba28a644ae448899dff21eb5c68
Z f8b592e48715b4c5a1763a2edafcc919
# Remove this line to create a well-formed Fossil manifest.

View File

@ -1 +1 @@
7927c42410ba0d5fc8e6e08caaa5cbaaeb359869f17d1afaa082f1aa47fdb2fc
082b86683e77b2d4a30e1515552f52511324ef97c43b622b4dab7975ae9fbd7d