Package org.apache.calcite.rel.rules
Class SemiJoinRule
- All Implemented Interfaces:
TransformationRule
- Direct Known Subclasses:
SemiJoinRule.JoinOnUniqueToSemiJoinRule
,SemiJoinRule.JoinToSemiJoinRule
,SemiJoinRule.ProjectToSemiJoinRule
public abstract class SemiJoinRule
extends RelRule<SemiJoinRule.Config>
implements TransformationRule
Planner rule that creates a
SemiJoin
from a
Join
on top of a
LogicalAggregate
or
on a RelNode
which is
unique for join's right keys.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
Rule configuration.static class
SemiJoinRule that matches a Project on top of a Join with a RelNode which is unique for Join's right keys.static class
SemiJoinRule that matches a Join with an empty Aggregate as its right input.static class
SemiJoinRule that matches a Project on top of a Join with an Aggregate as its right child.Nested classes/interfaces inherited from class org.apache.calcite.plan.RelRule
RelRule.Done, RelRule.MatchHandler<R extends RelOptRule>, RelRule.OperandBuilder, RelRule.OperandDetailBuilder<R extends RelNode>, RelRule.OperandTransform
Nested classes/interfaces inherited from class org.apache.calcite.plan.RelOptRule
RelOptRule.ConverterRelOptRuleOperand
-
Field Summary
Fields inherited from class org.apache.calcite.plan.RelOptRule
description, operands, relBuilderFactory
-
Constructor Summary
ModifierConstructorDescriptionprotected
SemiJoinRule
(SemiJoinRule.Config config) Creates a SemiJoinRule. -
Method Summary
Methods inherited from class org.apache.calcite.plan.RelOptRule
any, convert, convert, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, onMatch, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unordered
-
Constructor Details
-
SemiJoinRule
Creates a SemiJoinRule.
-
-
Method Details
-
perform
protected void perform(RelOptRuleCall call, @Nullable Project project, Join join, RelNode left, Aggregate aggregate)
-