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<()> { ... }
}