| Package | Description |
|---|---|
| org.apache.calcite.plan |
Defines interfaces for constructing rule-based optimizers of
relational expressions.
|
| org.apache.calcite.rel |
Defines relational expressions.
|
| 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.sql2rel |
Translates a SQL parse tree to relational expression.
|
| org.apache.calcite.tools |
Provides utility classes.
|
| Modifier and Type | Class and Description |
|---|---|
static class |
RelOptUtil.InputReferencedVisitor
Shuttle that finds the set of inputs that are used.
|
static class |
RelOptUtil.RexInputConverter
Walks an expression tree, converting the index of RexInputRefs based on
some adjustment factor.
|
static class |
RelOptUtil.VariableUsedVisitor
Visitor that finds all variables used in an expression.
|
| Modifier and Type | Method and Description |
|---|---|
protected static RexShuttle |
SubstitutionVisitor.getRexShuttle(MutableProject target)
Builds a shuttle that stores a list of expressions, and can map incoming
expressions to references to them.
|
private static RexShuttle |
RelOptUtil.pushShuttle(Project project) |
| Modifier and Type | Method and Description |
|---|---|
protected MutableRel |
SubstitutionVisitor.FilterToProjectUnifyRule.invert(List<Pair<RexNode,String>> namedProjects,
MutableRel input,
RexShuttle shuttle) |
| Modifier and Type | Method and Description |
|---|---|
RelNode |
AbstractRelNode.accept(RexShuttle shuttle) |
RelNode |
RelNode.accept(RexShuttle shuttle)
Accepts a visit from a shuttle.
|
| Modifier and Type | Method and Description |
|---|---|
RelNode |
Filter.accept(RexShuttle shuttle) |
RelNode |
Project.accept(RexShuttle shuttle) |
RelNode |
Calc.accept(RexShuttle shuttle) |
RelNode |
TableFunctionScan.accept(RexShuttle shuttle) |
RelNode |
Sort.accept(RexShuttle shuttle) |
RelNode |
Join.accept(RexShuttle shuttle) |
| Modifier and Type | Class and Description |
|---|---|
private static class |
RelMdExpressionLineage.RexReplacer
Replaces expressions with their equivalences.
|
| Modifier and Type | Class and Description |
|---|---|
private static class |
CalcRelSplitter.InputToCommonExprConverter
Shuttle which converts every reference to an input field in an expression
to a reference to a common sub-expression.
|
(package private) static class |
DateRangeRules.ExtractShuttle
Walks over an expression, replacing calls to
EXTRACT, FLOOR and CEIL with date ranges. |
private class |
FilterRemoveIsNotDistinctFromRule.RemoveIsNotDistinctFromRexShuttle
Shuttle that removes 'x IS NOT DISTINCT FROM y' and converts it
to 'CASE WHEN x IS NULL THEN y IS NULL WHEN y IS NULL THEN x IS
NULL ELSE x = y END'.
|
private class |
PushProjector.RefAndExprConverter
Walks an expression tree, replacing input refs with new values to reflect
projection and converting special expressions to field references.
|
class |
ReduceDecimalsRule.DecimalShuttle
A shuttle which converts decimal expressions to expressions based on
longs.
|
protected static class |
ReduceExpressionsRule.CaseShuttle
Shuttle that pushes predicates into a CASE.
|
protected static class |
ReduceExpressionsRule.RexReplacer
Replaces expressions with their reductions.
|
private static class |
SubQueryRemoveRule.ReplaceSubQueryShuttle
Shuttle that replaces occurrences of a given
RexSubQuery with a replacement
expression. |
private static class |
ValuesReduceRule.MyRexShuttle
Shuttle that converts inputs to literals.
|
| Modifier and Type | Method and Description |
|---|---|
RelNode |
MultiJoin.accept(RexShuttle shuttle) |
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
RexCopier
Shuttle which creates a deep copy of a Rex expression.
|
class |
RexPermutationShuttle
Visitor which replaces
RexLocalRef objects after the expressions in a
RexProgram have been reordered. |
class |
RexPermuteInputsShuttle
Shuttle which applies a permutation to its input fields.
|
(package private) static class |
RexProgram.ExpansionShuttle
A RexShuttle used in the implementation of
RexProgram.expandLocalRef(org.apache.calcite.rex.RexLocalRef). |
private class |
RexProgramBuilder.RegisterInputShuttle
Shuttle which walks over an expression, registering each sub-expression.
|
private class |
RexProgramBuilder.RegisterMidputShuttle
Extension to
RexProgramBuilder.RegisterInputShuttle which allows expressions to be
in terms of inputs or previous common sub-expressions. |
private class |
RexProgramBuilder.RegisterOutputShuttle
Shuttle which walks over an expression, registering each sub-expression.
|
private class |
RexProgramBuilder.RegisterShuttle
Shuttle that visits a tree of
RexNode and registers them
in a program. |
private class |
RexProgramBuilder.UpdateRefShuttle
Shuttle which rewires
RexLocalRef using a list of updated
references |
static class |
RexUtil.ExprSimplifier
Deep expressions simplifier.
|
static class |
RexUtil.FixNullabilityShuttle
Shuttle that fixes up an expression to match changes in nullability of
input fields.
|
private static class |
RexUtil.RexShiftShuttle
Shuttle that adds
offset to each RexInputRef in an
expression. |
| Modifier and Type | Method and Description |
|---|---|
private void |
RexProgramBuilder.add(List<RexNode> exprList,
List<RexLocalRef> projectRefList,
RexLocalRef conditionRef,
RelDataType outputRowType,
RexShuttle shuttle,
boolean updateRefs)
Adds a set of expressions, projections and filters, applying a shuttle
first.
|
static RexProgramBuilder |
RexProgramBuilder.create(RexBuilder rexBuilder,
RelDataType inputRowType,
List<RexNode> exprList,
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.
|
| Modifier and Type | Class and Description |
|---|---|
private static class |
CorrelationReferenceFinder.MyRexVisitor
Replaces alternative names of correlation variable to its canonical name.
|
private static class |
DeduplicateCorrelateVariables.DeduplicateCorrelateVariablesShuttle
Replaces alternative names of correlation variable to its canonical name.
|
private static class |
RelDecorrelator.DecorrelateRexShuttle
Shuttle that decorrelates.
|
private class |
RelDecorrelator.RemoveCorrelationRexShuttle
Shuttle that removes correlations.
|
private class |
RelStructuredTypeFlattener.RewriteRexShuttle
Shuttle that rewrites scalar expressions.
|
private class |
SqlToRelConverter.HistogramShuttle
Shuttle which walks over a tree of
RexNodes and applies 'over' to
all agg functions. |
| Modifier and Type | Field and Description |
|---|---|
private RexShuttle |
DeduplicateCorrelateVariables.dedupRex |
| Modifier and Type | Class and Description |
|---|---|
private class |
RelBuilder.Shifter
Shuttle that shifts a predicate's inputs to the left, replacing early
ones with references to a
RexCorrelVariable. |
Copyright © 2012–2018 The Apache Software Foundation. All rights reserved.