]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
JNI: move the ByteBuffer-using APIs from public to package visibility for the time...
authorstephan <stephan@noemail.net>
Mon, 1 Jan 2024 06:58:32 +0000 (06:58 +0000)
committerstephan <stephan@noemail.net>
Mon, 1 Jan 2024 06:58:32 +0000 (06:58 +0000)
FossilOrigin-Name: dc501275fcfab3ad9b6ebbadf7588b225a9dd07a0abac5be83d96f15bfba99e9

ext/jni/src/org/sqlite/jni/capi/CApi.java
ext/jni/src/org/sqlite/jni/fts5/TesterFts5.java
manifest
manifest.uuid

index 89d62849c063f1a9e8458831fc15947d2ec0cd1a..b5d08306e269bd47a0a380a59faf3b0e82560877 100644 (file)
@@ -256,7 +256,7 @@ public final class CApi {
      sqlite3_bind_nio_buffer().
   */
   @Experimental
-  public static int sqlite3_bind_blob(
+  /*public*/ static int sqlite3_bind_blob(
     @NotNull sqlite3_stmt stmt, int ndx, @Nullable java.nio.ByteBuffer data,
     int begin, int n
   ){
@@ -269,7 +269,7 @@ public final class CApi {
      final two arguments.
   */
   @Experimental
-  public static int sqlite3_bind_blob(
+  /*public*/ static int sqlite3_bind_blob(
     @NotNull sqlite3_stmt stmt, int ndx, @Nullable java.nio.ByteBuffer data
   ){
     return sqlite3_bind_nio_buffer(stmt, ndx, data, 0, -1);
@@ -346,7 +346,7 @@ public final class CApi {
      @see https://docs.oracle.com/javase/8/docs/api/java/nio/Buffer.html
   */
   @Experimental
-  public static native int sqlite3_bind_nio_buffer(
+  /*public*/ static native int sqlite3_bind_nio_buffer(
     @NotNull sqlite3_stmt stmt, int ndx, @Nullable java.nio.ByteBuffer data,
     int beginPos, int howMany
   );
@@ -356,7 +356,7 @@ public final class CApi {
      contents, up to its limit() (as opposed to its capacity()).
   */
   @Experimental
-  public static int sqlite3_bind_nio_buffer(
+  /*public*/ static int sqlite3_bind_nio_buffer(
     @NotNull sqlite3_stmt stmt, int ndx, @Nullable java.nio.ByteBuffer data
   ){
     return sqlite3_bind_nio_buffer(stmt, ndx, data, 0, -1);
@@ -600,7 +600,7 @@ public final class CApi {
      sqlite3_blob_read() (0 on success).
   */
   @Experimental
-  public static int sqlite3_blob_read_nio_buffer(
+  /*public*/ static int sqlite3_blob_read_nio_buffer(
     @NotNull sqlite3_blob src, int srcOffset,
     @NotNull java.nio.ByteBuffer tgt, int tgtOffset, int howMany
   ){
@@ -624,7 +624,7 @@ public final class CApi {
      for any reason.
   */
   @Experimental
-  public static java.nio.ByteBuffer sqlite3_blob_read_nio_buffer(
+  /*public*/ static java.nio.ByteBuffer sqlite3_blob_read_nio_buffer(
     @NotNull sqlite3_blob src, int srcOffset, int howMany
   ){
     if( !JNI_SUPPORTS_NIO || src==null ) return null;
@@ -645,7 +645,7 @@ public final class CApi {
      Overload alias for sqlite3_blob_read_nio_buffer().
   */
   @Experimental
-  public static int sqlite3_blob_read(
+  /*public*/ static int sqlite3_blob_read(
     @NotNull sqlite3_blob src, int srcOffset,
     @NotNull java.nio.ByteBuffer tgt,
     int tgtOffset, int howMany
@@ -668,7 +668,7 @@ public final class CApi {
      the result of the underlying call to sqlite3_blob_read().
   */
   @Experimental
-  public static int sqlite3_blob_read(
+  /*public*/ static int sqlite3_blob_read(
     @NotNull sqlite3_blob src,
     @NotNull java.nio.ByteBuffer tgt
   ){
@@ -727,7 +727,7 @@ public final class CApi {
      returns the result of the underlying call to sqlite3_blob_read().
   */
   @Experimental
-  public static int sqlite3_blob_write_nio_buffer(
+  /*public*/ static int sqlite3_blob_write_nio_buffer(
     @NotNull sqlite3_blob tgt, int tgtOffset,
     @NotNull java.nio.ByteBuffer src,
     int srcOffset, int howMany
@@ -756,7 +756,7 @@ public final class CApi {
      of b.
   */
   @Experimental
-  public static int sqlite3_blob_write(
+  /*public*/ static int sqlite3_blob_write(
     @NotNull sqlite3_blob tgt, int tgtOffset,
     @NotNull java.nio.ByteBuffer src
   ){
@@ -770,7 +770,7 @@ public final class CApi {
      of tgt.
    */
   @Experimental
-  public static int sqlite3_blob_write(
+  /*public*/ static int sqlite3_blob_write(
     @NotNull sqlite3_blob tgt,
     @NotNull java.nio.ByteBuffer src
   ){
@@ -926,7 +926,7 @@ public final class CApi {
      would return null for the same inputs.
   */
   @Experimental
-  public static native java.nio.ByteBuffer sqlite3_column_nio_buffer(
+  /*public*/ static native java.nio.ByteBuffer sqlite3_column_nio_buffer(
     @NotNull sqlite3_stmt stmt, int ndx
   );
 
@@ -1848,7 +1848,7 @@ public final class CApi {
      then this function behaves like sqlite3_result_error_toobig().
   */
   @Experimental
-  public static native void sqlite3_result_nio_buffer(
+  /*public*/ static native void sqlite3_result_nio_buffer(
     @NotNull sqlite3_context cx, @Nullable java.nio.ByteBuffer blob,
     int begin, int n
   );
@@ -1858,7 +1858,7 @@ public final class CApi {
      as the result blob content.
   */
   @Experimental
-  public static void sqlite3_result_nio_buffer(
+  /*public*/ static void sqlite3_result_nio_buffer(
     @NotNull sqlite3_context cx, @Nullable java.nio.ByteBuffer blob
   ){
     sqlite3_result_nio_buffer(cx, blob, 0, -1);
@@ -1963,7 +1963,7 @@ public final class CApi {
      sqlite3_result_nio_buffer().
   */
   @Experimental
-  public static void sqlite3_result_blob(
+  /*public*/ static void sqlite3_result_blob(
     @NotNull sqlite3_context cx, @Nullable java.nio.ByteBuffer blob,
     int begin, int n
   ){
@@ -1975,7 +1975,7 @@ public final class CApi {
      sqlite3_result_nio_buffer().
   */
   @Experimental
-  public static void sqlite3_result_blob(
+  /*public*/ static void sqlite3_result_blob(
     @NotNull sqlite3_context cx, @Nullable java.nio.ByteBuffer blob
   ){
     sqlite3_result_nio_buffer(cx, blob);
@@ -2387,7 +2387,7 @@ public final class CApi {
      would return null for the same input.
   */
   @Experimental
-  public static native java.nio.ByteBuffer sqlite3_value_nio_buffer(
+  /*public*/ static native java.nio.ByteBuffer sqlite3_value_nio_buffer(
     @NotNull sqlite3_value v
   );
 
index c4264c54176da36c216ddeedcf4527810efea854..095e649caffb37f6427c5492a52a308e62582ecd 100644 (file)
@@ -625,10 +625,20 @@ public class TesterFts5 {
       "SELECT fts5_columntext(ft, 1) FROM ft('x') ORDER BY rowid",
       "[x, x, x y z, x z, x y z, x]"
     );
-    do_execsql_test(db, 
-      "SELECT fts5_columntext(ft, 2) FROM ft('x') ORDER BY rowid",
-      "[null, null, null, null, null, null]"
-    );
+    boolean threw = false;
+    try{
+      /* columntext() used to return NULLs when given an out-of bounds column
+         but now results in a range error. */
+      do_execsql_test(db, 
+        "SELECT fts5_columntext(ft, 2) FROM ft('x') ORDER BY rowid",
+        "[null, null, null, null, null, null]"
+      );
+    }catch(Exception e){
+      threw = true;
+      affirm( e.getMessage().matches(".*column index out of range") );
+    }
+    affirm( threw );
+    threw = false;
 
     /* Test fts5_columntotalsize() */
     do_execsql_test(db, 
index 579bc6df6d464cbb7b4879793aaab22d55d304e8..3a70cf068a221f476889a50d5e8fd86b7225e4d8 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C WASM:\svarious\sbuild\scleanups\sand\sadd\sinitial\sinfrastructure\sfor\sa\sbuild\swhich\selides\sthe\soo1\sAPI\sand\sits\sdependents\s(worker1\sand\spromiser).\sSidebar:\san\sattempt\swas\smade\sto\smove\sgeneration\sof\sthe\sbuild\srules\sto\san\sexternal\sscript,\sbut\sthe\smixed-mode\smake/script\swas\seven\sless\slegible\sthan\sthe\s$(eval)\sindirection\sgoing\son\sin\sthe\smakefile.
-D 2024-01-01T05:58:47.485
+C JNI:\smove\sthe\sByteBuffer-using\sAPIs\sfrom\spublic\sto\spackage\svisibility\sfor\sthe\stime\sbeing\sbecause\sthey\shave\sUB-inducing\spossibilities\swhich\sneed\sto\sbe\sworked\sout.\sUpdate\stest\scode\sto\saccount\sfor\sa\schange\sin\scustom\sFTS5\scolumntext()\simpls.
+D 2024-01-01T06:58:32.507
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -262,7 +262,7 @@ F ext/jni/src/org/sqlite/jni/capi/AggregateFunction.java 0b72cdff61533b564d65b63
 F ext/jni/src/org/sqlite/jni/capi/AuthorizerCallback.java c045a5b47e02bb5f1af91973814a905f12048c428a3504fbc5266d1c1be3de5a
 F ext/jni/src/org/sqlite/jni/capi/AutoExtensionCallback.java 74cc4998a73d6563542ecb90804a3c4f4e828cb4bd69e61226d1a51f4646e759
 F ext/jni/src/org/sqlite/jni/capi/BusyHandlerCallback.java 7b8e19810c42b0ad21a04b5d8c804b32ee5905d137148703f16a75b612c380ca
-F ext/jni/src/org/sqlite/jni/capi/CApi.java d428a1fd3b827f01c55d10d21ff35e33e7dac9e8a1d92a8b5c7d7255e67407d8
+F ext/jni/src/org/sqlite/jni/capi/CApi.java 27bbd944ea8c147afd25b93f17dc397f3627611ebe2878944a32ffeffc98e99e
 F ext/jni/src/org/sqlite/jni/capi/CallbackProxy.java 57e2d275dcebe690b1fc1f3d34eb96879b2d7039bce30b563aee547bf45d8a8b
 F ext/jni/src/org/sqlite/jni/capi/CollationCallback.java e29bcfc540fdd343e2f5cca4d27235113f2886acb13380686756d5cabdfd065a
 F ext/jni/src/org/sqlite/jni/capi/CollationNeededCallback.java 5bfa226a8e7a92e804fd52d6e42b4c7b875fa7a94f8e2c330af8cc244a8920ab
@@ -298,7 +298,7 @@ F ext/jni/src/org/sqlite/jni/fts5/Fts5Context.java 338637e6e5a2cc385d962b220f3c1
 F ext/jni/src/org/sqlite/jni/fts5/Fts5ExtensionApi.java 7da0fbb5728f7c056a43e6407f13dd0c7c9c445221267786a109b987f5fc8a9d
 F ext/jni/src/org/sqlite/jni/fts5/Fts5PhraseIter.java 28045042d593a1f1b9b80d54ec77cbf1d8a1bc95e442eceefa9a3a6f56600b0e
 F ext/jni/src/org/sqlite/jni/fts5/Fts5Tokenizer.java 3c8f677ffb85b8782f865d6fcbc16200b3375d0e3c29ed541a494fde3011bf49
-F ext/jni/src/org/sqlite/jni/fts5/TesterFts5.java eaee4d641229a098eb704b96a45c9a23c6514dc39009d3611e265bab33834deb
+F ext/jni/src/org/sqlite/jni/fts5/TesterFts5.java 51e16bf9050af7cb246d17d6a19c001cfc916bf20f425c96625aaccaf74688e8
 F ext/jni/src/org/sqlite/jni/fts5/XTokenizeCallback.java 1efd1220ea328a32f2d2a1b16c735864159e929480f71daad4de9d5944839167
 F ext/jni/src/org/sqlite/jni/fts5/fts5_api.java a8e88c3783d21cec51b0748568a96653fead88f8f4953376178d9c7385b197ea
 F ext/jni/src/org/sqlite/jni/fts5/fts5_extension_function.java 9e2b954d210d572552b28aca523b272fae14bd41e318921b22f65b728d5bf978
@@ -2156,8 +2156,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 99d11e6d0ae687ff6bac5119027f7b04d5e7185214e79cf8c56289cfa809b0f9
-R f12f6c5bbcd045460cf7bd0ad6d9cb62
+P 563d313163c02b398ae85b7c2ed231019a14e006726f09a7c1f294a58bf4363f
+R 58350c999f119bc20e49e20150798450
 U stephan
-Z 65fba1a0552f62ac5813e31c03da0bea
+Z a9b067fc18aa3982ca71d8b9d5540ad9
 # Remove this line to create a well-formed Fossil manifest.
index 99bdacd567378050676a285fc222e7133f845f9e..5a0f3869792b971f19c34ce1b3c00e4d91aaedba 100644 (file)
@@ -1 +1 @@
-563d313163c02b398ae85b7c2ed231019a14e006726f09a7c1f294a58bf4363f
\ No newline at end of file
+dc501275fcfab3ad9b6ebbadf7588b225a9dd07a0abac5be83d96f15bfba99e9
\ No newline at end of file