Uses of Class
org.apache.calcite.tools.RelBuilder
-
Packages that use RelBuilder Package Description org.apache.calcite.plan Defines interfaces for constructing rule-based optimizers of relational expressions.org.apache.calcite.rel.core Defines core relational expressions.org.apache.calcite.rel.logical Defines logical relational expressions.org.apache.calcite.rel.mutable Defines mutable relational expressions.org.apache.calcite.rel.rules Provides a core set of planner rules.org.apache.calcite.sql2rel Translates a SQL parse tree to relational expression.org.apache.calcite.tools Provides utility classes. -
-
Uses of RelBuilder in org.apache.calcite.plan
Fields in org.apache.calcite.plan declared as RelBuilder Modifier and Type Field Description protected RelBuilder
SubstitutionVisitor. relBuilder
Factory for a builder for relational expressions.Methods in org.apache.calcite.plan that return RelBuilder Modifier and Type Method Description RelBuilder
RelOptRuleCall. builder()
Creates aRelBuilder
to be used by code within the call.Methods in org.apache.calcite.plan with parameters of type RelBuilder Modifier and Type Method Description static RelOptUtil.Exists
RelOptUtil. createExistsPlan(RelNode seekRel, RelOptUtil.SubQueryType subQueryType, RelOptUtil.Logic logic, boolean notIn, RelBuilder relBuilder)
Creates a plan suitable for use inEXISTS
orIN
statements.static RelNode
RelOptUtil. createProject(RelNode child, java.util.List<? extends RexNode> exprs, java.util.List<java.lang.String> fieldNames, boolean optimize, RelBuilder relBuilder)
Deprecated.static RelNode
RelOptUtil. pushDownJoinConditions(Join originalJoin, RelBuilder relBuilder)
Pushes down expressions in "equal" join condition.private static void
SubstitutionVisitor. reverseSubstitute(RelBuilder relBuilder, Holder query, java.util.List<java.util.List<SubstitutionVisitor.Replacement>> matches, java.util.List<RelNode> sub, int replaceCount, int maxCount)
-
Uses of RelBuilder in org.apache.calcite.rel.core
Methods in org.apache.calcite.rel.core with parameters of type RelBuilder Modifier and Type Method Description RelNode
TableScan. project(ImmutableBitSet fieldsUsed, java.util.Set<RelDataTypeField> extraFields, RelBuilder relBuilder)
Projects a subset of the fields of the table, and also asks for "extra" fields that were not included in the table's official type. -
Uses of RelBuilder in org.apache.calcite.rel.logical
Methods in org.apache.calcite.rel.logical with parameters of type RelBuilder Modifier and Type Method Description static RelNode
LogicalWindow. create(RelOptCluster cluster, RelTraitSet traitSet, RelBuilder relBuilder, RelNode child, RexProgram program)
Creates a LogicalWindow by parsing aRexProgram
. -
Uses of RelBuilder in org.apache.calcite.rel.mutable
Methods in org.apache.calcite.rel.mutable with parameters of type RelBuilder Modifier and Type Method Description static RelNode
MutableRels. fromMutable(MutableRel node, RelBuilder relBuilder)
private static java.util.List<RelNode>
MutableRels. fromMutables(java.util.List<MutableRel> nodes, RelBuilder relBuilder)
-
Uses of RelBuilder in org.apache.calcite.rel.rules
Fields in org.apache.calcite.rel.rules declared as RelBuilder Modifier and Type Field Description protected RelBuilder
CalcRelSplitter. relBuilder
private RelBuilder
PushProjector. relBuilder
Methods in org.apache.calcite.rel.rules that return RelBuilder Modifier and Type Method Description private RelBuilder
AggregateExpandDistinctAggregatesRule. convertMonopole(RelBuilder relBuilder, Aggregate aggregate, java.util.List<java.lang.Integer> argList, int filterArg)
Converts an aggregate relational expression that contains just one distinct aggregate function (or perhaps several over the same arguments) and no non-distinct aggregate functions.private RelBuilder
AggregateExpandDistinctAggregatesRule. convertSingletonDistinct(RelBuilder relBuilder, Aggregate aggregate, java.util.Set<Pair<java.util.List<java.lang.Integer>,java.lang.Integer>> argLists)
Converts an aggregate with one distinct aggregate and one or more non-distinct aggregates to multi-phase aggregates (see reference example below).private RelBuilder
AggregateExpandDistinctAggregatesRule. createSelectDistinct(RelBuilder relBuilder, Aggregate aggregate, java.util.List<java.lang.Integer> argList, int filterArg, java.util.Map<java.lang.Integer,java.lang.Integer> sourceOf)
Given anAggregate
and the ordinals of the arguments to a particular call to an aggregate function, creates a 'select distinct' relational expression which projects the group columns and those arguments but nothing else.Methods in org.apache.calcite.rel.rules with parameters of type RelBuilder Modifier and Type Method Description private void
LoptOptimizeJoinRule. addAdditionalFilters(RelBuilder relBuilder, LoptMultiJoin multiJoin, LoptJoinTree left, LoptJoinTree right, java.util.List<RexNode> filtersToAdd)
Determines whether any additional filters are applicable to a join tree.private LoptJoinTree
LoptOptimizeJoinRule. addFactorToTree(RelMetadataQuery mq, RelBuilder relBuilder, LoptMultiJoin multiJoin, LoptSemiJoinOptimizer semiJoinOpt, LoptJoinTree joinTree, int factorToAdd, java.util.BitSet factorsNeeded, java.util.List<RexNode> filtersToAdd, boolean selfJoin)
Adds a new factor into the current join tree.private LoptJoinTree
LoptOptimizeJoinRule. addToTop(RelMetadataQuery mq, RelBuilder relBuilder, LoptMultiJoin multiJoin, LoptSemiJoinOptimizer semiJoinOpt, LoptJoinTree joinTree, int factorToAdd, java.util.List<RexNode> filtersToAdd, boolean selfJoin)
Creates a join tree with the new factor added to the top of the treeprotected RexNode
SubQueryRemoveRule. apply(RexSubQuery e, java.util.Set<CorrelationId> variablesSet, RelOptUtil.Logic logic, RelBuilder builder, int inputCount, int offset)
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.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)
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)
private RelBuilder
AggregateExpandDistinctAggregatesRule. convertMonopole(RelBuilder relBuilder, Aggregate aggregate, java.util.List<java.lang.Integer> argList, int filterArg)
Converts an aggregate relational expression that contains just one distinct aggregate function (or perhaps several over the same arguments) and no non-distinct aggregate functions.private RelBuilder
AggregateExpandDistinctAggregatesRule. convertSingletonDistinct(RelBuilder relBuilder, Aggregate aggregate, java.util.Set<Pair<java.util.List<java.lang.Integer>,java.lang.Integer>> argLists)
Converts an aggregate with one distinct aggregate and one or more non-distinct aggregates to multi-phase aggregates (see reference example below).private LoptJoinTree
LoptOptimizeJoinRule. createJoinSubtree(RelMetadataQuery mq, RelBuilder relBuilder, LoptMultiJoin multiJoin, LoptJoinTree left, LoptJoinTree right, RexNode condition, JoinRelType joinType, java.util.List<RexNode> filtersToAdd, boolean fullAdjust, boolean selfJoin)
Creates a LogicalJoin given left and right operands and a join condition.private LoptJoinTree
LoptOptimizeJoinRule. createOrdering(RelMetadataQuery mq, RelBuilder relBuilder, LoptMultiJoin multiJoin, LoptSemiJoinOptimizer semiJoinOpt, int firstFactor)
Generates a join tree with a specific factor as the first factor in the join treeprivate LoptJoinTree
LoptOptimizeJoinRule. createReplacementJoin(RelBuilder relBuilder, LoptMultiJoin multiJoin, LoptSemiJoinOptimizer semiJoinOpt, LoptJoinTree currJoinTree, int leftIdx, int factorToAdd, ImmutableIntList newKeys, java.lang.Integer[] replacementKeys, java.util.List<RexNode> filtersToAdd)
Creates a replacement join, projecting either dummy columns or replacement keys from the factor that doesn't actually need to be joined.private LoptJoinTree
LoptOptimizeJoinRule. createReplacementSemiJoin(RelBuilder relBuilder, LoptMultiJoin multiJoin, LoptSemiJoinOptimizer semiJoinOpt, LoptJoinTree factTree, int dimIdx, java.util.List<RexNode> filtersToAdd)
In the event that a dimension table does not need to be joined because of a semijoin, this method creates a join tree that consists of a projection on top of an existing join tree.private RelBuilder
AggregateExpandDistinctAggregatesRule. createSelectDistinct(RelBuilder relBuilder, Aggregate aggregate, java.util.List<java.lang.Integer> argList, int filterArg, java.util.Map<java.lang.Integer,java.lang.Integer> sourceOf)
Given anAggregate
and the ordinals of the arguments to a particular call to an aggregate function, creates a 'select distinct' relational expression which projects the group columns and those arguments but nothing else.private RelNode
LoptOptimizeJoinRule. createTopProject(RelBuilder relBuilder, LoptMultiJoin multiJoin, LoptJoinTree joinTree, java.util.List<java.lang.String> fieldNames)
Creates the topmost projection that will sit on top of the selected join ordering.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.MaterializedViewAggregateRule. createUnion(RelBuilder relBuilder, RexBuilder rexBuilder, RelNode topProject, RelNode unionInputQuery, RelNode unionInputView)
protected RelNode
AbstractMaterializedViewRule.MaterializedViewJoinRule. createUnion(RelBuilder relBuilder, RexBuilder rexBuilder, RelNode topProject, RelNode unionInputQuery, RelNode unionInputView)
private void
AggregateExpandDistinctAggregatesRule. doRewrite(RelBuilder relBuilder, Aggregate aggregate, int n, java.util.List<java.lang.Integer> argList, int filterArg, java.util.List<RexInputRef> refs)
Converts all distinct aggregate calls to a given set of arguments.private RexInputRef
SubQueryRemoveRule. field(RelBuilder builder, int inputCount, int offset)
Returns a reference to a particular field, by offset, across several inputs on aRelBuilder
's stack.private static java.util.List<RexNode>
SubQueryRemoveRule. fields(RelBuilder builder, int fieldCount)
Returns a list of expressions that project the firstfieldCount
fields of the top input on aRelBuilder
's stack.private void
LoptOptimizeJoinRule. findBestOrderings(RelMetadataQuery mq, RelBuilder relBuilder, LoptMultiJoin multiJoin, LoptSemiJoinOptimizer semiJoinOpt, RelOptRuleCall call)
Generates N optimal join orderings.protected RelNode
CalcRelSplitter.RelType. makeRel(RelOptCluster cluster, RelTraitSet traitSet, RelBuilder relBuilder, RelNode input, RexProgram program)
protected void
AggregateReduceFunctionsRule. newAggregateRel(RelBuilder relBuilder, Aggregate oldAggregate, java.util.List<AggregateCall> newCalls)
Do a shallow clone of oldAggRel and update aggCalls.protected void
AggregateReduceFunctionsRule. newCalcRel(RelBuilder relBuilder, RelDataType rowType, java.util.List<RexNode> exprs)
Add a calc with the expressions to compute the original agg calls from the decomposed ones.private LoptJoinTree
LoptOptimizeJoinRule. pushDownFactor(RelMetadataQuery mq, RelBuilder relBuilder, LoptMultiJoin multiJoin, LoptSemiJoinOptimizer semiJoinOpt, LoptJoinTree joinTree, int factorToAdd, java.util.BitSet factorsNeeded, java.util.List<RexNode> filtersToAdd, boolean selfJoin)
Creates a join tree where the new factor is pushed down one of the operands of the current join treePair<RelNode,RelNode>
AbstractMaterializedViewRule.MaterializedViewAggregateRule. pushFilterToOriginalViewPlan(RelBuilder builder, RelNode topViewProject, RelNode viewNode, RexNode cond)
Pair<RelNode,RelNode>
AbstractMaterializedViewRule.MaterializedViewJoinRule. pushFilterToOriginalViewPlan(RelBuilder builder, RelNode topViewProject, RelNode viewNode, RexNode cond)
protected abstract Pair<RelNode,RelNode>
AbstractMaterializedViewRule. pushFilterToOriginalViewPlan(RelBuilder builder, RelNode topViewProject, RelNode viewNode, RexNode cond)
Once we create a compensation predicate, this method is responsible for pushing the resulting filter through the view nodes.private RexNode
SubQueryRemoveRule. rewriteExists(RexSubQuery e, java.util.Set<CorrelationId> variablesSet, RelOptUtil.Logic logic, RelBuilder builder)
Rewrites an EXISTS RexSubQuery into aJoin
.private RexNode
SubQueryRemoveRule. rewriteIn(RexSubQuery e, java.util.Set<CorrelationId> variablesSet, RelOptUtil.Logic logic, RelBuilder builder, int offset)
Rewrites an IN RexSubQuery into aJoin
.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 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 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.private RexNode
SubQueryRemoveRule. rewriteScalarQuery(RexSubQuery e, java.util.Set<CorrelationId> variablesSet, RelBuilder builder, int inputCount, int offset)
Rewrites a scalar sub-query into anAggregate
.private RexNode
SubQueryRemoveRule. rewriteSome(RexSubQuery e, RelBuilder builder)
Rewrites a SOME sub-query into aJoin
.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)
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 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.private static AggregateCall
AggregateStarTableRule. rollUp(int groupCount, RelBuilder relBuilder, AggregateCall aggregateCall, TileKey tileKey)
static RelNode
JoinCommuteRule. swap(Join join, boolean swapOuterJoins, RelBuilder relBuilder)
Returns a relational expression with the inputs switched round.Constructors in org.apache.calcite.rel.rules with parameters of type RelBuilder Constructor Description CalcRelSplitter(Calc calc, RelBuilder relBuilder, CalcRelSplitter.RelType[] relTypes)
Constructs a CalcRelSplitter.PushProjector(Project origProj, RexNode origFilter, RelNode childRel, PushProjector.ExprCondition preserveExprCondition, RelBuilder relBuilder)
Creates a PushProjector object for pushing projects past a RelNode.WindowedAggRelSplitter(Calc calc, RelBuilder relBuilder)
-
Uses of RelBuilder in org.apache.calcite.sql2rel
Fields in org.apache.calcite.sql2rel declared as RelBuilder Modifier and Type Field Description private RelBuilder
RelDecorrelator. relBuilder
private RelBuilder
RelFieldTrimmer. relBuilder
private RelBuilder
RelStructuredTypeFlattener. relBuilder
private RelBuilder
SqlToRelConverter. relBuilder
Methods in org.apache.calcite.sql2rel with parameters of type RelBuilder Modifier and Type Method Description static RelNode
RelDecorrelator. decorrelateQuery(RelNode rootRel, RelBuilder relBuilder)
Decorrelates a query.Constructors in org.apache.calcite.sql2rel with parameters of type RelBuilder Constructor Description RelDecorrelator(RelDecorrelator.CorelMap cm, Context context, RelBuilder relBuilder)
RelFieldTrimmer(SqlValidator validator, RelBuilder relBuilder)
Creates a RelFieldTrimmer.RelStructuredTypeFlattener(RelBuilder relBuilder, RexBuilder rexBuilder, RelOptTable.ToRelContext toRelContext, boolean restructure)
-
Uses of RelBuilder in org.apache.calcite.tools
Subclasses of RelBuilder in org.apache.calcite.tools Modifier and Type Class Description class
PigRelBuilder
Extension toRelBuilder
for Pig relational operators.Methods in org.apache.calcite.tools that return RelBuilder Modifier and Type Method Description RelBuilder
RelBuilder. aggregate(RelBuilder.GroupKey groupKey, java.lang.Iterable<RelBuilder.AggCall> aggCalls)
Creates anAggregate
with a list of calls.RelBuilder
RelBuilder. aggregate(RelBuilder.GroupKey groupKey, java.util.List<AggregateCall> aggregateCalls)
RelBuilder
RelBuilder. aggregate(RelBuilder.GroupKey groupKey, RelBuilder.AggCall... aggCalls)
Creates anAggregate
with an array of calls.RelBuilder
PigRelBuilder. as(java.lang.String alias)
As super-class method, but also retains alias for naming of aggregates.RelBuilder
RelBuilder. as(java.lang.String alias)
Assigns a table alias to the top entry on the stack.RelBuilder
RelBuilder. convert(RelDataType castRowType, boolean rename)
Creates a projection that converts the current relational expression's output to a desired row type.static RelBuilder
RelBuilder. create(FrameworkConfig config)
Creates a RelBuilder.RelBuilder
RelBuilderFactory. create(RelOptCluster cluster, RelOptSchema schema)
Creates a RelBuilder.RelBuilder
RelBuilder. distinct()
Creates anAggregate
that makes the relational expression distinct on all fields.RelBuilder
RelBuilder. empty()
Creates a relational expression that reads from an input and throws all of the rows away.RelBuilder
RelBuilder. exchange(RelDistribution distribution)
Creates an Exchange by distribution.RelBuilder
RelBuilder. filter(java.lang.Iterable<? extends RexNode> predicates)
Creates aFilter
of a list of predicates.RelBuilder
RelBuilder. filter(RexNode... predicates)
Creates aFilter
of an array of predicates.RelBuilder
RelBuilder. intersect(boolean all)
Creates anIntersect
of the two most recent relational expressions on the stack.RelBuilder
RelBuilder. intersect(boolean all, int n)
Creates anIntersect
of then
most recent relational expressions on the stack.RelBuilder
RelBuilder. join(JoinRelType joinType, java.lang.Iterable<? extends RexNode> conditions)
Creates aJoin
with multiple conditions.RelBuilder
RelBuilder. join(JoinRelType joinType, java.lang.String... fieldNames)
Creates aJoin
using USING syntax.RelBuilder
RelBuilder. join(JoinRelType joinType, RexNode condition)
RelBuilder
RelBuilder. join(JoinRelType joinType, RexNode condition, java.util.Set<CorrelationId> variablesSet)
Creates aJoin
with correlating variables.RelBuilder
RelBuilder. join(JoinRelType joinType, RexNode condition0, RexNode... conditions)
Creates aJoin
.RelBuilder
RelBuilder. limit(int offset, int fetch)
Creates a limit without a sort.RelBuilder
RelBuilder. match(RexNode pattern, boolean strictStart, boolean strictEnd, java.util.Map<java.lang.String,RexNode> patternDefinitions, java.lang.Iterable<? extends RexNode> measureList, RexNode after, java.util.Map<java.lang.String,? extends java.util.SortedSet<java.lang.String>> subsets, boolean allRows, java.lang.Iterable<? extends RexNode> partitionKeys, java.lang.Iterable<? extends RexNode> orderKeys, RexNode interval)
Creates aMatch
.RelBuilder
RelBuilder. minus(boolean all)
Creates aMinus
of the two most recent relational expressions on the stack.RelBuilder
RelBuilder. minus(boolean all, int n)
Creates aMinus
of then
most recent relational expressions on the stack.RelBuilder
RelBuilder. permute(Mapping mapping)
RelBuilder
RelBuilder. project(java.lang.Iterable<? extends RexNode> nodes)
Creates aProject
of the given list of expressions.RelBuilder
RelBuilder. project(java.lang.Iterable<? extends RexNode> nodes, java.lang.Iterable<java.lang.String> fieldNames)
Creates aProject
of the given list of expressions and field names.RelBuilder
RelBuilder. project(java.lang.Iterable<? extends RexNode> nodes, java.lang.Iterable<java.lang.String> fieldNames, boolean force)
Creates aProject
of the given list of expressions, using the given names.RelBuilder
RelBuilder. project(RexNode... nodes)
Creates aProject
of the given expressions.RelBuilder
RelBuilder. projectNamed(java.lang.Iterable<? extends RexNode> nodes, java.lang.Iterable<java.lang.String> fieldNames, boolean force)
Creates aProject
of the given expressions and field names, and optionally optimizing.RelBuilder
RelBuilder. projectPlus(java.lang.Iterable<RexNode> nodes)
Creates aProject
of all original fields, plus the given list of expressions.RelBuilder
RelBuilder. projectPlus(RexNode... nodes)
Creates aProject
of all original fields, plus the given expressions.RelBuilder
RelBuilder. push(RelNode node)
Adds a relational expression to be the input to the next relational expression constructed.RelBuilder
RelBuilder. pushAll(java.lang.Iterable<? extends RelNode> nodes)
Pushes a collection of relational expressions.RelBuilder
RelBuilder. rename(java.util.List<java.lang.String> fieldNames)
Ensures that the field names match those given.RelBuilder
RelBuilder. scan(java.lang.Iterable<java.lang.String> tableNames)
Creates aTableScan
of the table with a given name.RelBuilder
RelBuilder. scan(java.lang.String... tableNames)
Creates aTableScan
of the table with a given name.RelBuilder
RelBuilder. semiJoin(java.lang.Iterable<? extends RexNode> conditions)
Creates aSemiJoin
.RelBuilder
RelBuilder. semiJoin(RexNode... conditions)
Creates aSemiJoin
.private RelBuilder
RelBuilder. setOp(boolean all, SqlKind kind, int n)
RelBuilder
RelBuilder. sort(int... fields)
Creates aSort
by field ordinals.RelBuilder
RelBuilder. sort(java.lang.Iterable<? extends RexNode> nodes)
Creates aSort
by expressions.RelBuilder
RelBuilder. sort(RexNode... nodes)
Creates aSort
by expressions.RelBuilder
RelBuilder. sortExchange(RelDistribution distribution, RelCollation collation)
Creates a SortExchange by distribution and collation.RelBuilder
RelBuilder. sortLimit(int offset, int fetch, java.lang.Iterable<? extends RexNode> nodes)
Creates aSort
by a list of expressions, with limit and offset.RelBuilder
RelBuilder. sortLimit(int offset, int fetch, RexNode... nodes)
Creates aSort
by expressions, with limit and offset.RelBuilder
RelBuilder. union(boolean all)
Creates aUnion
of the two most recent relational expressions on the stack.RelBuilder
RelBuilder. union(boolean all, int n)
Creates aUnion
of then
most recent relational expressions on the stack.RelBuilder
RelBuilder. values(java.lang.Iterable<? extends java.util.List<RexLiteral>> tupleList, RelDataType rowType)
Creates aValues
with a specified row type.RelBuilder
RelBuilder. values(java.lang.String[] fieldNames, java.lang.Object... values)
Creates aValues
.RelBuilder
RelBuilder. values(RelDataType rowType)
Creates aValues
with a specified row type and zero rows.RelBuilder
RelBuilder. values(RelDataType rowType, java.lang.Object... columnValues)
Creates aValues
with a specified row type.RelBuilder
RelBuilder. variable(Holder<RexCorrelVariable> v)
Creates a correlation variable for the current input, and writes it into a Holder.
-