diff --git a/ffi/src/engine_data.rs b/ffi/src/engine_data.rs index dc616d310..0010bf7de 100644 --- a/ffi/src/engine_data.rs +++ b/ffi/src/engine_data.rs @@ -14,6 +14,8 @@ use delta_kernel::DeltaResult; use delta_kernel::EngineData; use std::ffi::c_void; +#[cfg(feature = "default-engine-base")] +use crate::error::AllocateErrorFn; use crate::ExclusiveEngineData; #[cfg(feature = "default-engine-base")] use crate::{ExternResult, IntoExternResult, SharedExternEngine}; @@ -113,9 +115,9 @@ fn get_raw_arrow_data_impl(data: Box) -> DeltaResult<*mut ArrowF pub unsafe extern "C" fn get_engine_data( array: FFI_ArrowArray, schema: &FFI_ArrowSchema, - engine: Handle, + allocate_error: AllocateErrorFn, ) -> ExternResult> { - get_engine_data_impl(array, schema).into_extern_result(&engine.as_ref()) + get_engine_data_impl(array, schema).into_extern_result(&allocate_error) } #[cfg(feature = "default-engine-base")] diff --git a/ffi/src/transaction/mod.rs b/ffi/src/transaction/mod.rs index bb6b2e17b..8bb3681b0 100644 --- a/ffi/src/transaction/mod.rs +++ b/ffi/src/transaction/mod.rs @@ -314,7 +314,11 @@ mod tests { let file_info = write_parquet_file(table_path_str, "my_file.parquet", &batch)?; let file_info_engine_data = ok_or_panic(unsafe { - get_engine_data(file_info.array, &file_info.schema, engine.shallow_copy()) + get_engine_data( + file_info.array, + &file_info.schema, + crate::ffi_test_utils::allocate_err, + ) }); unsafe { add_files(txn_with_engine_info.shallow_copy(), file_info_engine_data) };