pub trait Transform<T = Timestamp> {
// Required methods
fn name(&self) -> &'static str;
fn do_transform(
&self,
config: &TransformConfig,
plan: &mut Plan<T>
) -> Result<(), RecursionLimitError>;
// Provided method
fn transform(
&self,
config: &TransformConfig,
plan: &mut Plan<T>
) -> Result<(), RecursionLimitError> { ... }
}
Expand description
A transform for crate::plan::Plan nodes.
Required Methods§
fn name(&self) -> &'static str
sourcefn do_transform(
&self,
config: &TransformConfig,
plan: &mut Plan<T>
) -> Result<(), RecursionLimitError>
fn do_transform( &self, config: &TransformConfig, plan: &mut Plan<T> ) -> Result<(), RecursionLimitError>
A method that performs the actual transform.
Provided Methods§
sourcefn transform(
&self,
config: &TransformConfig,
plan: &mut Plan<T>
) -> Result<(), RecursionLimitError>
fn transform( &self, config: &TransformConfig, plan: &mut Plan<T> ) -> Result<(), RecursionLimitError>
Transform a Plan using the given TransformConfig.
The default implementation of method just handles plan tracing and delegates to the Transform::do_transform method. Clients should override this method if they don’t want the Transform::transform call to record a trace of its output.