From: stephan Date: Mon, 28 Aug 2023 05:48:34 +0000 (+0000) Subject: Correct a package renaming bug in the previous check-in and start applying the @Canon... X-Git-Tag: version-3.44.0~260 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=23dfa67c1e2da7256b7bba9127f226caea55aa41;p=thirdparty%2Fsqlite.git Correct a package renaming bug in the previous check-in and start applying the @Canonical annotation to functions to distinguish canonical API functions and Java-specific APIs. FossilOrigin-Name: 8a016006805b08b72bfc4093c795d8cd8d7fe72f8ae234c175a8b7be3a841cbf --- diff --git a/ext/jni/GNUmakefile b/ext/jni/GNUmakefile index 05f05679c3..cd5150eb10 100644 --- a/ext/jni/GNUmakefile +++ b/ext/jni/GNUmakefile @@ -59,6 +59,7 @@ $(bin.version-info): $(dir.tool)/version-info.c $(sqlite3.h) $(dir.top)/Makefile # Be explicit about which Java files to compile so that we can work on # in-progress files without requiring them to be in a compilable statae. JAVA_FILES.main := $(patsubst %,$(dir.src.jni)/%,\ + annotation/Canonical.java \ annotation/NotNull.java \ annotation/Nullable.java \ AggregateFunction.java \ diff --git a/ext/jni/src/org/sqlite/jni/AuthorizerCallback.java b/ext/jni/src/org/sqlite/jni/AuthorizerCallback.java index 7eefe9f7db..eef7e5020c 100644 --- a/ext/jni/src/org/sqlite/jni/AuthorizerCallback.java +++ b/ext/jni/src/org/sqlite/jni/AuthorizerCallback.java @@ -12,6 +12,7 @@ ** This file is part of the JNI bindings for the sqlite3 C API. */ package org.sqlite.jni; +import org.sqlite.jni.annotation.*; /** Callback for use with sqlite3_set_authorizer(). diff --git a/ext/jni/src/org/sqlite/jni/SQLite3Jni.java b/ext/jni/src/org/sqlite/jni/SQLite3Jni.java index 8777a9abd3..1e02b41be8 100644 --- a/ext/jni/src/org/sqlite/jni/SQLite3Jni.java +++ b/ext/jni/src/org/sqlite/jni/SQLite3Jni.java @@ -138,6 +138,7 @@ public final class SQLite3Jni { allocation error. In all casses, 0 is considered the sentinel "not a key" value. */ + @Canonical public static native long sqlite3_aggregate_context(sqlite3_context cx, boolean initialize); /** @@ -156,11 +157,13 @@ public final class SQLite3Jni {

