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§

source

fn name(&self) -> &'static str

source

fn do_transform( &self, config: &TransformConfig, plan: &mut Plan<T> ) -> Result<(), RecursionLimitError>

A method that performs the actual transform.

Provided Methods§

source

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.

Implementors§

source§

impl<A, T> Transform<T> for Awhere A: BottomUpTransform<T>,