Skip to main content

LogicalExtensionCodec

Trait LogicalExtensionCodec 

Source
pub trait LogicalExtensionCodec:
    Debug
    + Send
    + Sync
    + Any {
Show 14 methods // Required methods 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<()>; // Provided methods 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_higher_order_function( &self, name: &str, _buf: &[u8], ) -> Result<Arc<HigherOrderUDF>> { ... } fn try_encode_higher_order_function( &self, _node: &HigherOrderUDF, _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<()> { ... }
}

Required Methods§

Source

fn try_decode( &self, buf: &[u8], inputs: &[LogicalPlan], ctx: &TaskContext, ) -> Result<Extension>

Source

fn try_encode(&self, node: &Extension, buf: &mut Vec<u8>) -> Result<()>

Source

fn try_decode_table_provider( &self, buf: &[u8], table_ref: &TableReference, schema: SchemaRef, ctx: &TaskContext, ) -> Result<Arc<dyn TableProvider>>

Source

fn try_encode_table_provider( &self, table_ref: &TableReference, node: Arc<dyn TableProvider>, buf: &mut Vec<u8>, ) -> Result<()>

Provided Methods§

Source

fn try_decode_file_format( &self, _buf: &[u8], _ctx: &TaskContext, ) -> Result<Arc<dyn FileFormatFactory>>

Source

fn try_encode_file_format( &self, _buf: &mut Vec<u8>, _node: Arc<dyn FileFormatFactory>, ) -> Result<()>

Source

fn try_decode_udf(&self, name: &str, _buf: &[u8]) -> Result<Arc<ScalarUDF>>

Source

fn try_encode_udf(&self, _node: &ScalarUDF, _buf: &mut Vec<u8>) -> Result<()>

Source

fn try_decode_higher_order_function( &self, name: &str, _buf: &[u8], ) -> Result<Arc<HigherOrderUDF>>

Source

fn try_encode_higher_order_function( &self, _node: &HigherOrderUDF, _buf: &mut Vec<u8>, ) -> Result<()>

Source

fn try_decode_udaf(&self, name: &str, _buf: &[u8]) -> Result<Arc<AggregateUDF>>

Source

fn try_encode_udaf( &self, _node: &AggregateUDF, _buf: &mut Vec<u8>, ) -> Result<()>

Source

fn try_decode_udwf(&self, name: &str, _buf: &[u8]) -> Result<Arc<WindowUDF>>

Source

fn try_encode_udwf(&self, _node: &WindowUDF, _buf: &mut Vec<u8>) -> Result<()>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§