From: stephan Date: Thu, 28 Sep 2023 11:19:37 +0000 (+0000) Subject: Adapted the JNI bindings for the sqlite3_value_...() and (pre)update hook APIs to... X-Git-Tag: version-3.44.0~171^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0dabcd139d1dceff596ab5f45d82a2bccba674e3;p=thirdparty%2Fsqlite.git Adapted the JNI bindings for the sqlite3_value_...() and (pre)update hook APIs to the new pointer-passing mechanism. FossilOrigin-Name: 4182f0275d5d65e04a130eeef4d44642a5ffeeb4b84430d240ea2605345f1404 --- diff --git a/ext/jni/src/c/sqlite3-jni.c b/ext/jni/src/c/sqlite3-jni.c index 248c12abbd..26d0647a6f 100644 --- a/ext/jni/src/c/sqlite3-jni.c +++ b/ext/jni/src/c/sqlite3-jni.c @@ -3792,8 +3792,8 @@ S3JniApi(sqlite3_preupdate_depth(),int,1preupdate_1depth)( ** JNI wrapper for both sqlite3_update_hook() and ** sqlite3_preupdate_hook() (if isPre is true). */ -static jobject s3jni_updatepre_hook(JNIEnv * env, int isPre, jobject jDb, jobject jHook){ - S3JniDb * const ps = S3JniDb_from_java(jDb); +static jobject s3jni_updatepre_hook(JNIEnv * env, int isPre, jlong jpDb, jobject jHook){ + S3JniDb * const ps = S3JniDb_from_c(S3JniLongPtr_sqlite3(jpDb)); jclass klazz; jobject pOld = 0; jmethodID xCallback; @@ -3866,20 +3866,20 @@ end: S3JniApi(sqlite3_preupdate_hook(),jobject,1preupdate_1hook)( - JniArgsEnvClass, jobject jDb, jobject jHook + JniArgsEnvClass, jlong jpDb, jobject jHook ){ #ifdef SQLITE_ENABLE_PREUPDATE_HOOK - return s3jni_updatepre_hook(env, 1, jDb, jHook); + return s3jni_updatepre_hook(env, 1, jpDb, jHook); #else return NULL; #endif /* SQLITE_ENABLE_PREUPDATE_HOOK */ } /* Impl for sqlite3_preupdate_{new,old}(). */ -static int s3jni_preupdate_newold(JNIEnv * const env, int isNew, jobject jDb, +static int s3jni_preupdate_newold(JNIEnv * const env, int isNew, jlong jpDb, jint iCol, jobject jOut){ #ifdef SQLITE_ENABLE_PREUPDATE_HOOK - sqlite3 * const pDb = PtrGet_sqlite3(jDb); + sqlite3 * const pDb = S3JniLongPtr_sqlite3(jpDb); int rc = SQLITE_MISUSE; if( pDb ){ sqlite3_value * pOut = 0; @@ -3903,15 +3903,15 @@ static int s3jni_preupdate_newold(JNIEnv * const env, int isNew, jobject jDb, } S3JniApi(sqlite3_preupdate_new(),jint,1preupdate_1new)( - JniArgsEnvClass, jobject jDb, jint iCol, jobject jOut + JniArgsEnvClass, jlong jpDb, jint iCol, jobject jOut ){ - return s3jni_preupdate_newold(env, 1, jDb, iCol, jOut); + return s3jni_preupdate_newold(env, 1, jpDb, iCol, jOut); } S3JniApi(sqlite3_preupdate_old(),jint,1preupdate_1old)( - JniArgsEnvClass, jobject jDb, jint iCol, jobject jOut + JniArgsEnvClass, jlong jpDb, jint iCol, jobject jOut ){ - return s3jni_preupdate_newold(env, 0, jDb, iCol, jOut); + return s3jni_preupdate_newold(env, 0, jpDb, iCol, jOut); } @@ -4619,16 +4619,16 @@ S3JniApi(sqlite3_txn_state(),jint,1txn_1state)( } S3JniApi(sqlite3_update_hook(),jobject,1update_1hook)( - JniArgsEnvClass, jobject jDb, jobject jHook + JniArgsEnvClass, jlong jpDb, jobject jHook ){ - return s3jni_updatepre_hook(env, 0, jDb, jHook); + return s3jni_updatepre_hook(env, 0, jpDb, jHook); } S3JniApi(sqlite3_value_blob(),jbyteArray,1value_1blob)( - JniArgsEnvClass, jobject jpSVal + JniArgsEnvClass, jlong jpSVal ){ - sqlite3_value * const sv = PtrGet_sqlite3_value(jpSVal); + sqlite3_value * const sv = S3JniLongPtr_sqlite3_value(jpSVal); int const nLen = sqlite3_value_bytes(sv); const jbyte * pBytes = sqlite3_value_blob(sv); @@ -4640,48 +4640,48 @@ S3JniApi(sqlite3_value_blob(),jbyteArray,1value_1blob)( S3JniApi(sqlite3_value_double(),jdouble,1value_1double)( - JniArgsEnvClass, jobject jpSVal + JniArgsEnvClass, jlong jpSVal ){ - return (jdouble) sqlite3_value_double(PtrGet_sqlite3_value(jpSVal)); + return (jdouble) sqlite3_value_double(S3JniLongPtr_sqlite3_value(jpSVal)); } S3JniApi(sqlite3_value_dup(),jobject,1value_1dup)( - JniArgsEnvClass, jobject jpSVal + JniArgsEnvClass, jlong jpSVal ){ - sqlite3_value * const sv = sqlite3_value_dup(PtrGet_sqlite3_value(jpSVal)); + sqlite3_value * const sv = sqlite3_value_dup(S3JniLongPtr_sqlite3_value(jpSVal)); return sv ? new_java_sqlite3_value(env, sv) : 0; } S3JniApi(sqlite3_value_free(),void,1value_1free)( - JniArgsEnvClass, jobject jpSVal + JniArgsEnvClass, jlong jpSVal ){ - sqlite3_value_free(PtrGet_sqlite3_value(jpSVal)); + sqlite3_value_free(S3JniLongPtr_sqlite3_value(jpSVal)); } S3JniApi(sqlite3_value_int(),jint,1value_1int)( - JniArgsEnvClass, jobject jpSVal + JniArgsEnvClass, jlong jpSVal ){ - return (jint) sqlite3_value_int(PtrGet_sqlite3_value(jpSVal)); + return (jint) sqlite3_value_int(S3JniLongPtr_sqlite3_value(jpSVal)); } S3JniApi(sqlite3_value_int64(),jlong,1value_1int64)( - JniArgsEnvClass, jobject jpSVal + JniArgsEnvClass, jlong jpSVal ){ - return (jlong) sqlite3_value_int64(PtrGet_sqlite3_value(jpSVal)); + return (jlong) sqlite3_value_int64(S3JniLongPtr_sqlite3_value(jpSVal)); } S3JniApi(sqlite3_value_java_object(),jobject,1value_1java_1object)( - JniArgsEnvClass, jobject jpSVal + JniArgsEnvClass, jlong jpSVal ){ - return sqlite3_value_pointer(PtrGet_sqlite3_value(jpSVal), + return sqlite3_value_pointer(S3JniLongPtr_sqlite3_value(jpSVal), ResultJavaValuePtrStr); } S3JniApi(sqlite3_value_text(),jbyteArray,1value_1text)( - JniArgsEnvClass, jobject jpSVal + JniArgsEnvClass, jlong jpSVal ){ - sqlite3_value * const sv = PtrGet_sqlite3_value(jpSVal); + sqlite3_value * const sv = S3JniLongPtr_sqlite3_value(jpSVal); int const n = sqlite3_value_bytes(sv); const unsigned char * const p = sqlite3_value_text(sv); return p ? s3jni_new_jbyteArray(p, n) : 0; @@ -4690,9 +4690,9 @@ S3JniApi(sqlite3_value_text(),jbyteArray,1value_1text)( #if 0 // this impl might prove useful. S3JniApi(sqlite3_value_text(),jstring,1value_1text)( - JniArgsEnvClass, jobject jpSVal + JniArgsEnvClass, jlong jpSVal ){ - sqlite3_value * const sv = PtrGet_sqlite3_value(jpSVal); + sqlite3_value * const sv = S3JniLongPtr_sqlite3_value(jpSVal); int const n = sqlite3_value_bytes(sv); const unsigned char * const p = sqlite3_value_text(sv); return p ? s3jni_utf8_to_jstring( (const char *)p, n) : 0; @@ -4700,9 +4700,9 @@ S3JniApi(sqlite3_value_text(),jstring,1value_1text)( #endif S3JniApi(sqlite3_value_text16(),jstring,1value_1text16)( - JniArgsEnvClass, jobject jpSVal + JniArgsEnvClass, jlong jpSVal ){ - sqlite3_value * const sv = PtrGet_sqlite3_value(jpSVal); + sqlite3_value * const sv = S3JniLongPtr_sqlite3_value(jpSVal); const int n = sqlite3_value_bytes16(sv); const void * const p = sqlite3_value_text16(sv); return s3jni_text16_to_jstring(env, p, n); diff --git a/ext/jni/src/c/sqlite3-jni.h b/ext/jni/src/c/sqlite3-jni.h index a2e9644c8b..555efed693 100644 --- a/ext/jni/src/c/sqlite3-jni.h +++ b/ext/jni/src/c/sqlite3-jni.h @@ -1566,26 +1566,26 @@ JNIEXPORT jint JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1preupdate_1depth /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_preupdate_hook - * Signature: (Lorg/sqlite/jni/sqlite3;Lorg/sqlite/jni/PreupdateHookCallback;)Lorg/sqlite/jni/PreupdateHookCallback; + * Signature: (JLorg/sqlite/jni/PreupdateHookCallback;)Lorg/sqlite/jni/PreupdateHookCallback; */ JNIEXPORT jobject JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1preupdate_1hook - (JNIEnv *, jclass, jobject, jobject); + (JNIEnv *, jclass, jlong, jobject); /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_preupdate_new - * Signature: (Lorg/sqlite/jni/sqlite3;ILorg/sqlite/jni/OutputPointer/sqlite3_value;)I + * Signature: (JILorg/sqlite/jni/OutputPointer/sqlite3_value;)I */ JNIEXPORT jint JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1preupdate_1new - (JNIEnv *, jclass, jobject, jint, jobject); + (JNIEnv *, jclass, jlong, jint, jobject); /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_preupdate_old - * Signature: (Lorg/sqlite/jni/sqlite3;ILorg/sqlite/jni/OutputPointer/sqlite3_value;)I + * Signature: (JILorg/sqlite/jni/OutputPointer/sqlite3_value;)I */ JNIEXPORT jint JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1preupdate_1old - (JNIEnv *, jclass, jobject, jint, jobject); + (JNIEnv *, jclass, jlong, jint, jobject); /* * Class: org_sqlite_jni_SQLite3Jni @@ -1950,18 +1950,18 @@ JNIEXPORT jint JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1txn_1state /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_update_hook - * Signature: (Lorg/sqlite/jni/sqlite3;Lorg/sqlite/jni/UpdateHookCallback;)Lorg/sqlite/jni/UpdateHookCallback; + * Signature: (JLorg/sqlite/jni/UpdateHookCallback;)Lorg/sqlite/jni/UpdateHookCallback; */ JNIEXPORT jobject JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1update_1hook - (JNIEnv *, jclass, jobject, jobject); + (JNIEnv *, jclass, jlong, jobject); /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_value_blob - * Signature: (Lorg/sqlite/jni/sqlite3_value;)[B + * Signature: (J)[B */ JNIEXPORT jbyteArray JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1blob - (JNIEnv *, jclass, jobject); + (JNIEnv *, jclass, jlong); /* * Class: org_sqlite_jni_SQLite3Jni @@ -1982,18 +1982,18 @@ JNIEXPORT jint JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1bytes16 /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_value_double - * Signature: (Lorg/sqlite/jni/sqlite3_value;)D + * Signature: (J)D */ JNIEXPORT jdouble JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1double - (JNIEnv *, jclass, jobject); + (JNIEnv *, jclass, jlong); /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_value_dup - * Signature: (Lorg/sqlite/jni/sqlite3_value;)Lorg/sqlite/jni/sqlite3_value; + * Signature: (J)Lorg/sqlite/jni/sqlite3_value; */ JNIEXPORT jobject JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1dup - (JNIEnv *, jclass, jobject); + (JNIEnv *, jclass, jlong); /* * Class: org_sqlite_jni_SQLite3Jni @@ -2006,10 +2006,10 @@ JNIEXPORT jint JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1encoding /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_value_free - * Signature: (Lorg/sqlite/jni/sqlite3_value;)V + * Signature: (J)V */ JNIEXPORT void JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1free - (JNIEnv *, jclass, jobject); + (JNIEnv *, jclass, jlong); /* * Class: org_sqlite_jni_SQLite3Jni @@ -2022,26 +2022,26 @@ JNIEXPORT jint JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1frombind /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_value_int - * Signature: (Lorg/sqlite/jni/sqlite3_value;)I + * Signature: (J)I */ JNIEXPORT jint JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1int - (JNIEnv *, jclass, jobject); + (JNIEnv *, jclass, jlong); /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_value_int64 - * Signature: (Lorg/sqlite/jni/sqlite3_value;)J + * Signature: (J)J */ JNIEXPORT jlong JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1int64 - (JNIEnv *, jclass, jobject); + (JNIEnv *, jclass, jlong); /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_value_java_object - * Signature: (Lorg/sqlite/jni/sqlite3_value;)Ljava/lang/Object; + * Signature: (J)Ljava/lang/Object; */ JNIEXPORT jobject JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1java_1object - (JNIEnv *, jclass, jobject); + (JNIEnv *, jclass, jlong); /* * Class: org_sqlite_jni_SQLite3Jni @@ -2070,18 +2070,18 @@ JNIEXPORT jint JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1subtype /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_value_text - * Signature: (Lorg/sqlite/jni/sqlite3_value;)[B + * Signature: (J)[B */ JNIEXPORT jbyteArray JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1text - (JNIEnv *, jclass, jobject); + (JNIEnv *, jclass, jlong); /* * Class: org_sqlite_jni_SQLite3Jni * Method: sqlite3_value_text16 - * Signature: (Lorg/sqlite/jni/sqlite3_value;)Ljava/lang/String; + * Signature: (J)Ljava/lang/String; */ JNIEXPORT jstring JNICALL Java_org_sqlite_jni_SQLite3Jni_sqlite3_1value_1text16 - (JNIEnv *, jclass, jobject); + (JNIEnv *, jclass, jlong); /* * Class: org_sqlite_jni_SQLite3Jni diff --git a/ext/jni/src/org/sqlite/jni/SQLite3Jni.java b/ext/jni/src/org/sqlite/jni/SQLite3Jni.java index 9cdae6d7b6..807a79d704 100644 --- a/ext/jni/src/org/sqlite/jni/SQLite3Jni.java +++ b/ext/jni/src/org/sqlite/jni/SQLite3Jni.java @@ -1372,15 +1372,26 @@ public final class SQLite3Jni { return sqlite3_preupdate_depth(db.getNativePointer()); } + @Canonical + private static native PreupdateHookCallback sqlite3_preupdate_hook( + @NotNull long ptrToDb, @Nullable PreupdateHookCallback hook + ); + /** If the C API was built with SQLITE_ENABLE_PREUPDATE_HOOK defined, this acts as a proxy for C's sqlite3_preupdate_hook(), else it returns null with no side effects. */ @Canonical - public static native PreupdateHookCallback sqlite3_preupdate_hook( + public static PreupdateHookCallback sqlite3_preupdate_hook( @NotNull sqlite3 db, @Nullable PreupdateHookCallback hook - ); + ){ + return sqlite3_preupdate_hook(db.getNativePointer(), hook); + } + + @Canonical + private static native int sqlite3_preupdate_new(@NotNull long ptrToDb, int col, + @NotNull OutputPointer.sqlite3_value out); /** If the C API was built with SQLITE_ENABLE_PREUPDATE_HOOK defined, @@ -1388,8 +1399,10 @@ public final class SQLite3Jni { returns SQLITE_MISUSE with no side effects. */ @Canonical - public static native int sqlite3_preupdate_new(@NotNull sqlite3 db, int col, - @NotNull OutputPointer.sqlite3_value out); + public static int sqlite3_preupdate_new(@NotNull sqlite3 db, int col, + @NotNull OutputPointer.sqlite3_value out){ + return sqlite3_preupdate_new(db.getNativePointer(), col, out); + } /** Convenience wrapper for the 3-arg sqlite3_preupdate_new() which returns @@ -1397,18 +1410,24 @@ public final class SQLite3Jni { */ public static sqlite3_value sqlite3_preupdate_new(@NotNull sqlite3 db, int col){ final OutputPointer.sqlite3_value out = new OutputPointer.sqlite3_value(); - sqlite3_preupdate_new(db, col, out); + sqlite3_preupdate_new(db.getNativePointer(), col, out); return out.take(); } + @Canonical + private static native int sqlite3_preupdate_old(@NotNull long ptrToDb, int col, + @NotNull OutputPointer.sqlite3_value out); + /** If the C API was built with SQLITE_ENABLE_PREUPDATE_HOOK defined, this acts as a proxy for C's sqlite3_preupdate_old(), else it returns SQLITE_MISUSE with no side effects. */ @Canonical - public static native int sqlite3_preupdate_old(@NotNull sqlite3 db, int col, - @NotNull OutputPointer.sqlite3_value out); + public static int sqlite3_preupdate_old(@NotNull sqlite3 db, int col, + @NotNull OutputPointer.sqlite3_value out){ + return sqlite3_preupdate_old(db.getNativePointer(), col, out); + } /** Convenience wrapper for the 3-arg sqlite3_preupdate_old() which returns @@ -1416,7 +1435,7 @@ public final class SQLite3Jni { */ public static sqlite3_value sqlite3_preupdate_old(@NotNull sqlite3 db, int col){ final OutputPointer.sqlite3_value out = new OutputPointer.sqlite3_value(); - sqlite3_preupdate_old(db, col, out); + sqlite3_preupdate_old(db.getNativePointer(), col, out); return out.take(); } @@ -1966,10 +1985,17 @@ public final class SQLite3Jni { ); @Canonical - public static native UpdateHookCallback sqlite3_update_hook( - @NotNull sqlite3 db, @Nullable UpdateHookCallback hook + private static native UpdateHookCallback sqlite3_update_hook( + @NotNull long ptrToDb, @Nullable UpdateHookCallback hook ); + @Canonical + public static UpdateHookCallback sqlite3_update_hook( + @NotNull sqlite3 db, @Nullable UpdateHookCallback hook + ){ + return sqlite3_update_hook(db.getNativePointer(), hook); + } + /* Note that: @@ -1981,7 +2007,12 @@ public final class SQLite3Jni { */ @Canonical - public static native byte[] sqlite3_value_blob(@NotNull sqlite3_value v); + private static native byte[] sqlite3_value_blob(@NotNull long ptrToValue); + + @Canonical + public static byte[] sqlite3_value_blob(@NotNull sqlite3_value v){ + return sqlite3_value_blob(v.getNativePointer()); + } @Canonical private static native int sqlite3_value_bytes(@NotNull long ptrToValue); @@ -2000,12 +2031,20 @@ public final class SQLite3Jni { } @Canonical - public static native double sqlite3_value_double(@NotNull sqlite3_value v); + private static native double sqlite3_value_double(@NotNull long ptrToValue); @Canonical - public static native sqlite3_value sqlite3_value_dup( - @NotNull sqlite3_value v - ); + public static double sqlite3_value_double(@NotNull sqlite3_value v){ + return sqlite3_value_double(v.getNativePointer()); + } + + @Canonical + private static native sqlite3_value sqlite3_value_dup(@NotNull long ptrToValue); + + @Canonical + public static sqlite3_value sqlite3_value_dup(@NotNull sqlite3_value v){ + return sqlite3_value_dup(v.getNativePointer()); + } @Canonical private static native int sqlite3_value_encoding(@NotNull long ptrToValue); @@ -2016,7 +2055,12 @@ public final class SQLite3Jni { } @Canonical - public static native void sqlite3_value_free(@Nullable sqlite3_value v); + private static native void sqlite3_value_free(@Nullable long ptrToValue); + + @Canonical + public static void sqlite3_value_free(@Nullable sqlite3_value v){ + sqlite3_value_free(v.getNativePointer()); + } @Canonical private static native int sqlite3_value_frombind(@NotNull long ptrToValue); @@ -2027,10 +2071,22 @@ public final class SQLite3Jni { } @Canonical - public static native int sqlite3_value_int(@NotNull sqlite3_value v); + private static native int sqlite3_value_int(@NotNull long ptrToValue); + + @Canonical + public static int sqlite3_value_int(@NotNull sqlite3_value v){ + return sqlite3_value_int(v.getNativePointer()); + } @Canonical - public static native long sqlite3_value_int64(@NotNull sqlite3_value v); + private static native long sqlite3_value_int64(@NotNull long ptrToValue); + + @Canonical + public static long sqlite3_value_int64(@NotNull sqlite3_value v){ + return sqlite3_value_int64(v.getNativePointer()); + } + + private static native Object sqlite3_value_java_object(@NotNull long ptrToValue); /** If the given value was set using {@link @@ -2040,9 +2096,9 @@ public final class SQLite3Jni {

It is up to the caller to inspect the object to determine its type, and cast it if necessary. */ - public static native Object sqlite3_value_java_object( - @NotNull sqlite3_value v - ); + public static Object sqlite3_value_java_object(@NotNull sqlite3_value v){ + return sqlite3_value_java_object(v.getNativePointer()); + } /** A variant of sqlite3_value_java_object() which returns the @@ -2080,6 +2136,9 @@ public final class SQLite3Jni { return sqlite3_value_subtype(v.getNativePointer()); } + @Canonical + private static native byte[] sqlite3_value_text(@NotNull long ptrToValue); + /** Functions identially to the C API, and this note is just to stress that the returned bytes are encoded as UTF-8. It returns @@ -2087,10 +2146,17 @@ public final class SQLite3Jni { or on allocation error. */ @Canonical - public static native byte[] sqlite3_value_text(@NotNull sqlite3_value v); + public static byte[] sqlite3_value_text(@NotNull sqlite3_value v){ + return sqlite3_value_text(v.getNativePointer()); + } + + @Canonical + private static native String sqlite3_value_text16(@NotNull long ptrToValue); @Canonical - public static native String sqlite3_value_text16(@NotNull sqlite3_value v); + public static String sqlite3_value_text16(@NotNull sqlite3_value v){ + return sqlite3_value_text16(v.getNativePointer()); + } @Canonical private static native int sqlite3_value_type(@NotNull long ptrToValue); diff --git a/manifest b/manifest index de6d1d2b2b..dc7e99b904 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Convert\sthe\sremaining\smacro-generated\sJNI\sbindings\sto\sthe\snew\spointer-passing\smechanism. -D 2023-09-28T10:50:26.804 +C Adapted\sthe\sJNI\sbindings\sfor\sthe\ssqlite3_value_...()\sand\s(pre)update\shook\sAPIs\sto\sthe\snew\spointer-passing\smechanism. +D 2023-09-28T11:19:37.102 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -238,8 +238,8 @@ F ext/icu/sqliteicu.h fa373836ed5a1ee7478bdf8a1650689294e41d0c89c1daab26e9ae78a3 F ext/jni/GNUmakefile 42e00052401b6dd41c0cdd53b31450606ea37486283abdb038dff9be74bff71e F ext/jni/README.md 9fceaeb17cecdc5d699dfc83c0cbc3a03fdb3b86bf676381894166c73375ee75 F ext/jni/jar-dist.make 030aaa4ae71dd86e4ec5e7c1e6cd86f9dfa47c4592c070d2e35157e42498e1fa -F ext/jni/src/c/sqlite3-jni.c cb456137ac67fc9859279d7c5029bf771954df5f4922abbbf2be2a79b0909116 -F ext/jni/src/c/sqlite3-jni.h ad69a8b62390c8ad5be254fa1a065c0ba48152b271d82edb84f89edf4c83669c +F ext/jni/src/c/sqlite3-jni.c 9d5ea1bf8c7da874fdd6dc3f7cd05632c82e747fb6f4b4b3967f7aadae3ac910 +F ext/jni/src/c/sqlite3-jni.h 0c13ef53143ad6b3ed0e6b15f706f9f03e9c0c6c4f896a5846e4a68e58da83c8 F ext/jni/src/org/sqlite/jni/AbstractCollationCallback.java 95e88ba04f4aac51ffec65693e878e234088b2f21b387f4e4285c8b72b33e436 F ext/jni/src/org/sqlite/jni/AggregateFunction.java 7312486bc65fecdb91753c0a4515799194e031f45edbe16a6373cea18f404dc4 F ext/jni/src/org/sqlite/jni/AuthorizerCallback.java e6135be32f12bf140bffa39be7fd1a45ad83b2661ed49c08dbde04c8485feb38 @@ -259,7 +259,7 @@ 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/SQLite3Jni.java e03e2a3e773c95401c97f334e7389dcf9ebe65d01a9c6e0ada1a1e8618958d7f +F ext/jni/src/org/sqlite/jni/SQLite3Jni.java 8dc0c48378eaf04bfc868bd8069dd5e55365b5d50d2e14b6e075c2afee1a5844 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 720e1efddd769d5785e95100ff48aa203f2288eea865326a1a81fd5af43ec3a5 @@ -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 5f47fb77db4ee77afc541e680559ad88e66ba7fd04b830e70f8be92cf8d0a60c -R 00596872cec8308548a723b66cba58cd +P 250fd6ae806cf705c0f29ad30ad8fb885b12590848e7adae63bc21d874c6d3bd +R b6214243c5615bb53c027385b902ff1b U stephan -Z f8a1bff7f7d52efaacf825af2168fc26 +Z 6486a7f1446bd02f9d2f2235b0984708 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index f62f58d6ac..a0760fca51 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -250fd6ae806cf705c0f29ad30ad8fb885b12590848e7adae63bc21d874c6d3bd \ No newline at end of file +4182f0275d5d65e04a130eeef4d44642a5ffeeb4b84430d240ea2605345f1404 \ No newline at end of file