diff --git a/build.gradle b/build.gradle index 9ebaab0d..49c57beb 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ plugins { } group 'io.tiledb' -version '0.22.0-SNAPSHOT' +version '0.23.0-SNAPSHOT' repositories { jcenter() diff --git a/cmake/Modules/FindTileDB_EP.cmake b/cmake/Modules/FindTileDB_EP.cmake index 1899e786..ad26d189 100644 --- a/cmake/Modules/FindTileDB_EP.cmake +++ b/cmake/Modules/FindTileDB_EP.cmake @@ -48,30 +48,30 @@ if (NOT TILEDB_FOUND) # Try to download prebuilt artifacts unless the user specifies to build from source if(DOWNLOAD_TILEDB_PREBUILT) if (WIN32) # Windows - SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.20.1/tiledb-windows-x86_64-2.20.1-249c024.zip") - SET(DOWNLOAD_SHA1 "988fdb6f9cf26ae4b9c06951dda6abfb288f51d8") + SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.21.0/tiledb-windows-x86_64-2.21.0-0ea9c13.zip") + SET(DOWNLOAD_SHA1 "a28c71d3ce36bb663957ce5f60a04054904529e4") elseif(APPLE) # macOS if (CMAKE_OSX_ARCHITECTURES STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR MATCHES "(x86_64)|(AMD64|amd64)|(^i.86$)") message(STATUS "Building for intel mac") - SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.20.1/tiledb-macos-x86_64-2.20.1-249c024.tar.gz") - SET(DOWNLOAD_SHA1 "d347916ae4b6f2c01adddf9f80a5cfbbb47dfb68") + SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.21.0/tiledb-macos-x86_64-2.21.0-0ea9c13.tar.gz") + SET(DOWNLOAD_SHA1 "9c824c256a18ac8ff7e015fd0053c8a96d77487a") elseif (CMAKE_OSX_ARCHITECTURES STREQUAL arm64 OR CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "^arm") message(STATUS "Building for apple silicon mac") - SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.20.1/tiledb-macos-arm64-2.20.1-249c024.tar.gz") - SET(DOWNLOAD_SHA1 "d236d781328782d96b95c7cccbd2de07d91ef115") + SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.21.0/tiledb-macos-arm64-2.21.0-0ea9c13.tar.gz") + SET(DOWNLOAD_SHA1 "61ac4017db8d3005f39820bb10ed042f5543b723") endif() else() # Linux if (USE_AVX2) message(STATUS "Using Linux binaries with AVX2") - SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.20.1/tiledb-linux-x86_64-2.20.1-249c024.tar.gz") - SET(DOWNLOAD_SHA1 "53ab76f43e0c61389e5b2910c8c15cfbb483a0b7") + SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.21.0/tiledb-linux-x86_64-2.21.0-0ea9c13.tar.gz") + SET(DOWNLOAD_SHA1 "2fbfe4dbf81a5ae01e7efb85738ed39a60c07f98") else() message(STATUS "Using Linux binaries without AVX2") - SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.20.1/tiledb-linux-x86_64-noavx2-2.20.1-249c024.tar.gz") - SET(DOWNLOAD_SHA1 "d68eabe87af3dd59a392ef7e67e44287f08a457d") + SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.21.0/tiledb-linux-x86_64-noavx2-2.21.0-0ea9c13.tar.gz") + SET(DOWNLOAD_SHA1 "2a9c2e1c2ce3e6437a70bcf8270d9419306385b5") endif() endif() diff --git a/gradle.properties b/gradle.properties index b610a808..b3c5249a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ TILEDB_GIT_REPOSITORY=https://github.com/TileDB-Inc/TileDB -TILEDB_GIT_TAG=2.20.1 +TILEDB_GIT_TAG=2.21.0 TILEDB_VERBOSE=ON TILEDB_S3=ON TILEDB_AZURE=OFF diff --git a/src/main/c/generated/tiledb_wrap.cxx b/src/main/c/generated/tiledb_wrap.cxx index 80af1905..01b2f686 100644 --- a/src/main/c/generated/tiledb_wrap.cxx +++ b/src/main/c/generated/tiledb_wrap.cxx @@ -14551,6 +14551,33 @@ SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1query_1get_1p } +SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1vfs_1ls_1recursive(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jstring jarg3, jlong jarg4, jlong jarg5) { + jlong jresult = 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_vfs_t *arg2 = (tiledb_vfs_t *) 0 ; + char *arg3 = (char *) 0 ; + tiledb_ls_callback_t arg4 = (tiledb_ls_callback_t) 0 ; + void *arg5 = (void *) 0 ; + SwigValueWrapper< capi_return_t > result; + + (void)jenv; + (void)jcls; + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_vfs_t **)&jarg2; + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return 0; + } + arg4 = *(tiledb_ls_callback_t *)&jarg4; + arg5 = *(void **)&jarg5; + result = tiledb_vfs_ls_recursive(arg1,arg2,(char const *)arg3,arg4,arg5); + *(capi_return_t **)&jresult = new capi_return_t(result); + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); + return jresult; +} + + SWIGEXPORT void JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1dimension_1label_1free(JNIEnv *jenv, jclass jcls, jlong jarg1) { tiledb_dimension_label_t **arg1 = (tiledb_dimension_label_t **) 0 ; diff --git a/src/main/java/io/tiledb/java/api/Datatype.java b/src/main/java/io/tiledb/java/api/Datatype.java index b3868574..6e5c7041 100644 --- a/src/main/java/io/tiledb/java/api/Datatype.java +++ b/src/main/java/io/tiledb/java/api/Datatype.java @@ -47,7 +47,9 @@ public enum Datatype { TILEDB_TIME_FS, TILEDB_TIME_AS, TILEDB_BLOB, - TILEDB_BOOL; + TILEDB_BOOL, + TILEDB_GEOM_WKB, + TILEDB_GEOM_WKT; /** @return Returns the TileDB Datatype size in Bytes * */ public int getNativeSize() throws TileDBError { @@ -159,6 +161,8 @@ public Class javaClass() throws TileDBError { return Byte.class; case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: return Byte.class; case TILEDB_UINT8: case TILEDB_BOOL: @@ -294,6 +298,10 @@ protected tiledb_datatype_t toSwigEnum() throws TileDBError { return tiledb_datatype_t.TILEDB_TIME_FS; case TILEDB_TIME_AS: return tiledb_datatype_t.TILEDB_TIME_AS; + case TILEDB_GEOM_WKB: + return tiledb_datatype_t.TILEDB_GEOM_WKB; + case TILEDB_GEOM_WKT: + return tiledb_datatype_t.TILEDB_GEOM_WKT; case TILEDB_BLOB: return tiledb_datatype_t.TILEDB_BLOB; case TILEDB_BOOL: @@ -389,6 +397,10 @@ protected static Datatype fromSwigEnum(tiledb_datatype_t e) throws TileDBError { return TILEDB_BLOB; case TILEDB_BOOL: return TILEDB_BOOL; + case TILEDB_GEOM_WKB: + return TILEDB_GEOM_WKB; + case TILEDB_GEOM_WKT: + return TILEDB_GEOM_WKT; default: throw new TileDBError("No such enum value " + e.name()); } diff --git a/src/main/java/io/tiledb/java/api/NativeArray.java b/src/main/java/io/tiledb/java/api/NativeArray.java index 7298068b..f2780299 100644 --- a/src/main/java/io/tiledb/java/api/NativeArray.java +++ b/src/main/java/io/tiledb/java/api/NativeArray.java @@ -167,6 +167,8 @@ private int getSize(Object buffer) throws TileDBError { } case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: { return ((byte[]) buffer).length; } @@ -244,6 +246,8 @@ private void createNativeArrayFromBuffer(Object buffer) throws TileDBError { } case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: { int8_tArray = Utils.newInt8_tArray((byte[]) buffer); break; @@ -344,6 +348,8 @@ private void allocateEmptyArray() throws TileDBError { } case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: { int8_tArray = new int8_tArray(size); break; @@ -446,6 +452,8 @@ public Object getItem(int index) throws ArrayIndexOutOfBoundsException, TileDBEr } case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: { return int8_tArray.getitem(index); } @@ -539,6 +547,8 @@ public void setItem(int index, Object value) throws ArrayIndexOutOfBoundsExcepti } case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: { int8_tArray.setitem(index, (byte) value); break; @@ -643,6 +653,8 @@ public SWIGTYPE_p_void toVoidPointer() throws TileDBError { } case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: { return PointerUtils.toVoid(int8_tArray); } @@ -724,6 +736,8 @@ public long toCPointer() throws TileDBError { } case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: { return PointerUtils.toCPtr(int8_tArray); } @@ -837,6 +851,8 @@ public Object toJavaArray(int position, int elements) throws TileDBError { } case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: { return Utils.int8ArrayGet(int8_tArray, position, elements); } @@ -920,6 +936,8 @@ private void createNativeArrayFromVoidPointer(SWIGTYPE_p_p_void pointer) throws } case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: { int8_tArray = PointerUtils.int8_tArrayFromVoid(pointer); break; @@ -1013,6 +1031,8 @@ private void createNativeArrayFromVoidPointer(SWIGTYPE_p_void pointer) throws Ti } case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: { int8_tArray = PointerUtils.int8_tArrayFromVoid(pointer); break; diff --git a/src/main/java/io/tiledb/java/api/Types.java b/src/main/java/io/tiledb/java/api/Types.java index b911b518..563f7e5d 100644 --- a/src/main/java/io/tiledb/java/api/Types.java +++ b/src/main/java/io/tiledb/java/api/Types.java @@ -81,6 +81,8 @@ public static Class getJavaType(Datatype type) throws TileDBError { } case TILEDB_INT8: case TILEDB_BLOB: + case TILEDB_GEOM_WKB: + case TILEDB_GEOM_WKT: { return Byte.class; } diff --git a/src/main/java/io/tiledb/libtiledb/SWIGTYPE_p_f_p_q_const__char_unsigned_long_unsigned_long_long_p_void__int.java b/src/main/java/io/tiledb/libtiledb/SWIGTYPE_p_f_p_q_const__char_unsigned_long_unsigned_long_long_p_void__int.java new file mode 100644 index 00000000..4674320f --- /dev/null +++ b/src/main/java/io/tiledb/libtiledb/SWIGTYPE_p_f_p_q_const__char_unsigned_long_unsigned_long_long_p_void__int.java @@ -0,0 +1,32 @@ +/* ---------------------------------------------------------------------------- + * This file was automatically generated by SWIG (https://www.swig.org). + * Version 4.1.1 + * + * Do not make changes to this file unless you know what you are doing - modify + * the SWIG interface file instead. + * ----------------------------------------------------------------------------- */ + +package io.tiledb.libtiledb; + +public class SWIGTYPE_p_f_p_q_const__char_unsigned_long_unsigned_long_long_p_void__int { + private transient long swigCPtr; + + protected SWIGTYPE_p_f_p_q_const__char_unsigned_long_unsigned_long_long_p_void__int( + long cPtr, @SuppressWarnings("unused") boolean futureUse) { + swigCPtr = cPtr; + } + + protected SWIGTYPE_p_f_p_q_const__char_unsigned_long_unsigned_long_long_p_void__int() { + swigCPtr = 0; + } + + protected static long getCPtr( + SWIGTYPE_p_f_p_q_const__char_unsigned_long_unsigned_long_long_p_void__int obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } + + protected static long swigRelease( + SWIGTYPE_p_f_p_q_const__char_unsigned_long_unsigned_long_long_p_void__int obj) { + return (obj == null) ? 0 : obj.swigCPtr; + } +} diff --git a/src/main/java/io/tiledb/libtiledb/tiledb.java b/src/main/java/io/tiledb/libtiledb/tiledb.java index 7fea5876..265adbac 100644 --- a/src/main/java/io/tiledb/libtiledb/tiledb.java +++ b/src/main/java/io/tiledb/libtiledb/tiledb.java @@ -5464,6 +5464,23 @@ public static int tiledb_query_get_plan( SWIGTYPE_p_p_tiledb_string_handle_t.getCPtr(plan)); } + public static capi_return_t tiledb_vfs_ls_recursive( + SWIGTYPE_p_tiledb_ctx_t ctx, + SWIGTYPE_p_tiledb_vfs_handle_t vfs, + String path, + SWIGTYPE_p_f_p_q_const__char_unsigned_long_unsigned_long_long_p_void__int callback, + SWIGTYPE_p_void data) { + return new capi_return_t( + tiledbJNI.tiledb_vfs_ls_recursive( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), + SWIGTYPE_p_tiledb_vfs_handle_t.getCPtr(vfs), + path, + SWIGTYPE_p_f_p_q_const__char_unsigned_long_unsigned_long_long_p_void__int.getCPtr( + callback), + SWIGTYPE_p_void.getCPtr(data)), + true); + } + public static void tiledb_dimension_label_free( SWIGTYPE_p_p_tiledb_dimension_label_handle_t dim_label) { tiledbJNI.tiledb_dimension_label_free( diff --git a/src/main/java/io/tiledb/libtiledb/tiledbConstants.java b/src/main/java/io/tiledb/libtiledb/tiledbConstants.java index 1b6438a7..8bca6d74 100644 --- a/src/main/java/io/tiledb/libtiledb/tiledbConstants.java +++ b/src/main/java/io/tiledb/libtiledb/tiledbConstants.java @@ -9,12 +9,13 @@ package io.tiledb.libtiledb; public interface tiledbConstants { + public static final int TILEDB_BUDGET_UNAVAILABLE = (-5); public static final int TILEDB_ERR = (-1); public static final int TILEDB_INVALID_CONTEXT = (-3); public static final int TILEDB_INVALID_ERROR = (-4); public static final int TILEDB_OK = (0); public static final int TILEDB_OOM = (-2); public static final int TILEDB_VERSION_MAJOR = 2; - public static final int TILEDB_VERSION_MINOR = 19; + public static final int TILEDB_VERSION_MINOR = 21; public static final int TILEDB_VERSION_PATCH = 0; } diff --git a/src/main/java/io/tiledb/libtiledb/tiledbJNI.java b/src/main/java/io/tiledb/libtiledb/tiledbJNI.java index 815a6f9a..1b025dbd 100644 --- a/src/main/java/io/tiledb/libtiledb/tiledbJNI.java +++ b/src/main/java/io/tiledb/libtiledb/tiledbJNI.java @@ -1784,6 +1784,9 @@ public static final native long tiledb_query_get_field( public static final native int tiledb_query_get_plan(long jarg1, long jarg2, long jarg3); + public static final native long tiledb_vfs_ls_recursive( + long jarg1, long jarg2, String jarg3, long jarg4, long jarg5); + public static final native void tiledb_dimension_label_free(long jarg1); public static final native long tiledb_dimension_label_get_dimension_index( diff --git a/src/main/java/io/tiledb/libtiledb/tiledb_datatype_t.java b/src/main/java/io/tiledb/libtiledb/tiledb_datatype_t.java index 6afcf934..374df3d7 100644 --- a/src/main/java/io/tiledb/libtiledb/tiledb_datatype_t.java +++ b/src/main/java/io/tiledb/libtiledb/tiledb_datatype_t.java @@ -50,7 +50,9 @@ public enum tiledb_datatype_t { TILEDB_TIME_FS(38), TILEDB_TIME_AS(39), TILEDB_BLOB(40), - TILEDB_BOOL(41); + TILEDB_BOOL(41), + TILEDB_GEOM_WKB(42), + TILEDB_GEOM_WKT(43); public final int swigValue() { return swigValue; diff --git a/src/test/java/io/tiledb/java/api/VersionTest.java b/src/test/java/io/tiledb/java/api/VersionTest.java index a94c2ff6..dedd2220 100644 --- a/src/test/java/io/tiledb/java/api/VersionTest.java +++ b/src/test/java/io/tiledb/java/api/VersionTest.java @@ -34,7 +34,7 @@ public void testVersion() { Version version = new Version(); System.out.println(version); Assert.assertTrue(version.getMajor() == 2); - Assert.assertTrue(version.getMinor() == 20); - Assert.assertTrue(version.getRevision() == 1); + Assert.assertTrue(version.getMinor() == 21); + Assert.assertTrue(version.getRevision() == 0); } }