See the AutoExtension class docs for more information. */ + @Canonical public static native int sqlite3_auto_extension(@NotNull AutoExtensionCallback callback); /** Results are undefined if data is not null and n<0 || n>=data.length. */ + @Canonical public static native int sqlite3_bind_blob( @NotNull sqlite3_stmt stmt, int ndx, @Nullable byte[] data, int n ); @@ -173,14 +176,17 @@ public final class SQLite3Jni { : sqlite3_bind_blob(stmt, ndx, data, data.length); } + @Canonical public static native int sqlite3_bind_double( @NotNull sqlite3_stmt stmt, int ndx, double v ); + @Canonical public static native int sqlite3_bind_int( @NotNull sqlite3_stmt stmt, int ndx, int v ); + @Canonical public static native int sqlite3_bind_int64( @NotNull sqlite3_stmt stmt, int ndx, long v ); @@ -194,10 +200,12 @@ public final class SQLite3Jni { @NotNull sqlite3_stmt cx, int ndx, @Nullable Object o ); + @Canonical public static native int sqlite3_bind_null( @NotNull sqlite3_stmt stmt, int ndx ); + @Canonical public static native int sqlite3_bind_parameter_count( @NotNull sqlite3_stmt stmt ); @@ -205,10 +213,12 @@ public final class SQLite3Jni { /** Requires that paramName be a NUL-terminated UTF-8 string. */ + @Canonical public static native int sqlite3_bind_parameter_index( @NotNull sqlite3_stmt stmt, byte[] paramName ); + @Canonical public static int sqlite3_bind_parameter_index( @NotNull sqlite3_stmt stmt, @NotNull String paramName ){ @@ -224,6 +234,7 @@ public final class SQLite3Jni { maxBytes>=data.length. If maxBytes is negative then results are undefined if data is not null and does not contain a NUL byte. */ + @Canonical private static native int sqlite3_bind_text( @NotNull sqlite3_stmt stmt, int ndx, @Nullable byte[] data, int maxBytes ); @@ -257,6 +268,7 @@ public final class SQLite3Jni { signature but requires that its input be encoded in UTF-16 in platform byte order. */ + @Canonical private static native int sqlite3_bind_text16( @NotNull sqlite3_stmt stmt, int ndx, @Nullable byte[] data, int maxBytes ); @@ -287,10 +299,12 @@ public final class SQLite3Jni { : sqlite3_bind_text16(stmt, ndx, data, data.length); } + @Canonical public static native int sqlite3_bind_zeroblob( @NotNull sqlite3_stmt stmt, int ndx, int n ); + @Canonical public static native int sqlite3_bind_zeroblob64( @NotNull sqlite3_stmt stmt, int ndx, long n ); @@ -300,10 +314,12 @@ public final class SQLite3Jni { instance in place of a callback function. Pass it a null handler to clear the busy handler. */ + @Canonical public static native int sqlite3_busy_handler( @NotNull sqlite3 db, @Nullable BusyHandlerCallback handler ); + @Canonical public static native int sqlite3_busy_timeout( @NotNull sqlite3 db, int ms ); diff --git a/ext/jni/src/org/sqlite/jni/annotation/Canonical.java b/ext/jni/src/org/sqlite/jni/annotation/Canonical.java new file mode 100644 index 0000000000..260fb2df5f --- /dev/null +++ b/ext/jni/src/org/sqlite/jni/annotation/Canonical.java @@ -0,0 +1,16 @@ +package org.sqlite.jni.annotation; + +/** + This annotation is for marking functions as "canonical", meaning + that they exist in the C API. The intent is to distinguish them + from functions added specifically to the Java API. + +

Canonical functions, unless specifically documented, have the + same semantics as their counterparts in @{link + https://sqlite.org/c3ref/intro.html the C API documentation}, despite + their signatures perhaps differing. +*/ +@java.lang.annotation.Documented +@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) +@java.lang.annotation.Target(java.lang.annotation.ElementType.METHOD) +public @interface Canonical{} diff --git a/ext/jni/src/org/sqlite/jni/annotation/NotNull.java b/ext/jni/src/org/sqlite/jni/annotation/NotNull.java index 831f084513..58431e0d95 100644 --- a/ext/jni/src/org/sqlite/jni/annotation/NotNull.java +++ b/ext/jni/src/org/sqlite/jni/annotation/NotNull.java @@ -1,4 +1,4 @@ -package org.sqlite.jni; +package org.sqlite.jni.annotation; /** This annotation is for flagging parameters which may not legally be diff --git a/ext/jni/src/org/sqlite/jni/annotation/Nullable.java b/ext/jni/src/org/sqlite/jni/annotation/Nullable.java index 1dbb780d50..187ab263b0 100644 --- a/ext/jni/src/org/sqlite/jni/annotation/Nullable.java +++ b/ext/jni/src/org/sqlite/jni/annotation/Nullable.java @@ -1,4 +1,4 @@ -package org.sqlite.jni; +package org.sqlite.jni.annotation; /** This annotation is for flagging parameters which may legally be diff --git a/ext/jni/src/org/sqlite/jni/fts5_api.java b/ext/jni/src/org/sqlite/jni/fts5_api.java index 43b3d62ded..92ca7c669a 100644 --- a/ext/jni/src/org/sqlite/jni/fts5_api.java +++ b/ext/jni/src/org/sqlite/jni/fts5_api.java @@ -12,6 +12,7 @@ ** This file is part of the JNI bindings for the sqlite3 C API. */ package org.sqlite.jni; +import org.sqlite.jni.annotation.*; /** INCOMPLETE AND COMPLETELY UNTESTED. diff --git a/ext/jni/src/org/sqlite/jni/fts5_tokenizer.java b/ext/jni/src/org/sqlite/jni/fts5_tokenizer.java index fd86c2f518..053434e266 100644 --- a/ext/jni/src/org/sqlite/jni/fts5_tokenizer.java +++ b/ext/jni/src/org/sqlite/jni/fts5_tokenizer.java @@ -12,6 +12,7 @@ ** This file is part of the JNI bindings for the sqlite3 C API. */ package org.sqlite.jni; +import org.sqlite.jni.annotation.*; /** INCOMPLETE AND COMPLETELY UNTESTED. diff --git a/manifest b/manifest index b56a98f093..47601b99ac 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Move\sthe\sJNI\sannotations\sinto\sthe\sannotation\ssubpackage. -D 2023-08-28T05:39:05.491 +C Correct\sa\spackage\srenaming\sbug\sin\sthe\sprevious\scheck-in\sand\sstart\sapplying\sthe\s@Canonical\sannotation\sto\sfunctions\sto\sdistinguish\scanonical\sAPI\sfunctions\sand\sJava-specific\sAPIs. +D 2023-08-28T05:48:34.397 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -233,13 +233,13 @@ F ext/fts5/tool/showfts5.tcl d54da0e067306663e2d5d523965ca487698e722c F ext/icu/README.txt 7ab7ced8ae78e3a645b57e78570ff589d4c672b71370f5aa9e1cd7024f400fc9 F ext/icu/icu.c c074519b46baa484bb5396c7e01e051034da8884bad1a1cb7f09bbe6be3f0282 F ext/icu/sqliteicu.h fa373836ed5a1ee7478bdf8a1650689294e41d0c89c1daab26e9ae78a32075a8 -F ext/jni/GNUmakefile 121bc78adc561d8112900529da247c794395d2ea65f5f3be3bc9f7fc00f4cc69 +F ext/jni/GNUmakefile e582f0e36b80c9588d52f520bf07c37ddbd63199029a97de0925014e73127972 F ext/jni/README.md 1332b1fa27918bd5d9ca2d0d4f3ac3a6ab86b9e3699dc5bfe32904a027f3d2a9 F ext/jni/jar-dist.make 030aaa4ae71dd86e4ec5e7c1e6cd86f9dfa47c4592c070d2e35157e42498e1fa F ext/jni/src/c/sqlite3-jni.c 5d43a4a29d16f6a593091eb60371e166d56d0c019cb75a6b741bc41e3b946344 F ext/jni/src/c/sqlite3-jni.h a43832a04347433e640f1b135f3a8b2a4293369a963659216c51d04daf934b43 F ext/jni/src/org/sqlite/jni/AggregateFunction.java 0a5a74bea5ee12a99407e9432d0ca393525af912c2b0ca55c7ee5dbd019c00ef -F ext/jni/src/org/sqlite/jni/AuthorizerCallback.java c374bb76409cce7a0bdba94877706b59ac6127fa5d9e6af3e8058c99ce99c030 +F ext/jni/src/org/sqlite/jni/AuthorizerCallback.java 91442d9871423d01cb1750d63ccf991b3dadcf0a4efaf1d5bc49696469aeae2f F ext/jni/src/org/sqlite/jni/AutoExtensionCallback.java 4290d8b0937b07d466b50e6ca4136cec037f3ce658277af0d0c2d371e5f4b459 F ext/jni/src/org/sqlite/jni/BusyHandlerCallback.java efef1892e404f5780d81c46a7997cab874aff5db5131985dd3af319fc5e3adc7 F ext/jni/src/org/sqlite/jni/CollationCallback.java 4391351e10f26ca61e9c461f969c12f36e0146e50a8c5b66ff549142bbf41f64 @@ -260,7 +260,7 @@ F ext/jni/src/org/sqlite/jni/ResultCode.java ba701f20213a5f259e94cfbfdd36eb7ac7c F ext/jni/src/org/sqlite/jni/RollbackHookCallback.java be7f7a26d1102fb514d835e11198d51302af8053d97188bfb2e34c2133208568 F ext/jni/src/org/sqlite/jni/SQLFunction.java d060f302b2cc4cf7a4f5a6b2d36458a2e6fc9648374b5d09c36a43665af41207 F ext/jni/src/org/sqlite/jni/SQLite3CallbackProxy.java 13c4ea6f35871261eba63fa4117715515e0beecbdebfb879ec5b1f340ed36904 -F ext/jni/src/org/sqlite/jni/SQLite3Jni.java 2ba0affa14ed1963dff7ce7137bde7023529483c2035df85bc53d98db68323ce +F ext/jni/src/org/sqlite/jni/SQLite3Jni.java 953288346d99520bbc9ec94a28ec3a47262ef0c81fc7b11d82f8ba5143589518 F ext/jni/src/org/sqlite/jni/ScalarFunction.java 21301a947e49f0dd9c682dfe2cc8a6518226c837253dd791cd512f847eeca52c F ext/jni/src/org/sqlite/jni/Tester1.java 8653c7b0b50116cf9bd8bf19b83b3e76896b75df09f5debe57a70c556d90203b F ext/jni/src/org/sqlite/jni/TesterFts5.java 6f135c60e24c89e8eecb9fe61dde0f3bb2906de668ca6c9186bcf34bdaf94629 @@ -269,11 +269,12 @@ F ext/jni/src/org/sqlite/jni/UpdateHookCallback.java f5eadfa44462c050658230884b4 F ext/jni/src/org/sqlite/jni/ValueHolder.java f022873abaabf64f3dd71ab0d6037c6e71cece3b8819fa10bf26a5461dc973ee F ext/jni/src/org/sqlite/jni/WindowFunction.java 3e24a0f2615f9a232b1ecbb3f243b05dd7c007dc43be238499af93a459fe8253 F ext/jni/src/org/sqlite/jni/XDestroyCallback.java 95fb66353e62e4aca8d6ab60e8f14f9235bd10373c34db0a64f5f13f016f0471 -F ext/jni/src/org/sqlite/jni/annotation/NotNull.java 08fcfcee93cdf5dd3128a88f9a112c000c143f9e077fcb31e554822595c9d73e w ext/jni/src/org/sqlite/jni/NotNull.java -F ext/jni/src/org/sqlite/jni/annotation/Nullable.java b2f8755970e9dd0e917a505638d036ccc699c8422f1a69fe9d98c0804beaea17 w ext/jni/src/org/sqlite/jni/Nullable.java -F ext/jni/src/org/sqlite/jni/fts5_api.java 5198be71c162e3e0cb1f4962a7cdf0d7596e8af53f70c4af6db24aab8d53d9ba +F ext/jni/src/org/sqlite/jni/annotation/Canonical.java 87e59ab0ee5e454bc8b6a6e659996b2141041dd46e71638b42baf3360a990126 +F ext/jni/src/org/sqlite/jni/annotation/NotNull.java 3a105502c56c0e4f1a826122db356be713cda975b3c17877d0805e45652f5937 +F ext/jni/src/org/sqlite/jni/annotation/Nullable.java 38a2cf9b780484ca7950b76445f65133463afba6d593fd8d4a381a5937135b1c +F ext/jni/src/org/sqlite/jni/fts5_api.java ee47f1837d32968f7bb62278c7504c0fb572a68ec107371b714578312e9f734b F ext/jni/src/org/sqlite/jni/fts5_extension_function.java ac825035d7d83fc7fd960347abfa6803e1614334a21533302041823ad5fc894c -F ext/jni/src/org/sqlite/jni/fts5_tokenizer.java a9cce7f9c52803f0d8ee7fb8e40c94e88e980dc24a170e6344b9e5ab0a4411fa +F ext/jni/src/org/sqlite/jni/fts5_tokenizer.java a92c2e55bda492e4c76d48ddc73369bcc0d5e8727940840f9339e3292ea58fa7 F ext/jni/src/org/sqlite/jni/package-info.java c8f1c858ebcadd16ff047a74cf7a0556d4235386c47bc0a4d78c4a564bba03fe F ext/jni/src/org/sqlite/jni/sqlite3.java 62b1b81935ccf3393472d17cb883dc5ff39c388ec3bc1de547f098a0217158fc F ext/jni/src/org/sqlite/jni/sqlite3_context.java 66ca95ce904044263a4aff684abe262d56f73e6b06bca6cf650761d79d7779ad @@ -2103,8 +2104,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 9d68c7ef103b9b51ed35fb91e62351eb6c62ad63ab03ac456ff9787cc83f10ab -R 900001794b9eaaab3fc73ae240f52bf1 +P e4dedf90a92a069daef967dfe975469bf8ec7883c44c95e73345d4eded48e996 +R 2d3e956453c21ac2865e49e96e7183c2 U stephan -Z 30623e5b61f856149d3de4bbf6c1f46e +Z 2de3d392080a8d73c4c451d28e259756 # Remove this line to create a well-formed Fossil manifest. diff --git a/manifest.uuid b/manifest.uuid index d4cfde474f..da3d87c080 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -e4dedf90a92a069daef967dfe975469bf8ec7883c44c95e73345d4eded48e996 \ No newline at end of file +8a016006805b08b72bfc4093c795d8cd8d7fe72f8ae234c175a8b7be3a841cbf \ No newline at end of file