public abstract class HiveSemiJoinRule
extends org.apache.calcite.plan.RelOptRule
SemiJoinRule from a
Join on top of a
LogicalAggregate.
TODO Remove this rule and use Calcite's SemiJoinRule. Not possible currently
since Calcite doesnt use RelBuilder for this rule and we want to generate HiveSemiJoin rel here.| Modifier and Type | Class and Description |
|---|---|
static class |
HiveSemiJoinRule.HiveAggregateToSemiJoinRule
SemiJoinRule that matches a Aggregate on top of a Join with an Aggregate
as its right child.
|
static class |
HiveSemiJoinRule.HiveProjectToSemiJoinRule
SemiJoinRule that matches a Project on top of a Join with an Aggregate
as its right child.
|
| Modifier and Type | Field and Description |
|---|---|
static HiveSemiJoinRule.HiveAggregateToSemiJoinRule |
INSTANCE_AGGREGATE |
static HiveSemiJoinRule.HiveProjectToSemiJoinRule |
INSTANCE_PROJECT |
protected static org.slf4j.Logger |
LOG |
| Modifier and Type | Method and Description |
|---|---|
protected void |
perform(org.apache.calcite.plan.RelOptRuleCall call,
org.apache.calcite.util.ImmutableBitSet topRefs,
org.apache.calcite.rel.RelNode topOperator,
org.apache.calcite.rel.core.Join join,
org.apache.calcite.rel.RelNode left,
org.apache.calcite.rel.core.Aggregate aggregate) |
protected static final org.slf4j.Logger LOG
public static final HiveSemiJoinRule.HiveProjectToSemiJoinRule INSTANCE_PROJECT
public static final HiveSemiJoinRule.HiveAggregateToSemiJoinRule INSTANCE_AGGREGATE
protected void perform(org.apache.calcite.plan.RelOptRuleCall call,
org.apache.calcite.util.ImmutableBitSet topRefs,
org.apache.calcite.rel.RelNode topOperator,
org.apache.calcite.rel.core.Join join,
org.apache.calcite.rel.RelNode left,
org.apache.calcite.rel.core.Aggregate aggregate)
Copyright © 2019 The Apache Software Foundation. All Rights Reserved.