public abstract class JDBCAbstractSplitFilterRule
extends org.apache.calcite.plan.RelOptRule
HiveFilter
into
two HiveFilter
operators where the lower operator
could be pushed down below the
HiveJdbcConverter
}
operator and therefore could be sent to the external table.Modifier and Type | Class and Description |
---|---|
static class |
JDBCAbstractSplitFilterRule.FilterSupportedFunctionsVisitor
FilterSupportedFunctionsVisitor traverse all of the Rex call and splits them into
two lists, one with supported jdbc calls, and one with not supported jdbc calls.
|
static class |
JDBCAbstractSplitFilterRule.JDBCSplitFilterAboveJoinRule
JDBCSplitFilterAboveJoinRule split splitter above a HiveJoin operator, so we could push it into the HiveJoin.
|
static class |
JDBCAbstractSplitFilterRule.JDBCSplitFilterRule
JDBCSplitFilterRule splits a HiveFilter rule so we could push part of the HiveFilter into the jdbc.
|
Modifier and Type | Field and Description |
---|---|
static JDBCAbstractSplitFilterRule |
SPLIT_FILTER_ABOVE_CONVERTER |
static JDBCAbstractSplitFilterRule |
SPLIT_FILTER_ABOVE_JOIN |
Modifier | Constructor and Description |
---|---|
protected |
JDBCAbstractSplitFilterRule(org.apache.calcite.plan.RelOptRuleOperand operand) |
Modifier and Type | Method and Description |
---|---|
static boolean |
canSplitFilter(org.apache.calcite.rex.RexNode cond,
org.apache.calcite.sql.SqlDialect dialect) |
boolean |
matches(org.apache.calcite.plan.RelOptRuleCall call,
org.apache.calcite.sql.SqlDialect dialect) |
void |
onMatch(org.apache.calcite.plan.RelOptRuleCall call,
org.apache.calcite.sql.SqlDialect dialect) |
public static final JDBCAbstractSplitFilterRule SPLIT_FILTER_ABOVE_JOIN
public static final JDBCAbstractSplitFilterRule SPLIT_FILTER_ABOVE_CONVERTER
protected JDBCAbstractSplitFilterRule(org.apache.calcite.plan.RelOptRuleOperand operand)
public static boolean canSplitFilter(org.apache.calcite.rex.RexNode cond, org.apache.calcite.sql.SqlDialect dialect)
public boolean matches(org.apache.calcite.plan.RelOptRuleCall call, org.apache.calcite.sql.SqlDialect dialect)
public void onMatch(org.apache.calcite.plan.RelOptRuleCall call, org.apache.calcite.sql.SqlDialect dialect)
Copyright © 2022 The Apache Software Foundation. All rights reserved.