#[repr(C)]pub struct ForeignLibraryModule {Show 17 fields
pub create_catalog: extern "C" fn(codec: FFI_LogicalExtensionCodec) -> FFI_CatalogProvider,
pub create_catalog_list: extern "C" fn(codec: FFI_LogicalExtensionCodec) -> FFI_CatalogProviderList,
pub create_table: extern "C" fn(synchronous: bool, codec: FFI_LogicalExtensionCodec) -> FFI_TableProvider,
pub create_table_factory: extern "C" fn(codec: FFI_LogicalExtensionCodec) -> FFI_TableProviderFactory,
pub create_scalar_udf: extern "C" fn() -> FFI_ScalarUDF,
pub create_nullary_udf: extern "C" fn() -> FFI_ScalarUDF,
pub create_timezone_udf: extern "C" fn() -> FFI_ScalarUDF,
pub create_table_function: extern "C" fn(FFI_LogicalExtensionCodec) -> FFI_TableFunction,
pub create_sum_udaf: extern "C" fn() -> FFI_AggregateUDF,
pub create_stddev_udaf: extern "C" fn() -> FFI_AggregateUDF,
pub create_rank_udwf: extern "C" fn() -> FFI_WindowUDF,
pub create_extension_options: extern "C" fn() -> FFI_ExtensionOptions,
pub create_empty_exec: extern "C" fn() -> FFI_ExecutionPlan,
pub create_exec_with_statistics: extern "C" fn() -> FFI_ExecutionPlan,
pub create_table_with_statistics: extern "C" fn(codec: FFI_LogicalExtensionCodec) -> FFI_TableProvider,
pub create_physical_optimizer_rule: extern "C" fn() -> FFI_PhysicalOptimizerRule,
pub version: extern "C" fn() -> u64,
}Available on crate feature
integration-tests only.Expand description
This struct defines the module interfaces. It is to be shared by both the module loading program and library that implements the module.
Fields§
§create_catalog: extern "C" fn(codec: FFI_LogicalExtensionCodec) -> FFI_CatalogProviderConstruct an opinionated catalog provider
create_catalog_list: extern "C" fn(codec: FFI_LogicalExtensionCodec) -> FFI_CatalogProviderListConstruct an opinionated catalog provider list
create_table: extern "C" fn(synchronous: bool, codec: FFI_LogicalExtensionCodec) -> FFI_TableProviderConstructs the table provider
create_table_factory: extern "C" fn(codec: FFI_LogicalExtensionCodec) -> FFI_TableProviderFactoryConstructs the table provider factory
create_scalar_udf: extern "C" fn() -> FFI_ScalarUDFCreate a scalar UDF
create_nullary_udf: extern "C" fn() -> FFI_ScalarUDF§create_timezone_udf: extern "C" fn() -> FFI_ScalarUDF§create_table_function: extern "C" fn(FFI_LogicalExtensionCodec) -> FFI_TableFunction§create_sum_udaf: extern "C" fn() -> FFI_AggregateUDFCreate an aggregate UDAF using sum
create_stddev_udaf: extern "C" fn() -> FFI_AggregateUDFCreate grouping UDAF using stddev
create_rank_udwf: extern "C" fn() -> FFI_WindowUDF§create_extension_options: extern "C" fn() -> FFI_ExtensionOptionsCreate extension options, for either ConfigOptions or TableOptions
create_empty_exec: extern "C" fn() -> FFI_ExecutionPlan§create_exec_with_statistics: extern "C" fn() -> FFI_ExecutionPlan§create_table_with_statistics: extern "C" fn(codec: FFI_LogicalExtensionCodec) -> FFI_TableProvider§create_physical_optimizer_rule: extern "C" fn() -> FFI_PhysicalOptimizerRule§version: extern "C" fn() -> u64Auto Trait Implementations§
impl Freeze for ForeignLibraryModule
impl RefUnwindSafe for ForeignLibraryModule
impl Send for ForeignLibraryModule
impl Sync for ForeignLibraryModule
impl Unpin for ForeignLibraryModule
impl UnsafeUnpin for ForeignLibraryModule
impl UnwindSafe for ForeignLibraryModule
Blanket Implementations§
Source§impl<Source> AccessAs for Source
impl<Source> AccessAs for Source
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more