pub struct ForeignLogicalExtensionCodec(pub FFI_LogicalExtensionCodec);Expand description
This wrapper struct exists on the receiver side of the FFI interface, so it has
no guarantees about being able to access the data in private_data. Any functions
defined on this struct must only use the stable functions provided in
FFI_LogicalExtensionCodec to interact with the foreign table provider.
Tuple Fields§
§0: FFI_LogicalExtensionCodecTrait Implementations§
Source§impl Debug for ForeignLogicalExtensionCodec
impl Debug for ForeignLogicalExtensionCodec
Source§impl LogicalExtensionCodec for ForeignLogicalExtensionCodec
impl LogicalExtensionCodec for ForeignLogicalExtensionCodec
fn try_decode( &self, _buf: &[u8], _inputs: &[LogicalPlan], _ctx: &TaskContext, ) -> Result<Extension>
fn try_encode(&self, _node: &Extension, _buf: &mut Vec<u8>) -> Result<()>
fn try_decode_table_provider( &self, buf: &[u8], table_ref: &TableReference, schema: SchemaRef, _ctx: &TaskContext, ) -> Result<Arc<dyn TableProvider>>
fn try_encode_table_provider( &self, table_ref: &TableReference, node: Arc<dyn TableProvider>, buf: &mut Vec<u8>, ) -> Result<()>
fn try_decode_file_format( &self, _buf: &[u8], _ctx: &TaskContext, ) -> Result<Arc<dyn FileFormatFactory>>
fn try_encode_file_format( &self, _buf: &mut Vec<u8>, _node: Arc<dyn FileFormatFactory>, ) -> Result<()>
fn try_decode_udf(&self, name: &str, buf: &[u8]) -> Result<Arc<ScalarUDF>>
fn try_encode_udf(&self, node: &ScalarUDF, buf: &mut Vec<u8>) -> Result<()>
fn try_decode_udaf(&self, name: &str, buf: &[u8]) -> Result<Arc<AggregateUDF>>
fn try_encode_udaf(&self, node: &AggregateUDF, buf: &mut Vec<u8>) -> Result<()>
fn try_decode_udwf(&self, name: &str, buf: &[u8]) -> Result<Arc<WindowUDF>>
fn try_encode_udwf(&self, node: &WindowUDF, buf: &mut Vec<u8>) -> Result<()>
fn try_decode_higher_order_function( &self, name: &str, _buf: &[u8], ) -> Result<Arc<HigherOrderUDF>, DataFusionError>
fn try_encode_higher_order_function( &self, _node: &HigherOrderUDF, _buf: &mut Vec<u8>, ) -> Result<(), DataFusionError>
impl Send for ForeignLogicalExtensionCodec
impl Sync for ForeignLogicalExtensionCodec
Auto Trait Implementations§
impl Freeze for ForeignLogicalExtensionCodec
impl RefUnwindSafe for ForeignLogicalExtensionCodec
impl Unpin for ForeignLogicalExtensionCodec
impl UnsafeUnpin for ForeignLogicalExtensionCodec
impl UnwindSafe for ForeignLogicalExtensionCodec
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