[][src]Trait transform::Transform

pub trait Transform: Debug {
    fn transform(
        &self,
        relation: &mut RelationExpr,
        args: TransformArgs<'_>
    ) -> Result<(), TransformError>; }

Types capable of transforming relation expressions.

Required methods

fn transform(
    &self,
    relation: &mut RelationExpr,
    args: TransformArgs<'_>
) -> Result<(), TransformError>

Transform a relation into a functionally equivalent relation.

Loading content...

Implementors

impl Transform for ColumnKnowledge[src]

impl Transform for transform::cse::map::Map[src]

impl Transform for Demand[src]

impl Transform for EmptyMap[src]

impl Transform for Filter[src]

impl Transform for Join[src]

impl Transform for transform::fusion::map::Map[src]

impl Transform for Project[src]

impl Transform for Union[src]

impl Transform for InlineLet[src]

impl Transform for JoinElision[src]

impl Transform for JoinImplementation[src]

impl Transform for LiteralLifting[src]

impl Transform for NonNullRequirements[src]

impl Transform for NonNullable[src]

impl Transform for PredicatePushdown[src]

impl Transform for ProjectionExtraction[src]

impl Transform for ProjectionLifting[src]

impl Transform for ReduceElision[src]

impl Transform for DeMorgans[src]

impl Transform for NegatePredicate[src]

impl Transform for FoldConstants[src]

impl Transform for UndistributeAnd[src]

impl Transform for ReductionPushdown[src]

impl Transform for RedundantJoin[src]

impl Transform for SplitPredicates[src]

fn transform(
    &self,
    relation: &mut RelationExpr,
    _: TransformArgs<'_>
) -> Result<(), TransformError>
[src]

Transforms predicates of the form "A and B" into two: "A" and "B".

impl Transform for Fixpoint[src]

impl Transform for TopKElision[src]

impl Transform for UpdateLet[src]

Loading content...