pub trait LogicalExtensionCodec: Debug + Send + Sync {
    // Required methods
    fn try_decode(
        &self,
        buf: &[u8],
        inputs: &[LogicalPlan],
        ctx: &SessionContext
    ) -> Result<Extension, DataFusionError>;
    fn try_encode(
        &self,
        node: &Extension,
        buf: &mut Vec<u8>
    ) -> Result<(), DataFusionError>;
    fn try_decode_table_provider(
        &self,
        buf: &[u8],
        schema: SchemaRef,
        ctx: &SessionContext
    ) -> Result<Arc<dyn TableProvider>, DataFusionError>;
    fn try_encode_table_provider(
        &self,
        node: Arc<dyn TableProvider>,
        buf: &mut Vec<u8>
    ) -> Result<(), DataFusionError>;
}

Required Methods§

source

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

source

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

source

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

source

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

Implementors§