]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
JNI cleanups regarding building with certain features disabled.
authorstephan <stephan@noemail.net>
Wed, 23 Aug 2023 17:52:51 +0000 (17:52 +0000)
committerstephan <stephan@noemail.net>
Wed, 23 Aug 2023 17:52:51 +0000 (17:52 +0000)
FossilOrigin-Name: a9e6d5158b8a4a6b8554a5f8f0a35785ee450d42ea877275dc27085e89716c18

ext/jni/src/c/sqlite3-jni.c
ext/jni/src/org/sqlite/jni/SQLite3Jni.java
ext/jni/src/org/sqlite/jni/Tester1.java
manifest
manifest.uuid

index 494e64a3f665a31dda63cc47f83d92f4eeaa94da..debb221d6afc1345052b6c6c2881601c3458728b 100644 (file)
@@ -61,9 +61,6 @@
 #ifndef SQLITE_ENABLE_OFFSET_SQL_FUNC
 #  define SQLITE_ENABLE_OFFSET_SQL_FUNC 1
 #endif
-#ifndef SQLITE_ENABLE_PREUPDATE_HOOK
-#  define SQLITE_ENABLE_PREUPDATE_HOOK 1 /*required by session extension*/
-#endif
 #ifndef SQLITE_ENABLE_RTREE
 #  define SQLITE_ENABLE_RTREE 1
 #endif
