PhysicalExtensionCodec

Trait PhysicalExtensionCodec 

Source
pub trait PhysicalExtensionCodec:
    Debug
    + Send
    + Sync {
    // Required methods
    fn try_decode(
        &self,
        buf: &[u8],
        inputs: &[Arc<dyn ExecutionPlan>],
        ctx: &TaskContext,
    ) -> Result<Arc<dyn ExecutionPlan>>;
    fn try_encode(
        &self,
        node: Arc<dyn ExecutionPlan>,
        buf: &mut Vec<u8>,
    ) -> Result<()>;

    // Provided methods
    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_expr(
        &self,
        _buf: &[u8],
        _inputs: &[Arc<dyn PhysicalExpr>],
    ) -> Result<Arc<dyn PhysicalExpr>> { ... }
    fn try_encode_expr(
        &self,
        _node: &Arc<dyn PhysicalExpr>,
        _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: &[Arc<dyn ExecutionPlan>], ctx: &TaskContext, ) -> Result<Arc<dyn ExecutionPlan>>

Source

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

Provided Methods§

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_expr( &self, _buf: &[u8], _inputs: &[Arc<dyn PhysicalExpr>], ) -> Result<Arc<dyn PhysicalExpr>>

Source

fn try_encode_expr( &self, _node: &Arc<dyn PhysicalExpr>, _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<()>

Implementors§