Skip to main content

Crate datafusion_ffi

Crate datafusion_ffi 

Source

Modules§

arrow_wrappers
catalog_provider
catalog_provider_list
config
execution
execution_plan
expr
ffi_option
FFI-safe Option and Result types that do not require IStable bounds.
insert_op
physical_expr
physical_optimizer
plan_properties
proto
record_batch_stream
schema_provider
session
statistics
Helpers for moving Statistics across the FFI boundary as prost-encoded datafusion_proto_common::Statistics bytes.
table_provider
table_provider_factory
table_source
testsintegration-tests
udaf
udf
udtf
udwf
util
volatility

Macros§

df_result
This macro is a helpful conversion utility to convert from an FFI_Result to a DataFusion result.
sresult
This macro is a helpful conversion utility to convert from a DataFusion Result to an FFI_Result.
sresult_return
This macro is a helpful conversion utility to convert from a DataFusion Result to an FFI_Result and to also call return when it is an error. Since you cannot use ? on an FFI_Result, this is designed to mimic the pattern.

Functions§

get_library_marker_id
This utility is used to determine if two FFI structs are within the same library. It is possible that the interplay between foreign and local functions calls create one FFI struct that references another. It is helpful to determine if a foreign struct in the same library or called from a different one. If we are in the same library, then we can access the underlying types directly.
version
Returns the major version of the FFI implementation. If the API evolves, we use the major version to identify compatibility over the unsafe boundary. This call is intended to be used by implementers to validate they have compatible libraries.