Package | Description |
---|---|
org.apache.calcite.adapter.enumerable |
Query optimizer rules for Java calling convention.
|
org.apache.calcite.interpreter |
Provides an implementation of relational expressions using an interpreter.
|
org.apache.calcite.plan |
Defines interfaces for constructing rule-based optimizers of
relational expressions.
|
org.apache.calcite.prepare |
Preparation of queries (parsing, planning and implementation).
|
org.apache.calcite.rel.core |
Defines core relational expressions.
|
org.apache.calcite.rel.metadata |
Defines metadata interfaces and utilities for relational
expressions.
|
org.apache.calcite.rel.rules |
Provides a core set of planner rules.
|
org.apache.calcite.rex |
Provides a language for representing row-expressions.
|
org.apache.calcite.schema |
Schema SPI.
|
org.apache.calcite.schema.impl |
Utilities to help implement Calcite's SPIs.
|
org.apache.calcite.sql |
Provides a SQL parser and object model.
|
org.apache.calcite.sql2rel |
Translates a SQL parse tree to relational expression.
|
org.apache.calcite.tools |
Provides utility classes.
|
Modifier and Type | Field and Description |
---|---|
(package private) RexBuilder |
RexToLixTranslator.builder |
private RexBuilder |
JavaRelImplementor.rexBuilder |
Modifier and Type | Method and Description |
---|---|
RexBuilder |
JavaRelImplementor.getRexBuilder() |
Constructor and Description |
---|
EnumerableRelImplementor(RexBuilder rexBuilder,
java.util.Map<java.lang.String,java.lang.Object> internalParameters) |
JavaRelImplementor(RexBuilder rexBuilder) |
RexToLixTranslator(RexProgram program,
JavaTypeFactory typeFactory,
Expression root,
RexToLixTranslator.InputGetter inputGetter,
BlockBuilder list,
java.util.Map<? extends RexNode,java.lang.Boolean> exprNullableMap,
RexBuilder builder,
SqlConformance conformance,
RexToLixTranslator parent,
Function1<java.lang.String,RexToLixTranslator.InputGetter> correlates) |
Modifier and Type | Field and Description |
---|---|
private RexBuilder |
JaninoRexCompiler.rexBuilder |
Constructor and Description |
---|
JaninoRexCompiler(RexBuilder rexBuilder) |
Modifier and Type | Field and Description |
---|---|
(package private) RexBuilder |
RexImplicationChecker.builder |
protected RexBuilder |
RelOptUtil.RexInputConverter.rexBuilder |
private RexBuilder |
RelOptCluster.rexBuilder |
Modifier and Type | Method and Description |
---|---|
RexBuilder |
RelOptCluster.getRexBuilder() |
Modifier and Type | Method and Description |
---|---|
static RexNode |
RelOptUtil.andJoinFilters(RexBuilder rexBuilder,
RexNode left,
RexNode right)
Ands two sets of join filters together, either of which can be null.
|
private static RexNode |
SubstitutionVisitor.canonizeNode(RexBuilder rexBuilder,
RexNode condition)
Reorders some of the operands in this expression so structural comparison,
i.e., based on string representation, can be more precise.
|
static RexCall |
RelOptUtil.collapseExpandedIsNotDistinctFromExpr(RexCall call,
RexBuilder rexBuilder)
Collapses an expanded version of
IS NOT DISTINCT FROM expression. |
static RelOptCluster |
RelOptCluster.create(RelOptPlanner planner,
RexBuilder rexBuilder)
Creates a cluster.
|
RelOptCluster |
RelOptQuery.createCluster(RelDataTypeFactory typeFactory,
RexBuilder rexBuilder)
Deprecated.
|
static RexNode |
RelOptUtil.createEquiJoinCondition(RelNode left,
java.util.List<java.lang.Integer> leftKeys,
RelNode right,
java.util.List<java.lang.Integer> rightKeys,
RexBuilder rexBuilder)
Builds an equi-join condition from a set of left and right keys.
|
private static RexCall |
RelOptUtil.doCollapseExpandedIsNotDistinctFrom(RexBuilder rexBuilder,
RexCall call,
RexCall ifNull0Call,
RexCall ifNull1Call,
RexCall equalsCall) |
private static RexCall |
RelOptUtil.doCollapseExpandedIsNotDistinctFromCaseExpr(RexCall call,
RexBuilder rexBuilder) |
private static RexCall |
RelOptUtil.doCollapseExpandedIsNotDistinctFromOrExpr(RexCall call,
RexBuilder rexBuilder) |
static RexNode |
RelOptUtil.isDistinctFrom(RexBuilder rexBuilder,
RexNode x,
RexNode y,
boolean neg)
Returns a translation of the
IS DISTINCT FROM (or IS
NOT DISTINCT FROM ) sql operator. |
private static RexNode |
RelOptUtil.isDistinctFromInternal(RexBuilder rexBuilder,
RexNode x,
RexNode y,
boolean neg) |
private static boolean |
SubstitutionVisitor.isEquivalent(RexBuilder rexBuilder,
RexNode condition,
RexNode target) |
static RelOptPredicateList |
RelOptPredicateList.of(RexBuilder rexBuilder,
java.lang.Iterable<RexNode> pulledUpPredicates)
Creates a RelOptPredicateList with only pulled-up predicates, no inferred
predicates.
|
static RelOptPredicateList |
RelOptPredicateList.of(RexBuilder rexBuilder,
java.lang.Iterable<RexNode> pulledUpPredicates,
java.lang.Iterable<RexNode> leftInferredPredicates,
java.lang.Iterable<RexNode> rightInferredPredicates)
Creates a RelOptPredicateList for a join.
|
private static RexNode |
RelOptUtil.pushDownEqualJoinConditions(RexNode condition,
int leftCount,
int rightCount,
java.util.List<RexNode> extraLeftExprs,
java.util.List<RexNode> extraRightExprs,
RexBuilder builder)
Pushes down parts of a join condition.
|
RelOptPredicateList |
RelOptPredicateList.shift(RexBuilder rexBuilder,
int offset) |
private static RexNode |
RelOptUtil.shiftFilter(int start,
int end,
int offset,
RexBuilder rexBuilder,
java.util.List<RelDataTypeField> joinFields,
int nTotalFields,
java.util.List<RelDataTypeField> rightFields,
RexNode filter) |
private static void |
RelOptUtil.splitJoinCondition(RexBuilder rexBuilder,
int leftFieldCount,
RexNode condition,
java.util.List<java.lang.Integer> leftKeys,
java.util.List<java.lang.Integer> rightKeys,
java.util.List<java.lang.Boolean> filterNulls,
java.util.List<RexNode> nonEquiList) |
private static RexNode |
SubstitutionVisitor.splitOr(RexBuilder rexBuilder,
RexNode condition,
RexNode target) |
RelOptPredicateList |
RelOptPredicateList.union(RexBuilder rexBuilder,
RelOptPredicateList list) |
Constructor and Description |
---|
RelOptCluster(RelOptPlanner planner,
RelDataTypeFactory typeFactory,
RexBuilder rexBuilder,
java.util.concurrent.atomic.AtomicInteger nextCorrel,
java.util.Map<java.lang.String,RelNode> mapCorrelToRel)
Creates a cluster.
|
RelOptCluster(RelOptQuery query,
RelOptPlanner planner,
RelDataTypeFactory typeFactory,
RexBuilder rexBuilder)
Deprecated.
|
RexImplicationChecker(RexBuilder builder,
RexExecutorImpl executor,
RelDataType rowType) |
RexInputConverter(RexBuilder rexBuilder,
java.util.List<RelDataTypeField> srcFields,
int[] adjustments) |
RexInputConverter(RexBuilder rexBuilder,
java.util.List<RelDataTypeField> srcFields,
java.util.List<RelDataTypeField> destFields,
int[] adjustments) |
RexInputConverter(RexBuilder rexBuilder,
java.util.List<RelDataTypeField> srcFields,
java.util.List<RelDataTypeField> leftDestFields,
java.util.List<RelDataTypeField> rightDestFields,
int[] adjustments) |
RexInputConverter(RexBuilder rexBuilder,
java.util.List<RelDataTypeField> srcFields,
java.util.List<RelDataTypeField> destFields,
java.util.List<RelDataTypeField> leftDestFields,
java.util.List<RelDataTypeField> rightDestFields,
int[] adjustments) |
Modifier and Type | Field and Description |
---|---|
protected RexBuilder |
CalcitePrepareImpl.CalcitePreparingStmt.rexBuilder |
private RexBuilder |
CalcitePrepareImpl.EmptyScalarTranslator.rexBuilder |
Modifier and Type | Method and Description |
---|---|
private RexBuilder |
PlannerImpl.createRexBuilder() |
Modifier and Type | Method and Description |
---|---|
protected RelOptCluster |
CalcitePrepareImpl.createCluster(RelOptPlanner planner,
RexBuilder rexBuilder)
Factory method for cluster.
|
static CalcitePrepareImpl.ScalarTranslator |
CalcitePrepareImpl.EmptyScalarTranslator.empty(RexBuilder builder) |
Constructor and Description |
---|
EmptyScalarTranslator(RexBuilder rexBuilder) |
LambdaScalarTranslator(RexBuilder rexBuilder,
java.util.List<ParameterExpression> parameterList,
java.util.List<RexNode> values) |
Modifier and Type | Method and Description |
---|---|
RexNode |
JoinInfo.getEquiCondition(RelNode left,
RelNode right,
RexBuilder rexBuilder) |
abstract RexNode |
JoinInfo.getRemaining(RexBuilder rexBuilder) |
RexNode |
JoinInfo.EquiJoinInfo.getRemaining(RexBuilder rexBuilder) |
RexNode |
JoinInfo.NonEquiJoinInfo.getRemaining(RexBuilder rexBuilder) |
Modifier and Type | Method and Description |
---|---|
(package private) RexNode |
RelMdPredicates.JoinConditionBasedPredicateInference.compose(RexBuilder rexBuilder,
java.lang.Iterable<RexNode> exprs) |
private static java.util.Set<RexNode> |
RelMdExpressionLineage.createAllPossibleExpressions(RexBuilder rexBuilder,
RexNode expr,
ImmutableBitSet predFieldsUsed,
java.util.Map<RexInputRef,java.util.Set<RexNode>> mapping,
java.util.Map<RexInputRef,RexNode> singleMapping) |
protected static java.util.Set<RexNode> |
RelMdExpressionLineage.createAllPossibleExpressions(RexBuilder rexBuilder,
RexNode expr,
java.util.Map<RexInputRef,java.util.Set<RexNode>> mapping)
Given an expression, it will create all equivalent expressions resulting
from replacing all possible combinations of references in the mapping by
the corresponding expressions.
|
private static void |
RelMdExpressionLineage.createExpressions(RexBuilder rexBuilder,
RexNode expr,
ImmutableBitSet predFieldsUsed,
java.util.Map<RexInputRef,java.util.Set<RexNode>> mapping,
java.util.Map<RexInputRef,RexNode> singleMapping,
java.util.Set<RexNode> result) |
static RexNode |
RelMdUtil.minusPreds(RexBuilder rexBuilder,
RexNode pred1,
RexNode pred2)
Takes the difference between two predicates, removing from the first any
predicates also in the second
|
private RexNode |
RelMdPredicates.projectPredicate(RexBuilder rexBuilder,
RelNode input,
RexNode r,
ImmutableBitSet columnsMapped)
Converts a predicate on a particular set of columns into a predicate on
a subset of those columns, weakening if necessary.
|
static RexNode |
RelMdUtil.unionPreds(RexBuilder rexBuilder,
RexNode pred1,
RexNode pred2)
AND's two predicates together, either of which may be null, removing
redundant filters.
|
Modifier and Type | Field and Description |
---|---|
(package private) RexBuilder |
ReduceDecimalsRule.RexExpander.builder
Factory for constructing new relational expressions
|
private RexBuilder |
ProjectCorrelateTransposeRule.RexFieldAccessReplacer.builder |
(package private) RexBuilder |
FilterRemoveIsNotDistinctFromRule.RemoveIsNotDistinctFromRexShuttle.rexBuilder |
(package private) RexBuilder |
PushProjector.rexBuilder
Rex builder used to create new expressions.
|
private RexBuilder |
LoptSemiJoinOptimizer.rexBuilder |
private RexBuilder |
DateRangeRules.ExtractShuttle.rexBuilder |
private RexBuilder |
JoinCommuteRule.VariableReplacer.rexBuilder |
Modifier and Type | Method and Description |
---|---|
protected abstract AbstractMaterializedViewRule.ViewPartialRewriting |
AbstractMaterializedViewRule.compensateViewPartial(RelBuilder relBuilder,
RexBuilder rexBuilder,
RelMetadataQuery mq,
RelNode input,
Project topProject,
RelNode node,
java.util.Set<RexTableInputRef.RelTableRef> queryTableRefs,
AbstractMaterializedViewRule.EquivalenceClasses queryEC,
Project topViewProject,
RelNode viewNode,
java.util.Set<RexTableInputRef.RelTableRef> viewTableRefs)
It checks whether the query can be rewritten using the view even though the
query uses additional tables.
|
protected AbstractMaterializedViewRule.ViewPartialRewriting |
AbstractMaterializedViewRule.MaterializedViewJoinRule.compensateViewPartial(RelBuilder relBuilder,
RexBuilder rexBuilder,
RelMetadataQuery mq,
RelNode input,
Project topProject,
RelNode node,
java.util.Set<RexTableInputRef.RelTableRef> queryTableRefs,
AbstractMaterializedViewRule.EquivalenceClasses queryEC,
Project topViewProject,
RelNode viewNode,
java.util.Set<RexTableInputRef.RelTableRef> viewTableRefs) |
protected AbstractMaterializedViewRule.ViewPartialRewriting |
AbstractMaterializedViewRule.MaterializedViewAggregateRule.compensateViewPartial(RelBuilder relBuilder,
RexBuilder rexBuilder,
RelMetadataQuery mq,
RelNode input,
Project topProject,
RelNode node,
java.util.Set<RexTableInputRef.RelTableRef> queryTableRefs,
AbstractMaterializedViewRule.EquivalenceClasses queryEC,
Project topViewProject,
RelNode viewNode,
java.util.Set<RexTableInputRef.RelTableRef> viewTableRefs) |
private static Pair<RexNode,RexNode> |
AbstractMaterializedViewRule.computeCompensationPredicates(RexBuilder rexBuilder,
RexSimplify simplify,
AbstractMaterializedViewRule.EquivalenceClasses sourceEC,
Pair<RexNode,RexNode> sourcePreds,
AbstractMaterializedViewRule.EquivalenceClasses targetEC,
Pair<RexNode,RexNode> targetPreds,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> sourceToTargetTableMapping)
We check whether the predicates in the source are contained in the predicates
in the target.
|
protected void |
JoinProjectTransposeRule.createProjectExprs(Project projRel,
RelNode joinChild,
int adjustmentAmount,
RexBuilder rexBuilder,
java.util.List<RelDataTypeField> joinChildrenFields,
java.util.List<Pair<RexNode,java.lang.String>> projects)
Creates projection expressions corresponding to one of the inputs into
the join
|
protected abstract RelNode |
AbstractMaterializedViewRule.createUnion(RelBuilder relBuilder,
RexBuilder rexBuilder,
RelNode topProject,
RelNode unionInputQuery,
RelNode unionInputView)
If the view will be used in a union rewriting, this method is responsible for
generating the union and any other operator needed on top of it, e.g., a Project
operator.
|
protected RelNode |
AbstractMaterializedViewRule.MaterializedViewJoinRule.createUnion(RelBuilder relBuilder,
RexBuilder rexBuilder,
RelNode topProject,
RelNode unionInputQuery,
RelNode unionInputView) |
protected RelNode |
AbstractMaterializedViewRule.MaterializedViewAggregateRule.createUnion(RelBuilder relBuilder,
RexBuilder rexBuilder,
RelNode topProject,
RelNode unionInputQuery,
RelNode unionInputView) |
private RexLiteral |
DateRangeRules.ExtractShuttle.dateTimeLiteral(RexBuilder rexBuilder,
java.util.Calendar calendar,
RexNode operand) |
private static java.util.List<RexNode> |
AbstractMaterializedViewRule.extractReferences(RexBuilder rexBuilder,
RelNode node)
If the node is an Aggregate, it returns a list of references to the grouping columns.
|
private static RexNode |
AbstractMaterializedViewRule.generateEquivalenceClasses(RexBuilder rexBuilder,
AbstractMaterializedViewRule.EquivalenceClasses sourceEC,
AbstractMaterializedViewRule.EquivalenceClasses targetEC)
Given the equi-column predicates of the source and the target and the
computed equivalence classes, it extracts possible mappings between
the equivalence classes.
|
protected com.google.common.collect.Multimap<java.lang.Integer,java.lang.Integer> |
AbstractMaterializedViewRule.MaterializedViewAggregateRule.generateMapping(RexBuilder rexBuilder,
RexSimplify simplify,
RelMetadataQuery mq,
RelNode node,
RelNode target,
ImmutableBitSet positions,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping,
AbstractMaterializedViewRule.EquivalenceClasses sourceEC,
java.util.List<RexNode> additionalExprs)
Mapping from node expressions to target expressions.
|
private static AbstractMaterializedViewRule.NodeLineage |
AbstractMaterializedViewRule.generateSwapColumnTableReferencesLineage(RexBuilder rexBuilder,
RelMetadataQuery mq,
RelNode node,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping,
AbstractMaterializedViewRule.EquivalenceClasses ec,
java.util.List<RexNode> nodeExprs)
It swaps the column references and then the table references of the input
expressions using the equivalence classes and the table mapping.
|
private static AbstractMaterializedViewRule.NodeLineage |
AbstractMaterializedViewRule.generateSwapTableColumnReferencesLineage(RexBuilder rexBuilder,
RelMetadataQuery mq,
RelNode node,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping,
AbstractMaterializedViewRule.EquivalenceClasses ec,
java.util.List<RexNode> nodeExprs)
It swaps the table references and then the column references of the input
expressions using the table mapping and the equivalence classes.
|
private RexNode |
AggregateReduceFunctionsRule.getSumAggregatedRexNode(Aggregate oldAggRel,
AggregateCall oldCall,
java.util.List<AggregateCall> newCalls,
java.util.Map<AggregateCall,RexNode> aggCallMapping,
RexBuilder rexBuilder,
int argOrdinal,
int filterArg) |
static <C extends RexNode> |
ReduceExpressionsRule.predicateConstants(java.lang.Class<C> clazz,
RexBuilder rexBuilder,
RelOptPredicateList predicates)
Deprecated.
|
private void |
ReduceDecimalsRule.ExpanderMap.registerExpanders(RexBuilder rexBuilder) |
static RexNode |
DateRangeRules.replaceTimeUnits(RexBuilder rexBuilder,
RexNode e,
java.lang.String timeZone)
Replaces calls to EXTRACT, FLOOR and CEIL in an expression.
|
private static RexNode |
AbstractMaterializedViewRule.replaceWithOriginalReferences(RexBuilder rexBuilder,
RelNode node,
AbstractMaterializedViewRule.NodeLineage nodeLineage,
RexNode exprToRewrite)
Given the input expression, it will replace (sub)expressions when possible
using the content of the mapping.
|
private static RexNode |
AbstractMaterializedViewRule.rewriteExpression(RexBuilder rexBuilder,
RelMetadataQuery mq,
RelNode targetNode,
RelNode node,
java.util.List<RexNode> nodeExprs,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping,
AbstractMaterializedViewRule.EquivalenceClasses ec,
boolean swapTableColumn,
RexNode exprToRewrite)
First, the method takes the node expressions
nodeExprs and swaps the table
and column references using the table mapping and the equivalence classes. |
private static java.util.List<RexNode> |
AbstractMaterializedViewRule.rewriteExpressions(RexBuilder rexBuilder,
RelMetadataQuery mq,
RelNode targetNode,
RelNode node,
java.util.List<RexNode> nodeExprs,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping,
AbstractMaterializedViewRule.EquivalenceClasses ec,
boolean swapTableColumn,
java.util.List<RexNode> exprsToRewrite)
First, the method takes the node expressions
nodeExprs and swaps the table
and column references using the table mapping and the equivalence classes. |
protected abstract RelNode |
AbstractMaterializedViewRule.rewriteQuery(RelBuilder relBuilder,
RexBuilder rexBuilder,
RexSimplify simplify,
RelMetadataQuery mq,
RexNode compensationColumnsEquiPred,
RexNode otherCompensationPred,
Project topProject,
RelNode node,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> viewToQueryTableMapping,
AbstractMaterializedViewRule.EquivalenceClasses viewEC,
AbstractMaterializedViewRule.EquivalenceClasses queryEC)
If the view will be used in a union rewriting, this method is responsible for
rewriting the query branch of the union using the given compensation predicate.
|
protected RelNode |
AbstractMaterializedViewRule.MaterializedViewJoinRule.rewriteQuery(RelBuilder relBuilder,
RexBuilder rexBuilder,
RexSimplify simplify,
RelMetadataQuery mq,
RexNode compensationColumnsEquiPred,
RexNode otherCompensationPred,
Project topProject,
RelNode node,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> viewToQueryTableMapping,
AbstractMaterializedViewRule.EquivalenceClasses viewEC,
AbstractMaterializedViewRule.EquivalenceClasses queryEC) |
protected RelNode |
AbstractMaterializedViewRule.MaterializedViewAggregateRule.rewriteQuery(RelBuilder relBuilder,
RexBuilder rexBuilder,
RexSimplify simplify,
RelMetadataQuery mq,
RexNode compensationColumnsEquiPred,
RexNode otherCompensationPred,
Project topProject,
RelNode node,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> queryToViewTableMapping,
AbstractMaterializedViewRule.EquivalenceClasses viewEC,
AbstractMaterializedViewRule.EquivalenceClasses queryEC) |
protected abstract RelNode |
AbstractMaterializedViewRule.rewriteView(RelBuilder relBuilder,
RexBuilder rexBuilder,
RexSimplify simplify,
RelMetadataQuery mq,
AbstractMaterializedViewRule.MatchModality matchModality,
boolean unionRewriting,
RelNode input,
Project topProject,
RelNode node,
Project topViewProject,
RelNode viewNode,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> queryToViewTableMapping,
AbstractMaterializedViewRule.EquivalenceClasses queryEC)
Rewrites the query using the given view query.
|
protected RelNode |
AbstractMaterializedViewRule.MaterializedViewJoinRule.rewriteView(RelBuilder relBuilder,
RexBuilder rexBuilder,
RexSimplify simplify,
RelMetadataQuery mq,
AbstractMaterializedViewRule.MatchModality matchModality,
boolean unionRewriting,
RelNode input,
Project topProject,
RelNode node,
Project topViewProject,
RelNode viewNode,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> queryToViewTableMapping,
AbstractMaterializedViewRule.EquivalenceClasses queryEC) |
protected RelNode |
AbstractMaterializedViewRule.MaterializedViewAggregateRule.rewriteView(RelBuilder relBuilder,
RexBuilder rexBuilder,
RexSimplify simplify,
RelMetadataQuery mq,
AbstractMaterializedViewRule.MatchModality matchModality,
boolean unionRewriting,
RelNode input,
Project topProject,
RelNode node,
Project topViewProject,
RelNode viewNode,
com.google.common.collect.BiMap<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> queryToViewTableMapping,
AbstractMaterializedViewRule.EquivalenceClasses queryEC) |
private static RexNode |
AbstractMaterializedViewRule.shuttleReferences(RexBuilder rexBuilder,
RexNode node,
Mapping mapping)
Replaces all the input references by the position in the
input column set.
|
private static RexNode |
AbstractMaterializedViewRule.shuttleReferences(RexBuilder rexBuilder,
RexNode expr,
com.google.common.collect.Multimap<RexNode,java.lang.Integer> exprsLineage)
Replaces all the possible sub-expressions by input references
to the input node.
|
private static RexNode |
AbstractMaterializedViewRule.shuttleReferences(RexBuilder rexBuilder,
RexNode expr,
com.google.common.collect.Multimap<RexNode,java.lang.Integer> exprsLineage,
RelNode node,
Mapping rewritingMapping)
Replaces all the possible sub-expressions by input references
to the input node.
|
private static Pair<RexNode,RexNode> |
AbstractMaterializedViewRule.splitPredicates(RexBuilder rexBuilder,
RexNode pred)
Classifies each of the predicates in the list into one of these two
categories:
1-l) column equality predicates, or
2-r) residual predicates, all the rest
|
private RexNode |
LoptOptimizeJoinRule.swapFilter(RexBuilder rexBuilder,
LoptMultiJoin multiJoin,
LoptJoinTree origLeft,
LoptJoinTree origRight,
RexNode condition)
Adjusts a filter to reflect swapping of join inputs
|
Constructor and Description |
---|
BinaryArithmeticExpander(RexBuilder builder) |
CaseExpander(RexBuilder rexBuilder) |
CastArgAsDoubleExpander(RexBuilder builder) |
CastArgAsTypeExpander(RexBuilder builder) |
CastExpander(RexBuilder builder) |
CeilExpander(RexBuilder rexBuilder) |
DecimalShuttle(RexBuilder rexBuilder) |
ExpanderMap(RexBuilder rexBuilder) |
ExtractShuttle(RexBuilder rexBuilder,
org.apache.calcite.avatica.util.TimeUnitRange timeUnit,
java.util.Map<RexNode,com.google.common.collect.RangeSet<java.util.Calendar>> operandRanges,
com.google.common.collect.ImmutableSortedSet<org.apache.calcite.avatica.util.TimeUnitRange> timeUnitRanges,
java.lang.String timeZone) |
FloorExpander(RexBuilder rexBuilder) |
LoptSemiJoinOptimizer(RelMetadataQuery mq,
LoptMultiJoin multiJoin,
RexBuilder rexBuilder) |
PassThroughExpander(RexBuilder builder) |
RefAndExprConverter(RexBuilder rexBuilder,
java.util.List<RelDataTypeField> srcFields,
java.util.List<RelDataTypeField> destFields,
int[] adjustments,
java.util.List<RexNode> preserveLeft,
int firstLeftRef,
java.util.List<RexNode> preserveRight,
int firstRightRef) |
ReinterpretExpander(RexBuilder builder) |
RemoveIsNotDistinctFromRexShuttle(RexBuilder rexBuilder) |
RexExpander(RexBuilder builder)
Constructs a RexExpander
|
RexFieldAccessReplacer(CorrelationId rexCorrelVariableToReplace,
RexCorrelVariable rexCorrelVariable,
RexBuilder builder,
java.util.Map<java.lang.Integer,java.lang.Integer> requiredColsMap) |
VariableReplacer(RexBuilder rexBuilder,
RelDataType leftType,
RelDataType rightType) |
Modifier and Type | Field and Description |
---|---|
private RexBuilder |
RexCopier.builder |
(package private) RexBuilder |
RexUtil.CnfHelper.rexBuilder |
(package private) RexBuilder |
RexUtil.DnfHelper.rexBuilder |
private RexBuilder |
RexUtil.FixNullabilityShuttle.rexBuilder |
private RexBuilder |
RexProgramBuilder.rexBuilder |
RexBuilder |
RexSimplify.rexBuilder |
private RexBuilder |
RexTransformer.rexBuilder |
Modifier and Type | Method and Description |
---|---|
static RexNode |
RexUtil.andNot(RexBuilder rexBuilder,
RexNode e,
java.lang.Iterable<? extends RexNode> notTerms)
Creates the expression
e1 AND NOT notTerm1 AND NOT notTerm2 ... . |
static RexNode |
RexUtil.andNot(RexBuilder rexBuilder,
RexNode e,
RexNode... notTerms)
Creates the expression
e1 AND NOT notTerm1 AND NOT notTerm2 ... . |
private java.lang.String |
RexExecutorImpl.compile(RexBuilder rexBuilder,
java.util.List<RexNode> constExps,
RexToLixTranslator.InputGetter getter) |
private java.lang.String |
RexExecutorImpl.compile(RexBuilder rexBuilder,
java.util.List<RexNode> constExps,
RexToLixTranslator.InputGetter getter,
RelDataType rowType) |
static RexNode |
RexUtil.composeConjunction(RexBuilder rexBuilder,
java.lang.Iterable<? extends RexNode> nodes)
As
RexUtil.composeConjunction(RexBuilder, Iterable, boolean) but never
returns null. |
static RexNode |
RexUtil.composeConjunction(RexBuilder rexBuilder,
java.lang.Iterable<? extends RexNode> nodes,
boolean nullOnEmpty)
Converts a collection of expressions into an AND.
|
static RexNode |
RexUtil.composeDisjunction(RexBuilder rexBuilder,
java.lang.Iterable<? extends RexNode> nodes)
Converts a collection of expressions into an OR.
|
static RexNode |
RexUtil.composeDisjunction(RexBuilder rexBuilder,
java.lang.Iterable<? extends RexNode> nodes,
boolean nullOnEmpty)
Converts a collection of expressions into an OR,
optionally returning null if the list is empty.
|
static RexProgram |
RexProgram.create(RelDataType inputRowType,
java.util.List<? extends RexNode> projectExprs,
RexNode conditionExpr,
java.util.List<java.lang.String> fieldNames,
RexBuilder rexBuilder)
Creates a program which calculates projections and filters rows based
upon a condition.
|
static RexProgram |
RexProgram.create(RelDataType inputRowType,
java.util.List<? extends RexNode> projectExprs,
RexNode conditionExpr,
RelDataType outputRowType,
RexBuilder rexBuilder)
Creates a program which calculates projections and filters rows based
upon a condition.
|
static RexProgramBuilder |
RexProgramBuilder.create(RexBuilder rexBuilder,
RelDataType inputRowType,
java.util.List<RexNode> exprList,
java.util.List<? extends RexNode> projectList,
RexNode condition,
RelDataType outputRowType,
boolean normalize)
Deprecated.
|
static RexProgramBuilder |
RexProgramBuilder.create(RexBuilder rexBuilder,
RelDataType inputRowType,
java.util.List<RexNode> exprList,
java.util.List<? extends RexNode> projectList,
RexNode condition,
RelDataType outputRowType,
boolean normalize,
boolean simplify_)
Deprecated.
|
static RexProgramBuilder |
RexProgramBuilder.create(RexBuilder rexBuilder,
RelDataType inputRowType,
java.util.List<RexNode> exprList,
java.util.List<? extends RexNode> projectList,
RexNode condition,
RelDataType outputRowType,
boolean normalize,
RexSimplify simplify)
Creates a program builder with the same contents as a program.
|
static RexProgramBuilder |
RexProgramBuilder.create(RexBuilder rexBuilder,
RelDataType inputRowType,
java.util.List<RexNode> exprList,
java.util.List<RexLocalRef> projectRefList,
RexLocalRef conditionRef,
RelDataType outputRowType,
RexShuttle shuttle,
boolean updateRefs)
Creates a program builder with the same contents as a program, applying a
shuttle first.
|
static java.util.List<RexNode> |
RexUtil.fixUp(RexBuilder rexBuilder,
java.util.List<RexNode> nodes,
java.util.List<RelDataType> fieldTypes)
Fixes up the type of all
RexInputRef s in an
expression to match differences in nullability. |
static java.util.List<RexNode> |
RexUtil.fixUp(RexBuilder rexBuilder,
java.util.List<RexNode> nodes,
RelDataType rowType)
Deprecated.
|
static RexNode |
RexUtil.flatten(RexBuilder rexBuilder,
RexNode node)
Flattens an expression.
|
static RexProgramBuilder |
RexProgramBuilder.forProgram(RexProgram program,
RexBuilder rexBuilder,
boolean normalize)
Creates a program builder and initializes it from an existing program.
|
private static java.util.List<RexSimplify.CaseBranch> |
RexSimplify.CaseBranch.fromCaseOperands(RexBuilder rexBuilder,
java.util.List<RexNode> operands)
Given "CASE WHEN p1 THEN v1 ...
|
private static <C extends RexNode> |
RexUtil.gatherConstraint(java.lang.Class<C> clazz,
RexNode left,
RexNode right,
java.util.Map<RexNode,C> map,
java.util.Set<RexNode> excludeSet,
RexBuilder rexBuilder) |
private static <C extends RexNode> |
RexUtil.gatherConstraints(java.lang.Class<C> clazz,
RexNode predicate,
java.util.Map<RexNode,C> map,
java.util.Set<RexNode> excludeSet,
RexBuilder rexBuilder) |
static java.util.List<RexNode> |
RexUtil.generateCastExpressions(RexBuilder rexBuilder,
RelDataType lhsRowType,
java.util.List<RexNode> rhsExps)
Generates a cast for a row type.
|
static java.util.List<RexNode> |
RexUtil.generateCastExpressions(RexBuilder rexBuilder,
RelDataType lhsRowType,
RelDataType rhsRowType)
Generates a cast from one row type to another
|
RexExecutable |
RexExecutorImpl.getExecutable(RexBuilder rexBuilder,
java.util.List<RexNode> exps,
RelDataType rowType)
Creates an
RexExecutable that allows to apply the
generated code during query processing (filter, projection). |
static RexNode |
RexUtil.invert(RexBuilder rexBuilder,
RexCall call) |
boolean |
RexProgram.isNormalized(Litmus litmus,
RexBuilder rexBuilder)
Returns whether this program is in canonical form.
|
static RexProgram |
RexProgramBuilder.mergePrograms(RexProgram topProgram,
RexProgram bottomProgram,
RexBuilder rexBuilder)
Merges two programs together, and normalizes the result.
|
static RexProgram |
RexProgramBuilder.mergePrograms(RexProgram topProgram,
RexProgram bottomProgram,
RexBuilder rexBuilder,
boolean normalize)
Merges two programs together.
|
static RexNode |
RexUtil.negate(RexBuilder rexBuilder,
RexCall call) |
RexProgram |
RexProgram.normalize(RexBuilder rexBuilder,
boolean simplify)
Deprecated.
|
static RexProgram |
RexProgramBuilder.normalize(RexBuilder rexBuilder,
RexProgram program)
Deprecated.
|
RexProgram |
RexProgram.normalize(RexBuilder rexBuilder,
RexSimplify simplify)
Creates a simplified/normalized copy of this program.
|
(package private) static RexNode |
RexUtil.not(RexBuilder rexBuilder,
RexNode input)
Applies NOT to an expression.
|
static com.google.common.base.Function<RexNode,RexNode> |
RexUtil.notFn(RexBuilder rexBuilder)
Deprecated.
|
static <C extends RexNode> |
RexUtil.predicateConstants(java.lang.Class<C> clazz,
RexBuilder rexBuilder,
java.util.List<RexNode> predicates)
Creates a map containing each (e, constant) pair that occurs within
a predicate list.
|
private static <C extends java.lang.Comparable<C>> |
RexSimplify.processRange(RexBuilder rexBuilder,
java.util.List<RexNode> terms,
java.util.Map<RexNode,Pair<com.google.common.collect.Range<C>,java.util.List<RexNode>>> rangeTerms,
RexNode term,
RexNode ref,
C v0,
SqlKind comparison) |
static RexNode |
RexUtil.pullFactors(RexBuilder rexBuilder,
RexNode node)
Creates an equivalent version of a node where common factors among ORs
are pulled up.
|
void |
RexExecutor.reduce(RexBuilder rexBuilder,
java.util.List<RexNode> constExps,
java.util.List<RexNode> reducedValues)
Reduces expressions, and writes their results into
reducedValues . |
void |
RexExecutorImpl.reduce(RexBuilder rexBuilder,
java.util.List<RexNode> constExps,
java.util.List<RexNode> reducedValues)
Do constant reduction using generated code.
|
void |
RexExecutable.reduce(RexBuilder rexBuilder,
java.util.List<RexNode> constExps,
java.util.List<RexNode> reducedValues) |
static RexNode |
RexUtil.simplify(RexBuilder rexBuilder,
RexNode e)
Deprecated.
Create a
RexSimplify , then call its
RexSimplify.simplify(RexNode, RexUnknownAs) method. |
static RexNode |
RexUtil.simplify(RexBuilder rexBuilder,
RexNode e,
boolean unknownAsFalse)
Deprecated.
Create a
RexSimplify , then call its
RexSimplify.simplify(RexNode, RexUnknownAs) method. |
static RexNode |
RexUtil.simplifyAnd(RexBuilder rexBuilder,
RexCall e,
boolean unknownAsFalse)
Deprecated.
|
static RexNode |
RexUtil.simplifyAnd2(RexBuilder rexBuilder,
java.util.List<RexNode> terms,
java.util.List<RexNode> notTerms)
Deprecated.
|
static RexNode |
RexUtil.simplifyAnd2ForUnknownAsFalse(RexBuilder rexBuilder,
java.util.List<RexNode> terms,
java.util.List<RexNode> notTerms)
Deprecated.
|
static RexNode |
RexUtil.simplifyAnds(RexBuilder rexBuilder,
java.lang.Iterable<? extends RexNode> nodes)
Deprecated.
|
static RexNode |
RexUtil.simplifyAnds(RexBuilder rexBuilder,
java.lang.Iterable<? extends RexNode> nodes,
boolean unknownAsFalse)
Deprecated.
|
private static RexNode |
RexSimplify.simplifyBooleanCase(RexBuilder rexBuilder,
java.util.List<RexSimplify.CaseBranch> inputBranches,
RexUnknownAs unknownAs,
RelDataType branchType) |
private static RexNode |
RexSimplify.simplifyBooleanCaseGeneric(RexBuilder rexBuilder,
java.util.List<RexSimplify.CaseBranch> branches,
RelDataType outputType)
Generic boolean case simplification.
|
static RexNode |
RexUtil.simplifyOr(RexBuilder rexBuilder,
RexCall call)
Deprecated.
|
static RexNode |
RexUtil.simplifyOrs(RexBuilder rexBuilder,
java.util.List<RexNode> terms)
Deprecated.
|
static RexNode |
RexUtil.simplifyPreservingType(RexBuilder rexBuilder,
RexNode e)
Deprecated.
Use
RexSimplify.simplifyPreservingType(RexNode) ,
which allows you to specify an RexExecutor . |
static RexNode |
RexUtil.swapColumnReferences(RexBuilder rexBuilder,
RexNode node,
java.util.Map<RexTableInputRef,java.util.Set<RexTableInputRef>> ec)
Given an expression, it will swap its column references
RexTableInputRef
using the contents in the map (in particular, the first element of the set in the
map value). |
static RexNode |
RexUtil.swapColumnTableReferences(RexBuilder rexBuilder,
RexNode node,
java.util.Map<RexTableInputRef,java.util.Set<RexTableInputRef>> ec,
java.util.Map<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping)
Given an expression, it will swap the column references
RexTableInputRef
using the contents in the first map (in particular, the first element of the set
in the map value), and then it will swap the table references contained in its
RexTableInputRef using the contents in the second map. |
static RexNode |
RexUtil.swapTableColumnReferences(RexBuilder rexBuilder,
RexNode node,
java.util.Map<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping,
java.util.Map<RexTableInputRef,java.util.Set<RexTableInputRef>> ec)
Given an expression, it will swap the table references contained in its
RexTableInputRef using the contents in the first map, and then
it will swap the column references RexTableInputRef using the contents
in the second map (in particular, the first element of the set in the map value). |
static RexNode |
RexUtil.swapTableReferences(RexBuilder rexBuilder,
RexNode node,
java.util.Map<RexTableInputRef.RelTableRef,RexTableInputRef.RelTableRef> tableMapping)
Given an expression, it will swap the table references contained in its
RexTableInputRef using the contents in the map. |
private static java.util.List<RexNode> |
RexSimplify.CaseBranch.toCaseOperands(RexBuilder rexBuilder,
java.util.List<RexSimplify.CaseBranch> branches) |
static RexNode |
RexUtil.toCnf(RexBuilder rexBuilder,
int maxCnfNodeCount,
RexNode rex)
Similar to
RexUtil.toCnf(RexBuilder, RexNode) ; however, it lets you
specify a threshold in the number of nodes that can be created out of
the conversion. |
static RexNode |
RexUtil.toCnf(RexBuilder rexBuilder,
RexNode rex)
Converts an expression to conjunctive normal form (CNF).
|
static RexNode |
RexUtil.toDnf(RexBuilder rexBuilder,
RexNode rex)
Converts an expression to disjunctive normal form (DNF).
|
Constructor and Description |
---|
CnfHelper(RexBuilder rexBuilder,
int maxNodeCount) |
DnfHelper(RexBuilder rexBuilder) |
FixNullabilityShuttle(RexBuilder rexBuilder,
java.util.List<RelDataType> typeList) |
RexCopier(RexBuilder builder)
Creates a RexCopier.
|
RexProgramBuilder(RelDataType inputRowType,
RexBuilder rexBuilder)
Creates a program-builder that will not simplify.
|
RexProgramBuilder(RelDataType inputRowType,
RexBuilder rexBuilder,
RexSimplify simplify)
Creates a program-builder.
|
RexProgramBuilder(RexBuilder rexBuilder,
RelDataType inputRowType,
java.util.List<RexNode> exprList,
java.lang.Iterable<? extends RexNode> projectList,
RexNode condition,
RelDataType outputRowType,
boolean normalize,
RexSimplify simplify)
Creates a program builder with the same contents as a program.
|
RexSimplify(RexBuilder rexBuilder,
boolean unknownAsFalse,
RexExecutor executor)
Deprecated.
|
RexSimplify(RexBuilder rexBuilder,
RelOptPredicateList predicates,
boolean unknownAsFalse,
RexExecutor executor)
Deprecated.
|
RexSimplify(RexBuilder rexBuilder,
RelOptPredicateList predicates,
RexExecutor executor)
Creates a RexSimplify.
|
RexSimplify(RexBuilder rexBuilder,
RelOptPredicateList predicates,
RexUnknownAs defaultUnknownAs,
boolean predicateElimination,
boolean paranoid,
RexExecutor executor)
Internal constructor.
|
RexTransformer(RexNode root,
RexBuilder rexBuilder) |
Modifier and Type | Method and Description |
---|---|
RexNode |
ModifiableView.getConstraint(RexBuilder rexBuilder,
RelDataType tableRowType)
Returns a constraint that each candidate row must satisfy.
|
Modifier and Type | Method and Description |
---|---|
RexNode |
ModifiableViewTable.getConstraint(RexBuilder rexBuilder,
RelDataType tableRowType) |
Modifier and Type | Method and Description |
---|---|
RexNode |
SqlSplittableAggFunction.singleton(RexBuilder rexBuilder,
RelDataType inputRowType,
AggregateCall aggregateCall)
Generates an expression for the value of the aggregate function when
applied to a single row.
|
RexNode |
SqlSplittableAggFunction.CountSplitter.singleton(RexBuilder rexBuilder,
RelDataType inputRowType,
AggregateCall aggregateCall)
Generates an expression for the value of the aggregate function when
applied to a single row.
|
RexNode |
SqlSplittableAggFunction.SelfSplitter.singleton(RexBuilder rexBuilder,
RelDataType inputRowType,
AggregateCall aggregateCall) |
RexNode |
SqlSplittableAggFunction.AbstractSumSplitter.singleton(RexBuilder rexBuilder,
RelDataType inputRowType,
AggregateCall aggregateCall) |
RexNode |
SqlSplittableAggFunction.Sum0Splitter.singleton(RexBuilder rexBuilder,
RelDataType inputRowType,
AggregateCall aggregateCall) |
AggregateCall |
SqlSplittableAggFunction.topSplit(RexBuilder rexBuilder,
SqlSplittableAggFunction.Registry<RexNode> extra,
int offset,
RelDataType inputRowType,
AggregateCall aggregateCall,
int leftSubTotal,
int rightSubTotal)
Generates an aggregate call to merge sub-totals.
|
AggregateCall |
SqlSplittableAggFunction.CountSplitter.topSplit(RexBuilder rexBuilder,
SqlSplittableAggFunction.Registry<RexNode> extra,
int offset,
RelDataType inputRowType,
AggregateCall aggregateCall,
int leftSubTotal,
int rightSubTotal) |
AggregateCall |
SqlSplittableAggFunction.SelfSplitter.topSplit(RexBuilder rexBuilder,
SqlSplittableAggFunction.Registry<RexNode> extra,
int offset,
RelDataType inputRowType,
AggregateCall aggregateCall,
int leftSubTotal,
int rightSubTotal) |
AggregateCall |
SqlSplittableAggFunction.AbstractSumSplitter.topSplit(RexBuilder rexBuilder,
SqlSplittableAggFunction.Registry<RexNode> extra,
int offset,
RelDataType inputRowType,
AggregateCall aggregateCall,
int leftSubTotal,
int rightSubTotal) |
Modifier and Type | Field and Description |
---|---|
private RexBuilder |
DeduplicateCorrelateVariables.DeduplicateCorrelateVariablesShuttle.builder |
private RexBuilder |
SqlToRelConverter.RexAccessShuttle.builder |
private RexBuilder |
RelStructuredTypeFlattener.rexBuilder |
(package private) RexBuilder |
RelDecorrelator.RemoveCorrelationRexShuttle.rexBuilder |
protected RexBuilder |
SqlToRelConverter.rexBuilder |
Modifier and Type | Method and Description |
---|---|
RexBuilder |
SqlRexContext.getRexBuilder()
Returns the
RexBuilder to use to create RexNode objects. |
RexBuilder |
InitializerContext.getRexBuilder() |
RexBuilder |
SqlToRelConverter.getRexBuilder()
Returns the row-expression builder.
|
RexBuilder |
SqlToRelConverter.Blackboard.getRexBuilder() |
Modifier and Type | Method and Description |
---|---|
private RexNode |
StandardConvertletTable.and(RexBuilder rexBuilder,
RexNode a0,
RexNode a1) |
private RexNode |
StandardConvertletTable.case_(RexBuilder rexBuilder,
RexNode... args) |
static RexNode |
StandardConvertletTable.castToValidatedType(SqlNode node,
RexNode e,
SqlValidator validator,
RexBuilder rexBuilder)
Casts a RexNode value to the validated type of a SqlCall.
|
RexNode |
AuxiliaryConverter.convert(RexBuilder rexBuilder,
RexNode groupCall,
RexNode e)
Converts an expression.
|
RexNode |
AuxiliaryConverter.Impl.convert(RexBuilder rexBuilder,
RexNode groupCall,
RexNode e) |
private static RexNode |
StandardConvertletTable.divide(RexBuilder rexBuilder,
RexNode res,
java.math.BigDecimal val) |
private static RexNode |
StandardConvertletTable.divideInt(RexBuilder rexBuilder,
RexNode a0,
RexNode a1) |
private RexNode |
StandardConvertletTable.eq(RexBuilder rexBuilder,
RexNode a0,
RexNode a1) |
private RexNode |
RelStructuredTypeFlattener.RewriteRexShuttle.flattenComparison(RexBuilder rexBuilder,
SqlOperator op,
java.util.List<RexNode> exprs) |
private RexNode |
StandardConvertletTable.ge(RexBuilder rexBuilder,
RexNode a0,
RexNode a1) |
static RelNode |
DeduplicateCorrelateVariables.go(RexBuilder builder,
CorrelationId canonicalId,
java.lang.Iterable<? extends CorrelationId> alternateIds,
RelNode r)
Rewrites a relational expression, replacing alternate correlation variables
with a canonical correlation variable.
|
private RexNode |
StandardConvertletTable.le(RexBuilder rexBuilder,
RexNode a0,
RexNode a1) |
private RexNode |
StandardConvertletTable.minus(RexBuilder rexBuilder,
RexNode a0,
RexNode a1) |
private RexNode |
StandardConvertletTable.mod(RexBuilder rexBuilder,
RelDataType resType,
RexNode res,
java.math.BigDecimal val) |
private static RexNode |
StandardConvertletTable.multiply(RexBuilder rexBuilder,
RexNode a0,
RexNode a1) |
private RexNode |
StandardConvertletTable.or(RexBuilder rexBuilder,
RexNode a0,
RexNode a1) |
private RexNode |
StandardConvertletTable.plus(RexBuilder rexBuilder,
RexNode a0,
RexNode a1) |
Constructor and Description |
---|
DeduplicateCorrelateVariables(RexBuilder builder,
CorrelationId canonicalId,
com.google.common.collect.ImmutableSet<CorrelationId> alternateIds)
Creates a DeduplicateCorrelateVariables.
|
DeduplicateCorrelateVariablesShuttle(RexBuilder builder,
CorrelationId canonicalId,
com.google.common.collect.ImmutableSet<CorrelationId> alternateIds,
DeduplicateCorrelateVariables shuttle) |
RelStructuredTypeFlattener(RelBuilder relBuilder,
RexBuilder rexBuilder,
RelOptTable.ToRelContext toRelContext,
boolean restructure) |
RelStructuredTypeFlattener(RexBuilder rexBuilder,
RelOptTable.ToRelContext toRelContext,
boolean restructure)
Deprecated.
|
RemoveCorrelationRexShuttle(RexBuilder rexBuilder,
boolean projectPulledAboveLeftCorrelator,
RexInputRef nullIndicator,
java.util.Set<java.lang.Integer> isCount) |
RexAccessShuttle(RexBuilder builder,
RexCorrelVariable rexCorrel) |
SqlToRelConverter(RelOptTable.ViewExpander viewExpander,
SqlValidator validator,
Prepare.CatalogReader catalogReader,
RelOptPlanner planner,
RexBuilder rexBuilder,
SqlRexConvertletTable convertletTable)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
RexBuilder |
RelBuilder.getRexBuilder()
Returns the builder for
RexNode expressions. |
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.