@@ -353,6 +353,33 @@ jobject MakeNativeSchemaResult(JNIEnv* env, struct ArrowSchema* schema) {
353353 static_cast <jlong>(reinterpret_cast <uintptr_t >(schema)));
354354}
355355
356+ JNIEXPORT void JNICALL
357+ Java_org_apache_arrow_adbc_driver_jni_impl_NativeAdbc_statementCancel (
358+ JNIEnv* env, [[maybe_unused]] jclass self, jlong handle) {
359+ struct AdbcError error = ADBC_ERROR_INIT;
360+ auto * ptr = reinterpret_cast <struct AdbcStatement *>(static_cast <uintptr_t >(handle));
361+ try {
362+ CHECK_ADBC_ERROR (AdbcStatementCancel (ptr, &error), error);
363+ } catch (const AdbcException& e) {
364+ e.ThrowJavaException (env);
365+ }
366+ }
367+
368+ JNIEXPORT jobject JNICALL
369+ Java_org_apache_arrow_adbc_driver_jni_impl_NativeAdbc_statementGetParameterSchema (
370+ JNIEnv* env, [[maybe_unused]] jclass self, jlong handle) {
371+ struct AdbcError error = ADBC_ERROR_INIT;
372+ auto * ptr = reinterpret_cast <struct AdbcStatement *>(static_cast <uintptr_t >(handle));
373+ struct ArrowSchema schema = {};
374+ try {
375+ CHECK_ADBC_ERROR (AdbcStatementGetParameterSchema (ptr, &schema, &error), error);
376+ return MakeNativeSchemaResult (env, &schema);
377+ } catch (const AdbcException& e) {
378+ e.ThrowJavaException (env);
379+ }
380+ return nullptr ;
381+ }
382+
356383JNIEXPORT jobject JNICALL
357384Java_org_apache_arrow_adbc_driver_jni_impl_NativeAdbc_statementExecuteQuery (
358385 JNIEnv* env, [[maybe_unused]] jclass self, jlong handle) {
@@ -621,6 +648,18 @@ Java_org_apache_arrow_adbc_driver_jni_impl_NativeAdbc_statementSetOptionString(
621648 }
622649}
623650
651+ JNIEXPORT void JNICALL
652+ Java_org_apache_arrow_adbc_driver_jni_impl_NativeAdbc_connectionCancel (
653+ JNIEnv* env, [[maybe_unused]] jclass self, jlong handle) {
654+ struct AdbcError error = ADBC_ERROR_INIT;
655+ auto * ptr = reinterpret_cast <struct AdbcConnection *>(static_cast <uintptr_t >(handle));
656+ try {
657+ CHECK_ADBC_ERROR (AdbcConnectionCancel (ptr, &error), error);
658+ } catch (const AdbcException& e) {
659+ e.ThrowJavaException (env);
660+ }
661+ }
662+
624663JNIEXPORT jobject JNICALL
625664Java_org_apache_arrow_adbc_driver_jni_impl_NativeAdbc_connectionGetObjects (
626665 JNIEnv* env, [[maybe_unused]] jclass self, jlong handle, jint depth, jstring catalog,
0 commit comments