@@ -235,12 +232,12 @@ static const struct {
   const S3NphRef sqlite3_value;
   const S3NphRef OutputPointer_Int32;
   const S3NphRef OutputPointer_Int64;
-  const S3NphRef OutputPointer_String;
-  const S3NphRef OutputPointer_ByteArray;
   const S3NphRef OutputPointer_sqlite3;
   const S3NphRef OutputPointer_sqlite3_stmt;
   const S3NphRef OutputPointer_sqlite3_value;
 #ifdef SQLITE_ENABLE_FTS5
+  const S3NphRef OutputPointer_String;
+  const S3NphRef OutputPointer_ByteArray;
   const S3NphRef Fts5Context;
   const S3NphRef Fts5ExtensionApi;
   const S3NphRef fts5_api;
@@ -255,12 +252,12 @@ static const struct {
   NREF(3,  "sqlite3_value"),
   NREF(4,  "OutputPointer$Int32"),
   NREF(5,  "OutputPointer$Int64"),
-  NREF(6,  "OutputPointer$String"),
-  NREF(7,  "OutputPointer$ByteArray"),
-  NREF(8,  "OutputPointer$sqlite3"),
-  NREF(9,  "OutputPointer$sqlite3_stmt"),
-  NREF(10, "OutputPointer$sqlite3_value"),
+  NREF(6,  "OutputPointer$sqlite3"),
+  NREF(7,  "OutputPointer$sqlite3_stmt"),
+  NREF(8,  "OutputPointer$sqlite3_value"),
 #ifdef SQLITE_ENABLE_FTS5
+  NREF(9,  "OutputPointer$String"),
+  NREF(10, "OutputPointer$ByteArray"),
   NREF(11, "Fts5Context"),
   NREF(12, "Fts5ExtensionApi"),
   NREF(13, "fts5_api"),
@@ -4525,13 +4522,6 @@ Java_org_sqlite_jni_SQLite3Jni_init(JENV_CSELF){
     int value;
   } ConfigFlagEntry;
   const ConfigFlagEntry aLimits[] = {
-    {"SQLITE_ENABLE_FTS5", JTYPE_BOOL,
-#ifdef SQLITE_ENABLE_FTS5
-     1
-#else
-     0
-#endif
-    },
     {"SQLITE_MAX_ALLOCATION_SIZE", JTYPE_INT, SQLITE_MAX_ALLOCATION_SIZE},
     {"SQLITE_LIMIT_LENGTH", JTYPE_INT, SQLITE_LIMIT_LENGTH},
     {"SQLITE_MAX_LENGTH", JTYPE_INT, SQLITE_MAX_LENGTH},
@@ -4597,7 +4587,7 @@ Java_org_sqlite_jni_SQLite3Jni_init(JENV_CSELF){
   { /* StandardCharsets.UTF_8 */
     jfieldID fUtf8;
     klazz = (*env)->FindClass(env,"java/nio/charset/StandardCharsets");
-    EXCEPTION_IS_FATAL("Error getting reference to StndardCharsets class.");
+    EXCEPTION_IS_FATAL("Error getting reference to StandardCharsets class.");
     fUtf8 = (*env)->GetStaticFieldID(env, klazz, "UTF_8",
                                      "Ljava/nio/charset/Charset;");
     EXCEPTION_IS_FATAL("Error getting StandardCharsets.UTF_8 field.");
index c22d2fa60eb2877adcf050cbe200e28dfe97b8a0..29ed0e560276c60d470793ea9d9b520e4bb8cfb3 100644 (file)
@@ -1251,11 +1251,6 @@ public final class SQLite3Jni {
   public static final String SQLITE_VERSION = sqlite3_libversion();
   public static final String SQLITE_SOURCE_ID = sqlite3_sourceid();
 
-  //! Feature flags which are initialized at lib startup. Necessarily
-  // non-final so that lib init can fill out the proper values,
-  // but modifying them from client code has no effect.
-  public static boolean SQLITE_ENABLE_FTS5 = false;
-
   // access
   public static final int SQLITE_ACCESS_EXISTS = 0;
   public static final int SQLITE_ACCESS_READWRITE = 1;
index 616e9fed229bb4a3022ab6d70f213538a2480adf..c655ae7ffd19cd8b3799c5930d250632dd2e944f 100644 (file)
@@ -1046,6 +1046,10 @@ public class Tester1 implements Runnable {
      different callback type.
   */
   private synchronized void testPreUpdateHook(){
+    if( !sqlite3_compileoption_used("ENABLE_PREUPDATE_HOOK") ){
+      //outln("Skipping testPreUpdateHook(): no pre-update hook support.");
+      return;
+    }
     final sqlite3 db = createNewDb();
     final ValueHolder<Integer> counter = new ValueHolder<>(0);
     final ValueHolder<Integer> expectedOp = new ValueHolder<>(0);
@@ -1153,8 +1157,8 @@ public class Tester1 implements Runnable {
   */
   @SuppressWarnings("unchecked")
   private void testFts5() throws Exception {
-    if( !SQLITE_ENABLE_FTS5 ){
-      outln("SQLITE_ENABLE_FTS5 is not set. Skipping FTS5 tests.");
+    if( !sqlite3_compileoption_used("ENABLE_FTS5") ){
+      //outln("SQLITE_ENABLE_FTS5 is not set. Skipping FTS5 tests.");
       return;
     }
     Exception err = null;
@@ -1444,16 +1448,21 @@ public class Tester1 implements Runnable {
     }
 
     if( sqlLog ){
-      int rc = sqlite3_config( new SQLLog() {
-          @Override public void xSqllog(sqlite3 db, String msg, int op){
-            switch(op){
-              case 0: outln("Opening db: ",db); break;
-              case 1: outln(db,": ",msg); break;
-              case 2: outln("Closing db: ",db); break;
+      if( sqlite3_compileoption_used("ENABLE_SQLLOG") ){
+        int rc = sqlite3_config( new SQLLog() {
+            @Override public void xSqllog(sqlite3 db, String msg, int op){
+              switch(op){
+                case 0: outln("Opening db: ",db); break;
+                case 1: outln(db,": ",msg); break;
+                case 2: outln("Closing db: ",db); break;
+              }
             }
-          }
-        });
-      affirm( 0==rc );
+          });
+        affirm( 0==rc );
+      }else{
+        outln("WARNING: -sqllog is not active because library was built ",
+              "without SQLITE_ENABLE_SQLLOG.");
+      }
     }
 
     final long timeStart = System.currentTimeMillis();
index f6449b99b7d7e699bbfc58da9ac9878a465927b0..f1c1761dd48a27dbe5a4396eb0f6b1aad47ad802 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Remove\sunnecessary\sjclass-type\sstruct\smembers.
-D 2023-08-23T17:15:48.658
+C JNI\scleanups\sregarding\sbuilding\swith\scertain\sfeatures\sdisabled.
+D 2023-08-23T17:52:51.175
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -235,7 +235,7 @@ F ext/icu/sqliteicu.h fa373836ed5a1ee7478bdf8a1650689294e41d0c89c1daab26e9ae78a3
 F ext/jni/GNUmakefile 14b7c3abd1ae8693203b08b0e06bb359f8924ad2243f15953e9c6e456ae317b5
 F ext/jni/README.md 1693e865d366f5ebaa756732ea0d4b786515caf3cfbcd4dcb8758274373913b0
 F ext/jni/jar-dist.make 9a03d10dbb5a74c724bfec4b76fd9e4c9865cbbc858d731cb48f38ac897d73a3
-F ext/jni/src/c/sqlite3-jni.c adb773d104abe72e93364f21c52d455f361692f3cd7dd6d9fdab6110b8b4f3ee
+F ext/jni/src/c/sqlite3-jni.c 0ca96134d7fb3f313a7a49487f68a8d7a6d7545470c84532aa1ce63d2cdc432e
 F ext/jni/src/c/sqlite3-jni.h c5cb0348efe4e5f3d125a240e2437e8475de14a586c2f859e2acdcde4116244d
 F ext/jni/src/org/sqlite/jni/Authorizer.java 1308988f7f40579ea0e4deeaec3c6be971630566bd021c31367fe3f5140db892
 F ext/jni/src/org/sqlite/jni/AutoExtension.java 3b62c915e45ce73f63343ca9195ec63592244d616a1908b7587bdd45de1b97dd
@@ -257,8 +257,8 @@ F ext/jni/src/org/sqlite/jni/ResultCode.java ba701f20213a5f259e94cfbfdd36eb7ac7c
 F ext/jni/src/org/sqlite/jni/RollbackHook.java b04c8abcc6ade44a8a57129e33765793f69df0ba909e49ba18d73f4268d92564
 F ext/jni/src/org/sqlite/jni/SQLFunction.java f697cf2a81c4119f2baf0682af689686f0466f1dd83dba00885f5603e693fe16
 F ext/jni/src/org/sqlite/jni/SQLLog.java c60610b35208416940822e834d61f08fbbe5d6e06b374b541b49e41fd56c9798
-F ext/jni/src/org/sqlite/jni/SQLite3Jni.java e99e073e3779d00e23842858276efac93c8b523193b77ff12469d12a0b6182ca
-F ext/jni/src/org/sqlite/jni/Tester1.java 05ae085ed040bcc10b51cd12076a4151eda478f9773dc00a85d0cddd3dcc01f7
+F ext/jni/src/org/sqlite/jni/SQLite3Jni.java f64554457fa30a048ef99374bfac3c4b986e3528353dce3086a98a858e3fe000
+F ext/jni/src/org/sqlite/jni/Tester1.java 69ea63a5b235f94f914dff6fe3ecd103ee0a8023b8737db071b46c0c75375e26
 F ext/jni/src/org/sqlite/jni/TesterFts5.java de095e3b701fba0c56d7b8b2993dc22bcbaa9de8f992904a93729ad729a91576
 F ext/jni/src/org/sqlite/jni/Tracer.java a5cece9f947b0af27669b8baec300b6dd7ff859c3e6a6e4a1bd8b50f9714775d
 F ext/jni/src/org/sqlite/jni/UpdateHook.java e58645a1727f8a9bbe72dc072ec5b40d9f9362cb0aa24acfe93f49ff56a9016d
@@ -2094,8 +2094,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 415447a310f6a7d06b4aa9ef51f110cf8e2ef9545c69cb5983c367c50fe641d2
-R fddefcd0dbe857a799e7e6b983a3459a
+P d67255f7251cc5d1d27d77d4c84ff216e2da71202db989718189a6b4beff1cd0
+R b911867dcaf18c3e131e156c82d306fe
 U stephan
-Z b441a1d2bae36389c447acd3134d6be2
+Z bdef86836c9254e732e1b6d744febf17
 # Remove this line to create a well-formed Fossil manifest.
index 3df5deea504f4118dcc287693840f85519e36eff..5245bf9cfee9100c066cb1ebd7356caec2268422 100644 (file)
@@ -1 +1 @@
-d67255f7251cc5d1d27d77d4c84ff216e2da71202db989718189a6b4beff1cd0
\ No newline at end of file
+a9e6d5158b8a4a6b8554a5f8f0a35785ee450d42ea877275dc27085e89716c18
\ No newline at end of file