pub trait OpTransform {
Show 21 methods
// Provided methods
fn transform_bgp(&mut self, op: OpBGP) -> Op { ... }
fn transform_triple(&mut self, op: OpTriple) -> Op { ... }
fn transform_join(&mut self, left: Op, right: Op, _original: &OpJoin) -> Op { ... }
fn transform_left_join(
&mut self,
left: Op,
right: Op,
original: &OpLeftJoin,
) -> Op { ... }
fn transform_right_join(
&mut self,
left: Op,
right: Op,
original: &OpRightJoin,
) -> Op { ... }
fn transform_cross_join(
&mut self,
left: Op,
right: Op,
_original: &OpCrossJoin,
) -> Op { ... }
fn transform_intersect(
&mut self,
left: Op,
right: Op,
_original: &OpIntersect,
) -> Op { ... }
fn transform_filter(&mut self, sub_op: Op, original: &OpFilter) -> Op { ... }
fn transform_union(
&mut self,
left: Op,
right: Op,
_original: &OpUnion,
) -> Op { ... }
fn transform_project(&mut self, sub_op: Op, original: &OpProject) -> Op { ... }
fn transform_distinct(&mut self, sub_op: Op, _original: &OpDistinct) -> Op { ... }
fn transform_reduced(&mut self, sub_op: Op, _original: &OpReduced) -> Op { ... }
fn transform_slice(&mut self, sub_op: Op, original: &OpSlice) -> Op { ... }
fn transform_order(&mut self, sub_op: Op, original: &OpOrder) -> Op { ... }
fn transform_group(&mut self, sub_op: Op, original: &OpGroup) -> Op { ... }
fn transform_extend(&mut self, sub_op: Op, original: &OpExtend) -> Op { ... }
fn transform_minus(
&mut self,
left: Op,
right: Op,
_original: &OpMinus,
) -> Op { ... }
fn transform_table(&mut self, op: OpTable) -> Op { ... }
fn transform_sequence(&mut self, ops: Vec<Op>, _original: &OpSequence) -> Op { ... }
fn transform_disjunction(
&mut self,
ops: Vec<Op>,
_original: &OpDisjunction,
) -> Op { ... }
fn transform_null(&mut self, op: OpNull) -> Op { ... }
}Expand description
Transformer trait for transforming Op trees
Provided Methods§
Sourcefn transform_bgp(&mut self, op: OpBGP) -> Op
fn transform_bgp(&mut self, op: OpBGP) -> Op
Transform BGP
Sourcefn transform_triple(&mut self, op: OpTriple) -> Op
fn transform_triple(&mut self, op: OpTriple) -> Op
Transform triple
Sourcefn transform_left_join(
&mut self,
left: Op,
right: Op,
original: &OpLeftJoin,
) -> Op
fn transform_left_join( &mut self, left: Op, right: Op, original: &OpLeftJoin, ) -> Op
Transform left join
Sourcefn transform_right_join(
&mut self,
left: Op,
right: Op,
original: &OpRightJoin,
) -> Op
fn transform_right_join( &mut self, left: Op, right: Op, original: &OpRightJoin, ) -> Op
Transform right join
Sourcefn transform_cross_join(
&mut self,
left: Op,
right: Op,
_original: &OpCrossJoin,
) -> Op
fn transform_cross_join( &mut self, left: Op, right: Op, _original: &OpCrossJoin, ) -> Op
Transform cross join
Sourcefn transform_intersect(
&mut self,
left: Op,
right: Op,
_original: &OpIntersect,
) -> Op
fn transform_intersect( &mut self, left: Op, right: Op, _original: &OpIntersect, ) -> Op
Transform intersect
Sourcefn transform_filter(&mut self, sub_op: Op, original: &OpFilter) -> Op
fn transform_filter(&mut self, sub_op: Op, original: &OpFilter) -> Op
Transform filter
Sourcefn transform_project(&mut self, sub_op: Op, original: &OpProject) -> Op
fn transform_project(&mut self, sub_op: Op, original: &OpProject) -> Op
Transform project
Sourcefn transform_distinct(&mut self, sub_op: Op, _original: &OpDistinct) -> Op
fn transform_distinct(&mut self, sub_op: Op, _original: &OpDistinct) -> Op
Transform distinct
Sourcefn transform_reduced(&mut self, sub_op: Op, _original: &OpReduced) -> Op
fn transform_reduced(&mut self, sub_op: Op, _original: &OpReduced) -> Op
Transform reduced
Sourcefn transform_slice(&mut self, sub_op: Op, original: &OpSlice) -> Op
fn transform_slice(&mut self, sub_op: Op, original: &OpSlice) -> Op
Transform slice
Sourcefn transform_order(&mut self, sub_op: Op, original: &OpOrder) -> Op
fn transform_order(&mut self, sub_op: Op, original: &OpOrder) -> Op
Transform order
Sourcefn transform_group(&mut self, sub_op: Op, original: &OpGroup) -> Op
fn transform_group(&mut self, sub_op: Op, original: &OpGroup) -> Op
Transform group
Sourcefn transform_extend(&mut self, sub_op: Op, original: &OpExtend) -> Op
fn transform_extend(&mut self, sub_op: Op, original: &OpExtend) -> Op
Transform extend
Sourcefn transform_table(&mut self, op: OpTable) -> Op
fn transform_table(&mut self, op: OpTable) -> Op
Transform table
Sourcefn transform_sequence(&mut self, ops: Vec<Op>, _original: &OpSequence) -> Op
fn transform_sequence(&mut self, ops: Vec<Op>, _original: &OpSequence) -> Op
Transform sequence
Sourcefn transform_disjunction(
&mut self,
ops: Vec<Op>,
_original: &OpDisjunction,
) -> Op
fn transform_disjunction( &mut self, ops: Vec<Op>, _original: &OpDisjunction, ) -> Op
Transform disjunction
Sourcefn transform_null(&mut self, op: OpNull) -> Op
fn transform_null(&mut self, op: OpNull) -> Op
Transform null