diff --git a/build.gradle b/build.gradle index 135e5a9c..29b39c70 100644 --- a/build.gradle +++ b/build.gradle @@ -9,7 +9,7 @@ plugins { } group 'io.tiledb' -version '0.27.0-SNAPSHOT' +version '0.28.0-SNAPSHOT' repositories { mavenCentral() diff --git a/cmake/Modules/FindTileDB_EP.cmake b/cmake/Modules/FindTileDB_EP.cmake index 564db306..461acac6 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.25.0/tiledb-windows-x86_64-2.25.0-bbcbd3f.zip") - SET(DOWNLOAD_SHA1 "b2b8cdfefbcbb07296c86e52cb9a2979ef455d2a") + SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.26.0/tiledb-windows-x86_64-2.26.0-983b716.zip") + SET(DOWNLOAD_SHA1 "ee66c3f86d32aa1c88e233c25455141d764eff47") 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.25.0/tiledb-macos-x86_64-2.25.0-bbcbd3f.tar.gz") - SET(DOWNLOAD_SHA1 "9c799d7de64e78d9e95cfa7db95b569cd3d3c8b0") + SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.26.0/tiledb-macos-x86_64-2.26.0-983b716.tar.gz") + SET(DOWNLOAD_SHA1 "e218ef0c5c6bc7ce55e423f6ad63ca8dd0b7719e") 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.25.0/tiledb-macos-arm64-2.25.0-bbcbd3f.tar.gz") - SET(DOWNLOAD_SHA1 "c6a1ab5213c36e53dd8e6da87c18b8bc695c532d") + SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.26.0/tiledb-macos-arm64-2.26.0-983b716.tar.gz") + SET(DOWNLOAD_SHA1 "9372924a4e8945bdfddb5c9b1741233aa8ff504e") 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.25.0/tiledb-linux-x86_64-2.25.0-bbcbd3f.tar.gz") - SET(DOWNLOAD_SHA1 "1d789af5d88ce09edf60d16ea3988631e780252a") + SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.26.0/tiledb-linux-x86_64-2.26.0-983b716.tar.gz") + SET(DOWNLOAD_SHA1 "b2abfc91285653050a4cb743a71d7c2f2f9a89c4") else() message(STATUS "Using Linux binaries without AVX2") - SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.25.0/tiledb-linux-x86_64-noavx2-2.25.0-bbcbd3f.tar.gz") - SET(DOWNLOAD_SHA1 "02f3b9951e5d21614ea0d577190161aed2b04240") + SET(DOWNLOAD_URL "https://github.com/TileDB-Inc/TileDB/releases/download/2.26.0/tiledb-linux-x86_64-noavx2-2.26.0-983b716.tar.gz") + SET(DOWNLOAD_SHA1 "337da10f222afe3727166d92de66e480304179bb") endif() endif() diff --git a/generate_tiledb_jni b/generate_tiledb_jni index c94f9d1c..cd01e285 100755 --- a/generate_tiledb_jni +++ b/generate_tiledb_jni @@ -97,13 +97,13 @@ fi # define the necessary macro constants # (removed during preprocessor macro expansion) -g++ -dM -I ${prefix_dir}/include -x c++-header -E ${tiledb_header} ${tiledb_experimental_header} | grep "#define TILEDB" > swig/tiledb_generated.h || - die "could not write ./swig/tiledb_generated.h tmp file" - -## remove system headers -awk '!/#\s*include/ || /tiledb_/ || /tiledb\/api/ {print}' ${tiledb_header} ${tiledb_experimental_header} | - g++ -E -P -nostdinc++ -I "${prefix_dir}/include/tiledb" -I "${prefix_dir}/include/" -x c++ - >> swig/tiledb_generated.h || - die "error generating temp combined swig/tiledb_generated.h header for swig generation" +#g++ -dM -I ${prefix_dir}/include -x c++-header -E ${tiledb_header} ${tiledb_experimental_header} | grep "#define TILEDB" > swig/tiledb_generated.h || +# die "could not write ./swig/tiledb_generated.h tmp file" +# +### remove system headers +#awk '!/#\s*include/ || /tiledb_/ || /tiledb\/api/ {print}' ${tiledb_header} ${tiledb_experimental_header} | +# g++ -E -P -nostdinc++ -I "${prefix_dir}/include/tiledb" -I "${prefix_dir}/include/" -x c++ - >> swig/tiledb_generated.h || +# die "error generating temp combined swig/tiledb_generated.h header for swig generation" # if existing libtiledb generated source exists, delete it cleanup_java() { diff --git a/gradle.properties b/gradle.properties index 68d67b6b..c5521085 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ TILEDB_GIT_REPOSITORY=https://github.com/TileDB-Inc/TileDB -TILEDB_GIT_TAG=2.25.0 +TILEDB_GIT_TAG=2.26.0 TILEDB_VERBOSE=ON TILEDB_S3=ON TILEDB_AZURE=OFF diff --git a/src/main/c/README.md b/src/main/c/README.md index 113dba30..ff30db4f 100644 --- a/src/main/c/README.md +++ b/src/main/c/README.md @@ -10,4 +10,4 @@ The `tiledb_wrap.cxx` file under this directory contains the auto-generated JNI The `tiledb_custom.cxx` file under this directory contains custom methods defined by the developer that are not auto-generated. Any custom method that needs to be added should be put in this file. Also, the signature of the new custom method should be also put in the `tiledb.i` file under the `TileDB-Java/swig` dir. For implementation details, -all `*_nio` methods (e.g. `tiledb_query_set_subarray_nio`) are good examples. +all `*_nio` methods (e.g. `tiledb_query_set_offsets_buffer_nio`) are good examples. diff --git a/src/main/c/custom/tiledb_custom.cxx b/src/main/c/custom/tiledb_custom.cxx index 0738c3e3..4c6d8558 100644 --- a/src/main/c/custom/tiledb_custom.cxx +++ b/src/main/c/custom/tiledb_custom.cxx @@ -1110,25 +1110,6 @@ extern "C" { return jresult; } - SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1query_1set_1subarray_1nio(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jobject jarg3) { - void* buffer = (void *)jenv->GetDirectBufferAddress(jarg3); - - jint jresult = 0 ; - tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; - tiledb_query_t *arg2 = (tiledb_query_t *) 0 ; - void *arg3 = (void *) 0 ; - int32_t result; - - (void)jenv; - (void)jcls; - arg1 = *(tiledb_ctx_t **)&jarg1; - arg2 = *(tiledb_query_t **)&jarg2; - arg3 = *(void **)&jarg3; - result = (int32_t)tiledb_query_set_subarray(arg1,arg2,buffer); - jresult = (jint)result; - return jresult; - } - SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1query_1set_1data_1buffer_1nio(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jstring jarg3, jobject jarg4, jlong jarg5) { void* buffer = (void *)jenv->GetDirectBufferAddress(jarg4); diff --git a/src/main/c/generated/tiledb_wrap.cxx b/src/main/c/generated/tiledb_wrap.cxx index 1ef89642..646cde77 100644 --- a/src/main/c/generated/tiledb_wrap.cxx +++ b/src/main/c/generated/tiledb_wrap.cxx @@ -7568,6 +7568,24 @@ SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1attribute_1du } +SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1attribute_1dump_1str(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { + jint jresult = 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_attribute_t *arg2 = (tiledb_attribute_t *) 0 ; + tiledb_string_t **arg3 = (tiledb_string_t **) 0 ; + int32_t result; + + (void)jenv; + (void)jcls; + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_attribute_t **)&jarg2; + arg3 = *(tiledb_string_t ***)&jarg3; + result = (int32_t)tiledb_attribute_dump_str(arg1,(tiledb_attribute_t const *)arg2,arg3); + jresult = (jint)result; + return jresult; +} + + SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1attribute_1set_1fill_1value(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3, jobject jarg4) { jint jresult = 0 ; tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; @@ -8192,6 +8210,24 @@ SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1dimension_1du } +SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1dimension_1dump_1str(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { + jint jresult = 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_dimension_t *arg2 = (tiledb_dimension_t *) 0 ; + tiledb_string_t **arg3 = (tiledb_string_t **) 0 ; + int32_t result; + + (void)jenv; + (void)jcls; + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_dimension_t **)&jarg2; + arg3 = *(tiledb_string_t ***)&jarg3; + result = (int32_t)tiledb_dimension_dump_str(arg1,(tiledb_dimension_t const *)arg2,arg3); + jresult = (jint)result; + return jresult; +} + + SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1domain_1alloc(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2) { jint jresult = 0 ; tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; @@ -8360,6 +8396,24 @@ SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1domain_1dump( } +SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1domain_1dump_1str(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { + jint jresult = 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_domain_t *arg2 = (tiledb_domain_t *) 0 ; + tiledb_string_t **arg3 = (tiledb_string_t **) 0 ; + int32_t result; + + (void)jenv; + (void)jcls; + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_domain_t **)&jarg2; + arg3 = *(tiledb_string_t ***)&jarg3; + result = (int32_t)tiledb_domain_dump_str(arg1,(tiledb_domain_t const *)arg2,arg3); + jresult = (jint)result; + return jresult; +} + + SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1object_1type_1to_1str(JNIEnv *jenv, jclass jcls, jint jarg1, jlong jarg2) { jlong jresult = 0 ; tiledb_object_t arg1 ; @@ -8872,55 +8926,6 @@ SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1group_1get_1 } -SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1group_1get_1member_1by_1index(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jobject jarg3, jlong jarg4, jlong jarg5, jlong jarg6) { - jlong jresult = 0 ; - tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; - tiledb_group_t *arg2 = (tiledb_group_t *) 0 ; - uint64_t arg3 ; - char **arg4 = (char **) 0 ; - tiledb_object_t *arg5 = (tiledb_object_t *) 0 ; - char **arg6 = (char **) 0 ; - SwigValueWrapper< capi_return_t > result; - - (void)jenv; - (void)jcls; - arg1 = *(tiledb_ctx_t **)&jarg1; - arg2 = *(tiledb_group_t **)&jarg2; - { - jclass clazz; - jmethodID mid; - jbyteArray ba; - jbyte* bae; - jsize sz; - int i; - - if (!jarg3) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null"); - return 0; - } - clazz = jenv->GetObjectClass(jarg3); - mid = jenv->GetMethodID(clazz, "toByteArray", "()[B"); - ba = (jbyteArray)jenv->CallObjectMethod(jarg3, mid); - bae = jenv->GetByteArrayElements(ba, 0); - sz = jenv->GetArrayLength(ba); - arg3 = 0; - if (sz > 0) { - arg3 = (uint64_t)(signed char)bae[0]; - for(i=1; iReleaseByteArrayElements(ba, bae, 0); - } - arg4 = *(char ***)&jarg4; - arg5 = *(tiledb_object_t **)&jarg5; - arg6 = *(char ***)&jarg6; - result = tiledb_group_get_member_by_index(arg1,arg2,arg3,arg4,arg5,arg6); - *(capi_return_t **)&jresult = new capi_return_t(result); - return jresult; -} - - SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1group_1get_1member_1by_1index_1v2(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jobject jarg3, jlong jarg4, jlong jarg5, jlong jarg6) { jlong jresult = 0 ; tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; @@ -8970,33 +8975,6 @@ SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1group_1get_1 } -SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1group_1get_1member_1by_1name(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_group_t *arg2 = (tiledb_group_t *) 0 ; - char *arg3 = (char *) 0 ; - char **arg4 = (char **) 0 ; - tiledb_object_t *arg5 = (tiledb_object_t *) 0 ; - SwigValueWrapper< capi_return_t > result; - - (void)jenv; - (void)jcls; - arg1 = *(tiledb_ctx_t **)&jarg1; - arg2 = *(tiledb_group_t **)&jarg2; - arg3 = 0; - if (jarg3) { - arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); - if (!arg3) return 0; - } - arg4 = *(char ***)&jarg4; - arg5 = *(tiledb_object_t **)&jarg5; - result = tiledb_group_get_member_by_name(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 jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1group_1get_1member_1by_1name_1v2(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 ; @@ -10692,19 +10670,19 @@ SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1array_1schema } -SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1array_1schema_1dump(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { +SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1array_1schema_1dump_1str(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { jint jresult = 0 ; tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; tiledb_array_schema_t *arg2 = (tiledb_array_schema_t *) 0 ; - FILE *arg3 = (FILE *) 0 ; + tiledb_string_t **arg3 = (tiledb_string_t **) 0 ; int32_t result; (void)jenv; (void)jcls; arg1 = *(tiledb_ctx_t **)&jarg1; arg2 = *(tiledb_array_schema_t **)&jarg2; - arg3 = *(FILE **)&jarg3; - result = (int32_t)tiledb_array_schema_dump(arg1,(tiledb_array_schema_t const *)arg2,arg3); + arg3 = *(tiledb_string_t ***)&jarg3; + result = (int32_t)tiledb_array_schema_dump_str(arg1,(tiledb_array_schema_t const *)arg2,arg3); jresult = (jint)result; return jresult; } @@ -14159,98 +14137,19 @@ SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1fragment_1inf } -SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1array_1delete_1fragments(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jstring jarg3, jobject jarg4, jobject jarg5) { - jint jresult = 0 ; - tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; - tiledb_array_t *arg2 = (tiledb_array_t *) 0 ; - char *arg3 = (char *) 0 ; - uint64_t arg4 ; - uint64_t arg5 ; - int32_t result; - - (void)jenv; - (void)jcls; - arg1 = *(tiledb_ctx_t **)&jarg1; - arg2 = *(tiledb_array_t **)&jarg2; - arg3 = 0; - if (jarg3) { - arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); - if (!arg3) return 0; - } - { - jclass clazz; - jmethodID mid; - jbyteArray ba; - jbyte* bae; - jsize sz; - int i; - - if (!jarg4) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null"); - return 0; - } - clazz = jenv->GetObjectClass(jarg4); - mid = jenv->GetMethodID(clazz, "toByteArray", "()[B"); - ba = (jbyteArray)jenv->CallObjectMethod(jarg4, mid); - bae = jenv->GetByteArrayElements(ba, 0); - sz = jenv->GetArrayLength(ba); - arg4 = 0; - if (sz > 0) { - arg4 = (uint64_t)(signed char)bae[0]; - for(i=1; iReleaseByteArrayElements(ba, bae, 0); - } - { - jclass clazz; - jmethodID mid; - jbyteArray ba; - jbyte* bae; - jsize sz; - int i; - - if (!jarg5) { - SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "BigInteger null"); - return 0; - } - clazz = jenv->GetObjectClass(jarg5); - mid = jenv->GetMethodID(clazz, "toByteArray", "()[B"); - ba = (jbyteArray)jenv->CallObjectMethod(jarg5, mid); - bae = jenv->GetByteArrayElements(ba, 0); - sz = jenv->GetArrayLength(ba); - arg5 = 0; - if (sz > 0) { - arg5 = (uint64_t)(signed char)bae[0]; - for(i=1; iReleaseByteArrayElements(ba, bae, 0); - } - result = (int32_t)tiledb_array_delete_fragments(arg1,arg2,(char const *)arg3,arg4,arg5); - jresult = (jint)result; - if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); - return jresult; -} - - -SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1fragment_1info_1get_1fragment_1name(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3, jlong jarg4) { +SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1array_1schema_1dump(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { jint jresult = 0 ; tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; - tiledb_fragment_info_t *arg2 = (tiledb_fragment_info_t *) 0 ; - uint32_t arg3 ; - char **arg4 = (char **) 0 ; + tiledb_array_schema_t *arg2 = (tiledb_array_schema_t *) 0 ; + FILE *arg3 = (FILE *) 0 ; int32_t result; (void)jenv; (void)jcls; arg1 = *(tiledb_ctx_t **)&jarg1; - arg2 = *(tiledb_fragment_info_t **)&jarg2; - arg3 = (uint32_t)jarg3; - arg4 = *(char ***)&jarg4; - result = (int32_t)tiledb_fragment_info_get_fragment_name(arg1,arg2,arg3,(char const **)arg4); + arg2 = *(tiledb_array_schema_t **)&jarg2; + arg3 = *(FILE **)&jarg3; + result = (int32_t)tiledb_array_schema_dump(arg1,(tiledb_array_schema_t const *)arg2,arg3); jresult = (jint)result; return jresult; } @@ -14641,6 +14540,69 @@ SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1ndrectangle_ } +SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1ndrectangle_1get_1dtype(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3, jlong jarg4) { + jlong jresult = 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_ndrectangle_t *arg2 = (tiledb_ndrectangle_t *) 0 ; + uint32_t arg3 ; + tiledb_datatype_t *arg4 = (tiledb_datatype_t *) 0 ; + SwigValueWrapper< capi_return_t > result; + + (void)jenv; + (void)jcls; + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_ndrectangle_t **)&jarg2; + arg3 = (uint32_t)jarg3; + arg4 = *(tiledb_datatype_t **)&jarg4; + result = tiledb_ndrectangle_get_dtype(arg1,arg2,arg3,arg4); + *(capi_return_t **)&jresult = new capi_return_t(result); + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1ndrectangle_1get_1dtype_1from_1name(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jstring jarg3, jlong jarg4) { + jlong jresult = 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_ndrectangle_t *arg2 = (tiledb_ndrectangle_t *) 0 ; + char *arg3 = (char *) 0 ; + tiledb_datatype_t *arg4 = (tiledb_datatype_t *) 0 ; + SwigValueWrapper< capi_return_t > result; + + (void)jenv; + (void)jcls; + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_ndrectangle_t **)&jarg2; + arg3 = 0; + if (jarg3) { + arg3 = (char *)jenv->GetStringUTFChars(jarg3, 0); + if (!arg3) return 0; + } + arg4 = *(tiledb_datatype_t **)&jarg4; + result = tiledb_ndrectangle_get_dtype_from_name(arg1,arg2,(char const *)arg3,arg4); + *(capi_return_t **)&jresult = new capi_return_t(result); + if (arg3) jenv->ReleaseStringUTFChars(jarg3, (const char *)arg3); + return jresult; +} + + +SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1ndrectangle_1get_1dim_1num(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { + jlong jresult = 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_ndrectangle_t *arg2 = (tiledb_ndrectangle_t *) 0 ; + uint32_t *arg3 = (uint32_t *) 0 ; + SwigValueWrapper< capi_return_t > result; + + (void)jenv; + (void)jcls; + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_ndrectangle_t **)&jarg2; + arg3 = *(uint32_t **)&jarg3; + result = tiledb_ndrectangle_get_dim_num(arg1,arg2,arg3); + *(capi_return_t **)&jresult = new capi_return_t(result); + return jresult; +} + + SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1current_1domain_1create(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2) { jlong jresult = 0 ; tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; @@ -14671,65 +14633,73 @@ SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1current_1dom } -SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1current_1domain_1set_1ndrectangle(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2) { +SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1current_1domain_1set_1ndrectangle(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { jlong jresult = 0 ; - tiledb_current_domain_t *arg1 = (tiledb_current_domain_t *) 0 ; - tiledb_ndrectangle_t *arg2 = (tiledb_ndrectangle_t *) 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_current_domain_t *arg2 = (tiledb_current_domain_t *) 0 ; + tiledb_ndrectangle_t *arg3 = (tiledb_ndrectangle_t *) 0 ; SwigValueWrapper< capi_return_t > result; (void)jenv; (void)jcls; - arg1 = *(tiledb_current_domain_t **)&jarg1; - arg2 = *(tiledb_ndrectangle_t **)&jarg2; - result = tiledb_current_domain_set_ndrectangle(arg1,arg2); + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_current_domain_t **)&jarg2; + arg3 = *(tiledb_ndrectangle_t **)&jarg3; + result = tiledb_current_domain_set_ndrectangle(arg1,arg2,arg3); *(capi_return_t **)&jresult = new capi_return_t(result); return jresult; } -SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1current_1domain_1get_1ndrectangle(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2) { +SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1current_1domain_1get_1ndrectangle(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { jlong jresult = 0 ; - tiledb_current_domain_t *arg1 = (tiledb_current_domain_t *) 0 ; - tiledb_ndrectangle_t **arg2 = (tiledb_ndrectangle_t **) 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_current_domain_t *arg2 = (tiledb_current_domain_t *) 0 ; + tiledb_ndrectangle_t **arg3 = (tiledb_ndrectangle_t **) 0 ; SwigValueWrapper< capi_return_t > result; (void)jenv; (void)jcls; - arg1 = *(tiledb_current_domain_t **)&jarg1; - arg2 = *(tiledb_ndrectangle_t ***)&jarg2; - result = tiledb_current_domain_get_ndrectangle(arg1,arg2); + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_current_domain_t **)&jarg2; + arg3 = *(tiledb_ndrectangle_t ***)&jarg3; + result = tiledb_current_domain_get_ndrectangle(arg1,arg2,arg3); *(capi_return_t **)&jresult = new capi_return_t(result); return jresult; } -SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1current_1domain_1get_1is_1empty(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2) { +SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1current_1domain_1get_1is_1empty(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { jlong jresult = 0 ; - tiledb_current_domain_t *arg1 = (tiledb_current_domain_t *) 0 ; - uint32_t *arg2 = (uint32_t *) 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_current_domain_t *arg2 = (tiledb_current_domain_t *) 0 ; + uint32_t *arg3 = (uint32_t *) 0 ; SwigValueWrapper< capi_return_t > result; (void)jenv; (void)jcls; - arg1 = *(tiledb_current_domain_t **)&jarg1; - arg2 = *(uint32_t **)&jarg2; - result = tiledb_current_domain_get_is_empty(arg1,arg2); + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_current_domain_t **)&jarg2; + arg3 = *(uint32_t **)&jarg3; + result = tiledb_current_domain_get_is_empty(arg1,arg2,arg3); *(capi_return_t **)&jresult = new capi_return_t(result); return jresult; } -SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1current_1domain_1get_1type(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2) { +SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1current_1domain_1get_1type(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { jlong jresult = 0 ; - tiledb_current_domain_t *arg1 = (tiledb_current_domain_t *) 0 ; - tiledb_current_domain_type_t *arg2 = (tiledb_current_domain_type_t *) 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_current_domain_t *arg2 = (tiledb_current_domain_t *) 0 ; + tiledb_current_domain_type_t *arg3 = (tiledb_current_domain_type_t *) 0 ; SwigValueWrapper< capi_return_t > result; (void)jenv; (void)jcls; - arg1 = *(tiledb_current_domain_t **)&jarg1; - arg2 = *(tiledb_current_domain_type_t **)&jarg2; - result = tiledb_current_domain_get_type(arg1,arg2); + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_current_domain_t **)&jarg2; + arg3 = *(tiledb_current_domain_type_t **)&jarg3; + result = tiledb_current_domain_get_type(arg1,arg2,arg3); *(capi_return_t **)&jresult = new capi_return_t(result); return jresult; } @@ -15038,6 +15008,24 @@ SWIGEXPORT jlong JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1enumeration_ } +SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1enumeration_1dump_1str(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2, jlong jarg3) { + jint jresult = 0 ; + tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; + tiledb_enumeration_t *arg2 = (tiledb_enumeration_t *) 0 ; + tiledb_string_t **arg3 = (tiledb_string_t **) 0 ; + int32_t result; + + (void)jenv; + (void)jcls; + arg1 = *(tiledb_ctx_t **)&jarg1; + arg2 = *(tiledb_enumeration_t **)&jarg2; + arg3 = *(tiledb_string_t ***)&jarg3; + result = (int32_t)tiledb_enumeration_dump_str(arg1,arg2,arg3); + jresult = (jint)result; + return jresult; +} + + SWIGEXPORT jint JNICALL Java_io_tiledb_libtiledb_tiledbJNI_tiledb_1channel_1operator_1sum_1get(JNIEnv *jenv, jclass jcls, jlong jarg1, jlong jarg2) { jint jresult = 0 ; tiledb_ctx_t *arg1 = (tiledb_ctx_t *) 0 ; diff --git a/src/main/java/io/tiledb/java/api/Array.java b/src/main/java/io/tiledb/java/api/Array.java index 3024f5d8..96f86292 100644 --- a/src/main/java/io/tiledb/java/api/Array.java +++ b/src/main/java/io/tiledb/java/api/Array.java @@ -766,24 +766,6 @@ public Pair getMetadataFromIndex(BigInteger index) throws T } } - /** - * Deletes array fragments written between the input timestamps. - * - * @param timestampStart The epoch timestamp in milliseconds. - * @param timestampEnd The epoch timestamp in milliseconds. Use UINT64_MAX for the current - * timestamp. - * @throws TileDBError - */ - @Deprecated - public void deleteFragments(BigInteger timestampStart, BigInteger timestampEnd) - throws TileDBError { - Util.checkBigIntegerRange(timestampStart); - Util.checkBigIntegerRange(timestampEnd); - ctx.handleError( - tiledb.tiledb_array_delete_fragments( - ctx.getCtxp(), getArrayp(), uri, timestampStart, timestampEnd)); - } - /** * Deletes array fragments written between the input timestamps. * diff --git a/src/main/java/io/tiledb/java/api/ArraySchema.java b/src/main/java/io/tiledb/java/api/ArraySchema.java index db402523..aae82d22 100644 --- a/src/main/java/io/tiledb/java/api/ArraySchema.java +++ b/src/main/java/io/tiledb/java/api/ArraySchema.java @@ -27,7 +27,6 @@ import io.tiledb.libtiledb.*; import java.math.BigInteger; import java.util.HashMap; -import java.util.Map; /** * Array schema describing an array. @@ -820,20 +819,17 @@ public Context getCtx() { /** @return A String representation for the schema. */ @Override public String toString() { + SWIGTYPE_p_p_tiledb_string_handle_t dump = tiledb.new_tiledb_string_handle_tpp(); + TileDBString ts = null; + try { - StringBuilder s = new StringBuilder("ArraySchema<"); - s.append(getArrayType().name()); - s.append(" "); - if (domainIsSet) s.append(getDomain()); - for (Map.Entry e : getAttributes().entrySet()) { - s.append(" "); - s.append(e.getValue()); - } - s.append(">"); - return s.toString(); - } catch (Exception e) { - e.printStackTrace(); - return ""; + ctx.handleError(tiledb.tiledb_array_schema_dump_str(ctx.getCtxp(), schemap, dump)); + ts = new TileDBString(ctx, dump); + return ts.getView().getFirst(); + } catch (TileDBError error) { + return "Dump not available"; + } finally { + if (ts != null) ts.close(); } } diff --git a/src/main/java/io/tiledb/java/api/Attribute.java b/src/main/java/io/tiledb/java/api/Attribute.java index 972246be..ced3f4f5 100644 --- a/src/main/java/io/tiledb/java/api/Attribute.java +++ b/src/main/java/io/tiledb/java/api/Attribute.java @@ -507,18 +507,18 @@ public boolean getNullable() throws TileDBError { /** @return A String representation for the Attribute. */ @Override public String toString() { + SWIGTYPE_p_p_tiledb_string_handle_t dump = tiledb.new_tiledb_string_handle_tpp(); + TileDBString ts = null; + try { - return "Attr<" - + getName() - + ',' - + getType() - + ',' - + ((getCellValNum() == TILEDB_VAR_NUM) ? "VAR" : getCellValNum()) - + '>'; - } catch (TileDBError err) { - err.printStackTrace(); + ctx.handleError(tiledb.tiledb_attribute_dump_str(ctx.getCtxp(), attributep, dump)); + ts = new TileDBString(ctx, dump); + return ts.getView().getFirst(); + } catch (TileDBError error) { + return "Dump not available"; + } finally { + if (ts != null) ts.close(); } - return ""; } /** Free's native TileDB resources associated with the Attribute object */ diff --git a/src/main/java/io/tiledb/java/api/CurrentDomain.java b/src/main/java/io/tiledb/java/api/CurrentDomain.java index c381473c..bad3f9a6 100644 --- a/src/main/java/io/tiledb/java/api/CurrentDomain.java +++ b/src/main/java/io/tiledb/java/api/CurrentDomain.java @@ -62,7 +62,7 @@ protected SWIGTYPE_p_tiledb_current_domain_t getCurrentDomainp() { public void setNDRectangle(NDRectangle ndRectangle) throws TileDBError { ctx.handleError( tiledb.tiledb_current_domain_set_ndrectangle( - currentDomainp, ndRectangle.getndrectanglep())); + ctx.getCtxp(), currentDomainp, ndRectangle.getndrectanglep())); } /** @@ -75,7 +75,8 @@ public CurrentDomainType getType() throws TileDBError { SWIGTYPE_p_tiledb_current_domain_type_t typep = tiledb.new_tiledb_current_domain_type_tp(); CurrentDomainType currentDomainType; try { - ctx.handleError(tiledb.tiledb_current_domain_get_type(getCurrentDomainp(), typep)); + ctx.handleError( + tiledb.tiledb_current_domain_get_type(ctx.getCtxp(), getCurrentDomainp(), typep)); currentDomainType = CurrentDomainType.fromSwigEnum(tiledb.tiledb_current_domain_type_tp_value(typep)); } finally { @@ -95,7 +96,8 @@ public NDRectangle getNDRectangle() throws TileDBError { NDRectangle nd; SWIGTYPE_p_p_tiledb_ndrectangle_t ndpp = tiledb.new_tiledb_ndrectangle_tpp(); try { - ctx.handleError(tiledb.tiledb_current_domain_get_ndrectangle(currentDomainp, ndpp)); + ctx.handleError( + tiledb.tiledb_current_domain_get_ndrectangle(ctx.getCtxp(), currentDomainp, ndpp)); nd = new NDRectangle(ctx, domain, ndpp); } catch (TileDBError err) { tiledb.delete_tiledb_ndrectangle_tpp(ndpp); @@ -114,7 +116,8 @@ public boolean isEmpty() throws TileDBError { boolean isEmpty; SWIGTYPE_p_unsigned_int retp = tiledb.new_uintp(); try { - ctx.handleError(tiledb.tiledb_current_domain_get_is_empty(currentDomainp, retp)); + ctx.handleError( + tiledb.tiledb_current_domain_get_is_empty(ctx.getCtxp(), currentDomainp, retp)); isEmpty = tiledb.uintp_value(retp) != 0; } finally { tiledb.delete_uintp(retp); diff --git a/src/main/java/io/tiledb/java/api/Dimension.java b/src/main/java/io/tiledb/java/api/Dimension.java index 76024cb0..93bb5d20 100644 --- a/src/main/java/io/tiledb/java/api/Dimension.java +++ b/src/main/java/io/tiledb/java/api/Dimension.java @@ -295,6 +295,23 @@ public String tileExtentToStr() throws TileDBError { return getTileExtent().toString(); } + /** @return A String representation for the Dimension. */ + @Override + public String toString() { + SWIGTYPE_p_p_tiledb_string_handle_t dump = tiledb.new_tiledb_string_handle_tpp(); + TileDBString ts = null; + + try { + ctx.handleError(tiledb.tiledb_dimension_dump_str(ctx.getCtxp(), dimensionp, dump)); + ts = new TileDBString(ctx, dump); + return ts.getView().getFirst(); + } catch (TileDBError error) { + return "Dump not available"; + } finally { + if (ts != null) ts.close(); + } + } + /** Free's native TileDB resources associated with the Dimension object */ public void close() { if (dimensionp != null) { diff --git a/src/main/java/io/tiledb/java/api/Domain.java b/src/main/java/io/tiledb/java/api/Domain.java index a7ba3f6f..a9cfc8b8 100644 --- a/src/main/java/io/tiledb/java/api/Domain.java +++ b/src/main/java/io/tiledb/java/api/Domain.java @@ -292,6 +292,23 @@ public void addDimensions(Collection dims) throws TileDBError { } } + /** @return A String representation for the Domain. */ + @Override + public String toString() { + SWIGTYPE_p_p_tiledb_string_handle_t dump = tiledb.new_tiledb_string_handle_tpp(); + TileDBString ts = null; + + try { + ctx.handleError(tiledb.tiledb_domain_dump_str(ctx.getCtxp(), domainp, dump)); + ts = new TileDBString(ctx, dump); + return ts.getView().getFirst(); + } catch (TileDBError error) { + return "Dump not available"; + } finally { + if (ts != null) ts.close(); + } + } + /** Free's native TileDB resources associated with the Domain object */ public void close() { if (domainp != null) { diff --git a/src/main/java/io/tiledb/java/api/Enumeration.java b/src/main/java/io/tiledb/java/api/Enumeration.java index d530650b..010f969d 100644 --- a/src/main/java/io/tiledb/java/api/Enumeration.java +++ b/src/main/java/io/tiledb/java/api/Enumeration.java @@ -231,6 +231,23 @@ public Object getOffsets() throws TileDBError { } } + /** @return A String representation for the Attribute. */ + @Override + public String toString() { + SWIGTYPE_p_p_tiledb_string_handle_t dump = tiledb.new_tiledb_string_handle_tpp(); + TileDBString ts = null; + + try { + ctx.handleError(tiledb.tiledb_enumeration_dump_str(ctx.getCtxp(), enumerationp, dump)); + ts = new TileDBString(ctx, dump); + return ts.getView().getFirst(); + } catch (TileDBError error) { + return "Dump not available"; + } finally { + if (ts != null) ts.close(); + } + } + /** Releases resources */ public void close() { if (enumerationp != null && enumerationpp != null) { diff --git a/src/main/java/io/tiledb/java/api/Group.java b/src/main/java/io/tiledb/java/api/Group.java index 94fb46fa..c8ecd431 100644 --- a/src/main/java/io/tiledb/java/api/Group.java +++ b/src/main/java/io/tiledb/java/api/Group.java @@ -224,18 +224,6 @@ public String getMemberByIndex(BigInteger index) throws TileDBError { } } - @Deprecated - /** - * Get the URI of a member of a group by name - * - * @param name the name of the member - * @return the URI of the member with the given name - * @throws TileDBError - */ - public String getMemberByNameV2(String name) throws TileDBError { - return getMemberByName(name); - } - /** * Get the URI of a member of a group by name * @@ -260,55 +248,6 @@ public String getMemberByName(String name) throws TileDBError { } } - @Deprecated - /** - * Get the URI of a member of a group by name - * - * @param name the name of the member - * @return the URI of the member with the given name - * @throws TileDBError - * @deprecated is replaced by getMemberByNameV2(String name); - */ - public String getMemberURIByName(String name) throws TileDBError { - SWIGTYPE_p_tiledb_object_t objtypep = tiledb.new_tiledb_object_tp(); - SWIGTYPE_p_p_char uripp = tiledb.new_charpp(); - - try { - ctx.handleError( - tiledb.tiledb_group_get_member_by_name( - ctx.getCtxp(), getGroupp(), name, uripp, objtypep)); - return tiledb.charpp_value(uripp); - } finally { - tiledb.delete_charpp(uripp); - tiledb.delete_tiledb_object_tp(objtypep); - } - } - - @Deprecated - /** - * Get the URI of a member of a group by index and details of group - * - * @param index the index of the member. - * @return the corresponding member in the group. - * @throws TileDBError - * @deprecated is replaced by getMemberByIndexV2(BigInteger index) - */ - public String getMemberURIByIndex(BigInteger index) throws TileDBError { - Util.checkBigIntegerRange(index); - SWIGTYPE_p_tiledb_object_t objtypep = tiledb.new_tiledb_object_tp(); - SWIGTYPE_p_p_char uripp = tiledb.new_charpp(); - - try { - ctx.handleError( - tiledb.tiledb_group_get_member_by_index( - ctx.getCtxp(), getGroupp(), index, uripp, objtypep, uripp)); - return tiledb.charpp_value(uripp); - } finally { - tiledb.delete_charpp(uripp); - tiledb.delete_tiledb_object_tp(objtypep); - } - } - /** * Add a member to a group. * diff --git a/src/main/java/io/tiledb/java/api/Query.java b/src/main/java/io/tiledb/java/api/Query.java index bb63259b..0f07757b 100644 --- a/src/main/java/io/tiledb/java/api/Query.java +++ b/src/main/java/io/tiledb/java/api/Query.java @@ -232,17 +232,6 @@ public synchronized Query setSubarray(SubArray subarray) throws TileDBError { return this; } - /** - * Sets a subarray, defined in the order dimensions were added. Coordinates are inclusive. - * - * @param subarray The targeted subarray. - * @exception TileDBError A TileDB exception - */ - public synchronized Query setSubarray(ByteBuffer subarray) throws TileDBError { - ctx.handleError(Utils.tiledb_query_set_subarray_nio(ctx.getCtxp(), queryp, subarray)); - return this; - } - /** * Sets the update value. * diff --git a/src/main/java/io/tiledb/libtiledb/PointerUtils.java b/src/main/java/io/tiledb/libtiledb/PointerUtils.java index 24a103fe..3ea22a30 100644 --- a/src/main/java/io/tiledb/libtiledb/PointerUtils.java +++ b/src/main/java/io/tiledb/libtiledb/PointerUtils.java @@ -95,7 +95,7 @@ public static int32_tArray int32_tArrayFromVoid(SWIGTYPE_p_void p) { } public static int64_tArray int64_tArrayFromVoid(SWIGTYPE_p_void p) { - return new int64_tArray(SWIGTYPE_p_void.getCPtr(p), true); + return new int64_tArray(SWIGTYPE_p_void.getCPtr(p), false); } public static charArray charArrayFromVoid(SWIGTYPE_p_void p) { diff --git a/src/main/java/io/tiledb/libtiledb/Utils.java b/src/main/java/io/tiledb/libtiledb/Utils.java index 216375d2..3950d877 100644 --- a/src/main/java/io/tiledb/libtiledb/Utils.java +++ b/src/main/java/io/tiledb/libtiledb/Utils.java @@ -172,12 +172,6 @@ public static int tiledb_object_walk( SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), ctx, path, order.swigValue(), callback); } - public static int tiledb_query_set_subarray_nio( - SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_tiledb_query_t query, ByteBuffer subarray) { - return tiledbJNI.tiledb_query_set_subarray_nio( - SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), SWIGTYPE_p_tiledb_query_t.getCPtr(query), subarray); - } - public static int tiledb_query_set_data_buffer_nio( SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_tiledb_query_t query, diff --git a/src/main/java/io/tiledb/libtiledb/tiledb.java b/src/main/java/io/tiledb/libtiledb/tiledb.java index c2749837..82485e80 100644 --- a/src/main/java/io/tiledb/libtiledb/tiledb.java +++ b/src/main/java/io/tiledb/libtiledb/tiledb.java @@ -2254,6 +2254,16 @@ public static int tiledb_attribute_dump( SWIGTYPE_p_FILE.getCPtr(out)); } + public static int tiledb_attribute_dump_str( + SWIGTYPE_p_tiledb_ctx_t ctx, + SWIGTYPE_p_tiledb_attribute_t attr, + SWIGTYPE_p_p_tiledb_string_handle_t out) { + return tiledbJNI.tiledb_attribute_dump_str( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), + SWIGTYPE_p_tiledb_attribute_t.getCPtr(attr), + SWIGTYPE_p_p_tiledb_string_handle_t.getCPtr(out)); + } + public static int tiledb_attribute_set_fill_value( SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_tiledb_attribute_t attr, @@ -2552,6 +2562,16 @@ public static int tiledb_dimension_dump( SWIGTYPE_p_FILE.getCPtr(out)); } + public static int tiledb_dimension_dump_str( + SWIGTYPE_p_tiledb_ctx_t ctx, + SWIGTYPE_p_tiledb_dimension_t dimension, + SWIGTYPE_p_p_tiledb_string_handle_t out) { + return tiledbJNI.tiledb_dimension_dump_str( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), + SWIGTYPE_p_tiledb_dimension_t.getCPtr(dimension), + SWIGTYPE_p_p_tiledb_string_handle_t.getCPtr(out)); + } + public static int tiledb_domain_alloc( SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_p_tiledb_domain_t domain) { return tiledbJNI.tiledb_domain_alloc( @@ -2636,6 +2656,16 @@ public static int tiledb_domain_dump( SWIGTYPE_p_FILE.getCPtr(out)); } + public static int tiledb_domain_dump_str( + SWIGTYPE_p_tiledb_ctx_t ctx, + SWIGTYPE_p_tiledb_domain_t domain, + SWIGTYPE_p_p_tiledb_string_handle_t out) { + return tiledbJNI.tiledb_domain_dump_str( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), + SWIGTYPE_p_tiledb_domain_t.getCPtr(domain), + SWIGTYPE_p_p_tiledb_string_handle_t.getCPtr(out)); + } + public static capi_return_t tiledb_object_type_to_str( tiledb_object_t object_type, SWIGTYPE_p_p_char str) { return new capi_return_t( @@ -2890,24 +2920,6 @@ public static capi_return_t tiledb_group_get_member_count( true); } - public static capi_return_t tiledb_group_get_member_by_index( - SWIGTYPE_p_tiledb_ctx_t ctx, - SWIGTYPE_p_tiledb_group_handle_t group, - java.math.BigInteger index, - SWIGTYPE_p_p_char uri, - SWIGTYPE_p_tiledb_object_t type, - SWIGTYPE_p_p_char name) { - return new capi_return_t( - tiledbJNI.tiledb_group_get_member_by_index( - SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), - SWIGTYPE_p_tiledb_group_handle_t.getCPtr(group), - index, - SWIGTYPE_p_p_char.getCPtr(uri), - SWIGTYPE_p_tiledb_object_t.getCPtr(type), - SWIGTYPE_p_p_char.getCPtr(name)), - true); - } - public static capi_return_t tiledb_group_get_member_by_index_v2( SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_tiledb_group_handle_t group, @@ -2926,22 +2938,6 @@ public static capi_return_t tiledb_group_get_member_by_index_v2( true); } - public static capi_return_t tiledb_group_get_member_by_name( - SWIGTYPE_p_tiledb_ctx_t ctx, - SWIGTYPE_p_tiledb_group_handle_t group, - String name, - SWIGTYPE_p_p_char uri, - SWIGTYPE_p_tiledb_object_t type) { - return new capi_return_t( - tiledbJNI.tiledb_group_get_member_by_name( - SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), - SWIGTYPE_p_tiledb_group_handle_t.getCPtr(group), - name, - SWIGTYPE_p_p_char.getCPtr(uri), - SWIGTYPE_p_tiledb_object_t.getCPtr(type)), - true); - } - public static capi_return_t tiledb_group_get_member_by_name_v2( SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_tiledb_group_handle_t group, @@ -3705,14 +3701,14 @@ public static int tiledb_array_schema_has_attribute( SWIGTYPE_p_int.getCPtr(has_attr)); } - public static int tiledb_array_schema_dump( + public static int tiledb_array_schema_dump_str( SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_tiledb_array_schema_t array_schema, - SWIGTYPE_p_FILE out) { - return tiledbJNI.tiledb_array_schema_dump( + SWIGTYPE_p_p_tiledb_string_handle_t out) { + return tiledbJNI.tiledb_array_schema_dump_str( SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), SWIGTYPE_p_tiledb_array_schema_t.getCPtr(array_schema), - SWIGTYPE_p_FILE.getCPtr(out)); + SWIGTYPE_p_p_tiledb_string_handle_t.getCPtr(out)); } public static int tiledb_query_alloc( @@ -5235,30 +5231,14 @@ public static int tiledb_fragment_info_dump( SWIGTYPE_p_FILE.getCPtr(out)); } - public static int tiledb_array_delete_fragments( - SWIGTYPE_p_tiledb_ctx_t ctx, - SWIGTYPE_p_tiledb_array_t array, - String uri, - java.math.BigInteger timestamp_start, - java.math.BigInteger timestamp_end) { - return tiledbJNI.tiledb_array_delete_fragments( - SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), - SWIGTYPE_p_tiledb_array_t.getCPtr(array), - uri, - timestamp_start, - timestamp_end); - } - - public static int tiledb_fragment_info_get_fragment_name( + public static int tiledb_array_schema_dump( SWIGTYPE_p_tiledb_ctx_t ctx, - SWIGTYPE_p_tiledb_fragment_info_t fragment_info, - long fid, - SWIGTYPE_p_p_char name) { - return tiledbJNI.tiledb_fragment_info_get_fragment_name( + SWIGTYPE_p_tiledb_array_schema_t array_schema, + SWIGTYPE_p_FILE out) { + return tiledbJNI.tiledb_array_schema_dump( SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), - SWIGTYPE_p_tiledb_fragment_info_t.getCPtr(fragment_info), - fid, - SWIGTYPE_p_p_char.getCPtr(name)); + SWIGTYPE_p_tiledb_array_schema_t.getCPtr(array_schema), + SWIGTYPE_p_FILE.getCPtr(out)); } public static capi_return_t tiledb_attribute_set_enumeration_name( @@ -5360,6 +5340,46 @@ public static capi_return_t tiledb_ndrectangle_set_range( true); } + public static capi_return_t tiledb_ndrectangle_get_dtype( + SWIGTYPE_p_tiledb_ctx_t ctx, + SWIGTYPE_p_tiledb_ndrectangle_t ndr, + long idx, + SWIGTYPE_p_tiledb_datatype_t type) { + return new capi_return_t( + tiledbJNI.tiledb_ndrectangle_get_dtype( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), + SWIGTYPE_p_tiledb_ndrectangle_t.getCPtr(ndr), + idx, + SWIGTYPE_p_tiledb_datatype_t.getCPtr(type)), + true); + } + + public static capi_return_t tiledb_ndrectangle_get_dtype_from_name( + SWIGTYPE_p_tiledb_ctx_t ctx, + SWIGTYPE_p_tiledb_ndrectangle_t ndr, + String name, + SWIGTYPE_p_tiledb_datatype_t type) { + return new capi_return_t( + tiledbJNI.tiledb_ndrectangle_get_dtype_from_name( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), + SWIGTYPE_p_tiledb_ndrectangle_t.getCPtr(ndr), + name, + SWIGTYPE_p_tiledb_datatype_t.getCPtr(type)), + true); + } + + public static capi_return_t tiledb_ndrectangle_get_dim_num( + SWIGTYPE_p_tiledb_ctx_t ctx, + SWIGTYPE_p_tiledb_ndrectangle_t ndr, + SWIGTYPE_p_unsigned_int ndim) { + return new capi_return_t( + tiledbJNI.tiledb_ndrectangle_get_dim_num( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), + SWIGTYPE_p_tiledb_ndrectangle_t.getCPtr(ndr), + SWIGTYPE_p_unsigned_int.getCPtr(ndim)), + true); + } + public static capi_return_t tiledb_current_domain_create( SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_p_tiledb_current_domain_t current_domain) { return new capi_return_t( @@ -5378,37 +5398,48 @@ public static capi_return_t tiledb_current_domain_free( } public static capi_return_t tiledb_current_domain_set_ndrectangle( - SWIGTYPE_p_tiledb_current_domain_t current_domain, SWIGTYPE_p_tiledb_ndrectangle_t ndr) { + SWIGTYPE_p_tiledb_ctx_t ctx, + SWIGTYPE_p_tiledb_current_domain_t current_domain, + SWIGTYPE_p_tiledb_ndrectangle_t ndr) { return new capi_return_t( tiledbJNI.tiledb_current_domain_set_ndrectangle( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), SWIGTYPE_p_tiledb_current_domain_t.getCPtr(current_domain), SWIGTYPE_p_tiledb_ndrectangle_t.getCPtr(ndr)), true); } public static capi_return_t tiledb_current_domain_get_ndrectangle( - SWIGTYPE_p_tiledb_current_domain_t current_domain, SWIGTYPE_p_p_tiledb_ndrectangle_t ndr) { + SWIGTYPE_p_tiledb_ctx_t ctx, + SWIGTYPE_p_tiledb_current_domain_t current_domain, + SWIGTYPE_p_p_tiledb_ndrectangle_t ndr) { return new capi_return_t( tiledbJNI.tiledb_current_domain_get_ndrectangle( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), SWIGTYPE_p_tiledb_current_domain_t.getCPtr(current_domain), SWIGTYPE_p_p_tiledb_ndrectangle_t.getCPtr(ndr)), true); } public static capi_return_t tiledb_current_domain_get_is_empty( - SWIGTYPE_p_tiledb_current_domain_t current_domain, SWIGTYPE_p_unsigned_int is_empty) { + SWIGTYPE_p_tiledb_ctx_t ctx, + SWIGTYPE_p_tiledb_current_domain_t current_domain, + SWIGTYPE_p_unsigned_int is_empty) { return new capi_return_t( tiledbJNI.tiledb_current_domain_get_is_empty( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), SWIGTYPE_p_tiledb_current_domain_t.getCPtr(current_domain), SWIGTYPE_p_unsigned_int.getCPtr(is_empty)), true); } public static capi_return_t tiledb_current_domain_get_type( + SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_tiledb_current_domain_t current_domain, SWIGTYPE_p_tiledb_current_domain_type_t type) { return new capi_return_t( tiledbJNI.tiledb_current_domain_get_type( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), SWIGTYPE_p_tiledb_current_domain_t.getCPtr(current_domain), SWIGTYPE_p_tiledb_current_domain_type_t.getCPtr(type)), true); @@ -5552,6 +5583,16 @@ public static capi_return_t tiledb_enumeration_dump( true); } + public static int tiledb_enumeration_dump_str( + SWIGTYPE_p_tiledb_ctx_t ctx, + SWIGTYPE_p_tiledb_enumeration_t enumeration, + SWIGTYPE_p_p_tiledb_string_handle_t out) { + return tiledbJNI.tiledb_enumeration_dump_str( + SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), + SWIGTYPE_p_tiledb_enumeration_t.getCPtr(enumeration), + SWIGTYPE_p_p_tiledb_string_handle_t.getCPtr(out)); + } + public static int tiledb_channel_operator_sum_get( SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_p_tiledb_channel_operator_t op) { return tiledbJNI.tiledb_channel_operator_sum_get( diff --git a/src/main/java/io/tiledb/libtiledb/tiledbConstants.java b/src/main/java/io/tiledb/libtiledb/tiledbConstants.java index 81e4dffb..318cbb6c 100644 --- a/src/main/java/io/tiledb/libtiledb/tiledbConstants.java +++ b/src/main/java/io/tiledb/libtiledb/tiledbConstants.java @@ -16,6 +16,6 @@ public interface tiledbConstants { 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 = 25; + public static final int TILEDB_VERSION_MINOR = 26; 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 4fd4e5cc..e44be755 100644 --- a/src/main/java/io/tiledb/libtiledb/tiledbJNI.java +++ b/src/main/java/io/tiledb/libtiledb/tiledbJNI.java @@ -24,9 +24,6 @@ public class tiledbJNI { } } - public static final native int tiledb_query_set_subarray_nio( - long jarg1, long jarg2, ByteBuffer jarg3); - public static final native int tiledb_query_set_data_buffer_nio( long jarg1, long jarg2, String jarg3, ByteBuffer jarg4, long jarg5); @@ -988,6 +985,8 @@ public static final native int tiledb_attribute_get_cell_val_num( public static final native int tiledb_attribute_dump(long jarg1, long jarg2, long jarg3); + public static final native int tiledb_attribute_dump_str(long jarg1, long jarg2, long jarg3); + public static final native int tiledb_attribute_set_fill_value( long jarg1, long jarg2, long jarg3, java.math.BigInteger jarg4); @@ -1061,6 +1060,8 @@ public static final native int tiledb_dimension_get_tile_extent( public static final native int tiledb_dimension_dump(long jarg1, long jarg2, long jarg3); + public static final native int tiledb_dimension_dump_str(long jarg1, long jarg2, long jarg3); + public static final native int tiledb_domain_alloc(long jarg1, long jarg2); public static final native void tiledb_domain_free(long jarg1); @@ -1082,6 +1083,8 @@ public static final native int tiledb_domain_has_dimension( public static final native int tiledb_domain_dump(long jarg1, long jarg2, long jarg3); + public static final native int tiledb_domain_dump_str(long jarg1, long jarg2, long jarg3); + public static final native long tiledb_object_type_to_str(int jarg1, long jarg2); public static final native long tiledb_object_type_from_str(String jarg1, long jarg2); @@ -1142,15 +1145,9 @@ public static final native long tiledb_group_add_member( public static final native long tiledb_group_get_member_count(long jarg1, long jarg2, long jarg3); - public static final native long tiledb_group_get_member_by_index( - long jarg1, long jarg2, java.math.BigInteger jarg3, long jarg4, long jarg5, long jarg6); - public static final native long tiledb_group_get_member_by_index_v2( long jarg1, long jarg2, java.math.BigInteger jarg3, long jarg4, long jarg5, long jarg6); - public static final native long tiledb_group_get_member_by_name( - long jarg1, long jarg2, String jarg3, long jarg4, long jarg5); - public static final native long tiledb_group_get_member_by_name_v2( long jarg1, long jarg2, String jarg3, long jarg4, long jarg5); @@ -1349,7 +1346,7 @@ public static final native int tiledb_array_schema_get_attribute_from_name( public static final native int tiledb_array_schema_has_attribute( long jarg1, long jarg2, String jarg3, long jarg4); - public static final native int tiledb_array_schema_dump(long jarg1, long jarg2, long jarg3); + public static final native int tiledb_array_schema_dump_str(long jarg1, long jarg2, long jarg3); public static final native int tiledb_query_alloc(long jarg1, long jarg2, int jarg3, long jarg4); @@ -1736,11 +1733,7 @@ public static final native int tiledb_fragment_info_get_array_schema_name( public static final native int tiledb_fragment_info_dump(long jarg1, long jarg2, long jarg3); - public static final native int tiledb_array_delete_fragments( - long jarg1, long jarg2, String jarg3, java.math.BigInteger jarg4, java.math.BigInteger jarg5); - - public static final native int tiledb_fragment_info_get_fragment_name( - long jarg1, long jarg2, long jarg3, long jarg4); + public static final native int tiledb_array_schema_dump(long jarg1, long jarg2, long jarg3); public static final native long tiledb_attribute_set_enumeration_name( long jarg1, long jarg2, String jarg3); @@ -1790,17 +1783,30 @@ public static final native long tiledb_ndrectangle_set_range_for_name( public static final native long tiledb_ndrectangle_set_range( long jarg1, long jarg2, long jarg3, long jarg4, tiledb_range_t jarg4_); + public static final native long tiledb_ndrectangle_get_dtype( + long jarg1, long jarg2, long jarg3, long jarg4); + + public static final native long tiledb_ndrectangle_get_dtype_from_name( + long jarg1, long jarg2, String jarg3, long jarg4); + + public static final native long tiledb_ndrectangle_get_dim_num( + long jarg1, long jarg2, long jarg3); + public static final native long tiledb_current_domain_create(long jarg1, long jarg2); public static final native long tiledb_current_domain_free(long jarg1); - public static final native long tiledb_current_domain_set_ndrectangle(long jarg1, long jarg2); + public static final native long tiledb_current_domain_set_ndrectangle( + long jarg1, long jarg2, long jarg3); - public static final native long tiledb_current_domain_get_ndrectangle(long jarg1, long jarg2); + public static final native long tiledb_current_domain_get_ndrectangle( + long jarg1, long jarg2, long jarg3); - public static final native long tiledb_current_domain_get_is_empty(long jarg1, long jarg2); + public static final native long tiledb_current_domain_get_is_empty( + long jarg1, long jarg2, long jarg3); - public static final native long tiledb_current_domain_get_type(long jarg1, long jarg2); + public static final native long tiledb_current_domain_get_type( + long jarg1, long jarg2, long jarg3); public static final native long tiledb_enumeration_alloc( long jarg1, @@ -1843,6 +1849,8 @@ public static final native long tiledb_enumeration_get_offsets( public static final native long tiledb_enumeration_dump(long jarg1, long jarg2, long jarg3); + public static final native int tiledb_enumeration_dump_str(long jarg1, long jarg2, long jarg3); + public static final native int tiledb_channel_operator_sum_get(long jarg1, long jarg2); public static final native int tiledb_channel_operator_min_get(long jarg1, long jarg2); diff --git a/src/main/java/io/tiledb/libtiledb/tiledb_range_t.java b/src/main/java/io/tiledb/libtiledb/tiledb_range_t.java index ed940bfb..48c74cbc 100644 --- a/src/main/java/io/tiledb/libtiledb/tiledb_range_t.java +++ b/src/main/java/io/tiledb/libtiledb/tiledb_range_t.java @@ -12,7 +12,7 @@ public class tiledb_range_t { private transient long swigCPtr; protected transient boolean swigCMemOwn; - public tiledb_range_t(long cPtr, boolean cMemoryOwn) { // todo + protected tiledb_range_t(long cPtr, boolean cMemoryOwn) { swigCMemOwn = cMemoryOwn; swigCPtr = cPtr; } diff --git a/src/test/java/io/tiledb/java/api/AttributeTest.java b/src/test/java/io/tiledb/java/api/AttributeTest.java index cf7053f3..c846d236 100644 --- a/src/test/java/io/tiledb/java/api/AttributeTest.java +++ b/src/test/java/io/tiledb/java/api/AttributeTest.java @@ -49,6 +49,7 @@ public void testAttribute() throws Exception { Assert.assertEquals(((GzipFilter) filter).getLevel(), 1L); } } + System.out.println(a); } } diff --git a/src/test/java/io/tiledb/java/api/QueryTest.java b/src/test/java/io/tiledb/java/api/QueryTest.java index c5c79903..d65ba6c2 100644 --- a/src/test/java/io/tiledb/java/api/QueryTest.java +++ b/src/test/java/io/tiledb/java/api/QueryTest.java @@ -455,11 +455,11 @@ public void queryTestNIOReadArraySubArray() throws Exception { ByteBuffer d1 = query.getByteBuffer("rows").getSecond(); ByteBuffer d2 = query.getByteBuffer("cols").getSecond(); - ByteBuffer subarray = ByteBuffer.allocateDirect(4 * Datatype.TILEDB_INT32.getNativeSize()); - - subarray.order(ByteOrder.nativeOrder()).putInt(1).putInt(4).putInt(1).putInt(4); + SubArray subArray = new SubArray(ctx, array); + subArray.addRange(0, (int) 1, (int) 4, null); + subArray.addRange(1, (int) 1, (int) 4, null); - query.setSubarray(subarray); + query.setSubarray(subArray); query.setLayout(TILEDB_ROW_MAJOR); @@ -483,6 +483,8 @@ public void queryTestNIOReadArraySubArray() throws Exception { new int[] {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4}, d1_result); Assert.assertArrayEquals( new int[] {1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4}, d2_result); + + subArray.close(); } @Test @@ -500,9 +502,10 @@ public void queryTestNIOReadArrayArbitrarySize() throws Exception { ByteBuffer d1 = query.getByteBuffer("rows").getSecond(); ByteBuffer d2 = query.getByteBuffer("cols").getSecond(); - ByteBuffer subarray = ByteBuffer.allocateDirect(4 * Datatype.TILEDB_INT32.getNativeSize()); - subarray.order(ByteOrder.nativeOrder()).putInt(1).putInt(4).putInt(1).putInt(4); - query.setSubarray(subarray); + SubArray subArray = new SubArray(ctx, array); + subArray.addRange(0, (int) 1, (int) 4, null); + subArray.addRange(1, (int) 1, (int) 4, null); + query.setSubarray(subArray); query.setLayout(TILEDB_ROW_MAJOR); @@ -526,6 +529,8 @@ public void queryTestNIOReadArrayArbitrarySize() throws Exception { new int[] {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4}, d1_result); Assert.assertArrayEquals( new int[] {1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4}, d2_result); + + subArray.close(); } @Test @@ -537,9 +542,10 @@ public void arrayReadTest() throws Exception { try (Array array = new Array(ctx, arrayURI, TILEDB_READ); Query query = new Query(array, TILEDB_READ)) { - ByteBuffer subarray = ByteBuffer.allocateDirect(4 * Datatype.TILEDB_INT32.getNativeSize()); - subarray.order(ByteOrder.nativeOrder()).putInt(1).putInt(2).putInt(2).putInt(4); - query.setSubarray(subarray); + SubArray subArray = new SubArray(ctx, array); + subArray.addRange(0, (int) 1, (int) 2, null); + subArray.addRange(1, (int) 2, (int) 4, null); + query.setSubarray(subArray); query.setLayout(TILEDB_ROW_MAJOR); query @@ -585,6 +591,8 @@ public void arrayReadTest() throws Exception { Assert.assertArrayEquals(new int[] {2, 3, 4}, dim2); Assert.assertArrayEquals(new byte[] {'b', 'c', 'd'}, a1); Assert.assertArrayEquals(new float[] {1.1f, 1.2f, 2.1f, 2.2f, 3.1f, 3.2f}, a2, 0.01f); + + subArray.close(); } } @@ -597,9 +605,10 @@ public void arrayReadTestCustomBufferWithDifferentOrder() throws Exception { try (Array array = new Array(ctx, arrayURI, TILEDB_READ); Query query = new Query(array, TILEDB_READ)) { - ByteBuffer subarray = ByteBuffer.allocateDirect(4 * Datatype.TILEDB_INT32.getNativeSize()); - subarray.order(ByteOrder.nativeOrder()).putInt(1).putInt(2).putInt(2).putInt(4); - query.setSubarray(subarray); + SubArray subArray = new SubArray(ctx, array); + subArray.addRange(0, (int) 1, (int) 2, null); + subArray.addRange(1, (int) 2, (int) 4, null); + query.setSubarray(subArray); query.setLayout(TILEDB_ROW_MAJOR); // Set the opposite byte order from the native system @@ -609,6 +618,7 @@ public void arrayReadTestCustomBufferWithDifferentOrder() throws Exception { : ByteOrder.BIG_ENDIAN; query.setDataBuffer("rows", ByteBuffer.allocateDirect(3 * 4).order(order)); + subArray.close(); } } @@ -669,10 +679,11 @@ public void queryTestNIOSetBufferVarChar() throws Exception { offsetsBuffer.order(ByteOrder.nativeOrder()); dataBuffer.order(ByteOrder.nativeOrder()); - Query q = new Query(new Array(ctx, arrayURI), TILEDB_READ); - ByteBuffer subarray = ByteBuffer.allocateDirect(4 * Datatype.TILEDB_INT32.getNativeSize()); - subarray.order(ByteOrder.nativeOrder()).putInt(1).putInt(8); - q.setSubarray(subarray); + Array array = new Array(ctx, arrayURI, TILEDB_READ); + Query q = new Query(array, TILEDB_READ); + SubArray subArray = new SubArray(ctx, array); + subArray.addRange(0, (int) 1, (int) 8, null); + q.setSubarray(subArray); q.setDataBuffer("a1", dataBuffer); q.setOffsetsBuffer("a1", offsetsBuffer); q.submit(); @@ -691,6 +702,9 @@ public void queryTestNIOSetBufferVarChar() throws Exception { Assert.assertArrayEquals(new long[] {0, 2, 4, 6, 8, 10, 12, 14}, offsets); Assert.assertEquals("aabbccddeeffgghh", new String(data)); + + array.close(); + subArray.close(); } @Test() @@ -706,12 +720,12 @@ public void queryTestNIOGetBufferDataType1() throws Exception { cols.order(ByteOrder.nativeOrder()); a2.order(ByteOrder.nativeOrder()); - Query q = new Query(new Array(ctx, arrayURI), TILEDB_READ); - ByteBuffer subarray = ByteBuffer.allocateDirect(4 * Datatype.TILEDB_INT32.getNativeSize()); - - subarray.order(ByteOrder.nativeOrder()).putInt(1).putInt(4).putInt(1).putInt(4); - - q.setSubarray(subarray); + Array array = new Array(ctx, arrayURI, TILEDB_READ); + Query q = new Query(array, TILEDB_READ); + SubArray subArray = new SubArray(ctx, array); + subArray.addRange(0, (int) 1, (int) 4, null); + subArray.addRange(1, (int) 1, (int) 4, null); + q.setSubarray(subArray); q.setDataBuffer("rows", rows); q.setDataBuffer("cols", cols); @@ -746,6 +760,8 @@ public void queryTestNIOGetBufferDataType1() throws Exception { while (r.hasRemaining()) { Assert.assertEquals(a2Expected[idx++], r.get(), 0); } + array.close(); + subArray.close(); } @Test() @@ -757,12 +773,12 @@ public void queryTestNIOGetBufferDataType2() throws Exception { a1.order(ByteOrder.nativeOrder()); - Query q = new Query(new Array(ctx, arrayURI), TILEDB_READ); - ByteBuffer subarray = ByteBuffer.allocateDirect(4 * Datatype.TILEDB_INT32.getNativeSize()); - - subarray.order(ByteOrder.nativeOrder()).putInt(1).putInt(4).putInt(1).putInt(4); - - q.setSubarray(subarray); + Array array = new Array(ctx, arrayURI, TILEDB_READ); + Query q = new Query(array, TILEDB_READ); + SubArray subArray = new SubArray(ctx, array); + subArray.addRange(0, (int) 1, (int) 4, null); + subArray.addRange(1, (int) 1, (int) 4, null); + q.setSubarray(subArray); q.setDataBuffer("a1", a1); q.submit(); @@ -774,6 +790,9 @@ public void queryTestNIOGetBufferDataType2() throws Exception { Assert.assertEquals(c, charBuffer.get()); c++; } + + array.close(); + subArray.close(); } @Test() @@ -789,12 +808,11 @@ public void queryTestNIOGetBufferDataType3() throws Exception { a1.order(ByteOrder.nativeOrder()); a1Off.order(ByteOrder.nativeOrder()); - Query q = new Query(new Array(ctx, arrayURI), TILEDB_READ); - ByteBuffer subarray = ByteBuffer.allocateDirect(4 * Datatype.TILEDB_INT32.getNativeSize()); - - subarray.order(ByteOrder.nativeOrder()).putInt(1).putInt(8); - - q.setSubarray(subarray); + Array array = new Array(ctx, arrayURI, TILEDB_READ); + Query q = new Query(array, TILEDB_READ); + SubArray subArray = new SubArray(ctx, array); + subArray.addRange(0, (int) 1, (int) 8, null); + q.setSubarray(subArray); q.setDataBuffer("rows", rows); q.setDataBuffer("a1", a1); @@ -817,6 +835,9 @@ public void queryTestNIOGetBufferDataType3() throws Exception { for (String str : Util.bytesToStrings(q.getOffsetArray("a1"), q.getByteArray("a1"))) { System.out.println(str); } + + array.close(); + subArray.close(); } } diff --git a/src/test/java/io/tiledb/java/api/VersionTest.java b/src/test/java/io/tiledb/java/api/VersionTest.java index 76101556..0c7b2d7d 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() == 25); + Assert.assertTrue(version.getMinor() == 26); Assert.assertTrue(version.getRevision() == 0); } } diff --git a/swig/customCode/Utils.java b/swig/customCode/Utils.java index 216375d2..3950d877 100644 --- a/swig/customCode/Utils.java +++ b/swig/customCode/Utils.java @@ -172,12 +172,6 @@ public static int tiledb_object_walk( SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), ctx, path, order.swigValue(), callback); } - public static int tiledb_query_set_subarray_nio( - SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_tiledb_query_t query, ByteBuffer subarray) { - return tiledbJNI.tiledb_query_set_subarray_nio( - SWIGTYPE_p_tiledb_ctx_t.getCPtr(ctx), SWIGTYPE_p_tiledb_query_t.getCPtr(query), subarray); - } - public static int tiledb_query_set_data_buffer_nio( SWIGTYPE_p_tiledb_ctx_t ctx, SWIGTYPE_p_tiledb_query_t query, diff --git a/swig/tiledb.i b/swig/tiledb.i index 5194b833..6c6b5dd4 100644 --- a/swig/tiledb.i +++ b/swig/tiledb.i @@ -17,7 +17,6 @@ import java.nio.ByteBuffer; } } - public final static native int tiledb_query_set_subarray_nio(long jarg1, long jarg2, ByteBuffer jarg3); public final static native int tiledb_query_set_data_buffer_nio(long jarg1, long jarg2, String jarg3, ByteBuffer jarg4, long jarg5); public final static native int tiledb_query_set_offsets_buffer_nio(long jarg1, long jarg2, String jarg3, ByteBuffer jarg4, long jarg5); public final static native int tiledb_query_set_validity_buffer_nio(long jarg1, long jarg2, String jarg3, ByteBuffer jarg4, long jarg5); @@ -32,6 +31,7 @@ import java.nio.ByteBuffer; // Any typedef struct for a handle derivative must be defined here typedef struct tiledb_ctx_t tiledb_ctx_t; typedef struct tiledb_filter_t tiledb_filter_t; +typedef struct tiledb_array_schema_t tiledb_array_schema_t; typedef struct tiledb_config_t tiledb_config_t; typedef struct tiledb_dimension_t tiledb_dimension_t; typedef struct tiledb_domain_t tiledb_domain_t;