public abstract class SemiJoinRule extends RelRule<SemiJoinRule.Config> implements TransformationRule
SemiJoin from a
Join on top of a
LogicalAggregate or
on a RelNode which is
unique for join's right keys.| Modifier and Type | Class and Description |
|---|---|
static interface |
SemiJoinRule.Config
Rule configuration.
|
static class |
SemiJoinRule.JoinOnUniqueToSemiJoinRule
SemiJoinRule that matches a Project on top of a Join with a RelNode
which is unique for Join's right keys.
|
static class |
SemiJoinRule.JoinToSemiJoinRule
SemiJoinRule that matches a Join with an empty Aggregate as its right
input.
|
static class |
SemiJoinRule.ProjectToSemiJoinRule
SemiJoinRule that matches a Project on top of a Join with an Aggregate
as its right child.
|
RelRule.Done, RelRule.MatchHandler<R extends RelOptRule>, RelRule.OperandBuilder, RelRule.OperandDetailBuilder<R extends RelNode>, RelRule.OperandTransformRelOptRule.ConverterRelOptRuleOperanddescription, operands, relBuilderFactory| Modifier | Constructor and Description |
|---|---|
protected |
SemiJoinRule(SemiJoinRule.Config config)
Creates a SemiJoinRule.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
perform(RelOptRuleCall call,
@Nullable Project project,
Join join,
RelNode left,
Aggregate aggregate) |
any, convert, convert, convertList, convertOperand, convertOperand, equals, equals, getOperand, getOperands, getOutConvention, getOutTrait, hashCode, matches, none, onMatch, operand, operand, operand, operand, operand, operandJ, operandJ, some, toString, unorderedprotected SemiJoinRule(SemiJoinRule.Config config)
protected void perform(RelOptRuleCall call, @Nullable Project project, Join join, RelNode left, Aggregate aggregate)
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.