| Package | Description |
|---|---|
| org.apache.calcite.plan |
Defines interfaces for constructing rule-based optimizers of
relational expressions.
|
| org.apache.calcite.rel.rules |
Provides a core set of planner rules.
|
| Class and Description |
|---|
| MultiJoin
A MultiJoin represents a join of N inputs, whereas regular Joins
represent strictly binary joins.
|
| Class and Description |
|---|
| AggregateExpandDistinctAggregatesRule
Planner rule that expands distinct aggregates
(such as
COUNT(DISTINCT x)) from a
LogicalAggregate. |
| AggregateFilterTransposeRule |
| AggregateJoinTransposeRule |
| AggregateProjectMergeRule |
| AggregateProjectPullUpConstantsRule
Planner rule that removes constant expressions from the
group list of an
LogicalAggregate. |
| AggregateReduceFunctionsRule
Planner rule that reduces aggregate functions in
Aggregates to simpler forms. |
| AggregateRemoveRule
Planner rule that removes
a
LogicalAggregate
if it computes no aggregate functions
(that is, it is implementing SELECT DISTINCT)
and the underlying relational expression is already distinct. |
| AggregateStarTableRule
Planner rule that matches an
Aggregate on
top of a StarTable.StarTableScan. |
| AggregateUnionAggregateRule |
| AggregateUnionTransposeRule |
| CalcMergeRule
Planner rule that merges a
LogicalCalc onto a
LogicalCalc. |
| CalcRemoveRule
Planner rule that removes a trivial
LogicalCalc. |
| CalcSplitRule |
| FilterAggregateTransposeRule |
| FilterCalcMergeRule
Planner rule that merges a
LogicalFilter and a
LogicalCalc. |
| FilterJoinRule
Planner rule that pushes filters above and
within a join node into the join node and/or its children nodes.
|
| FilterJoinRule.Predicate
Predicate that returns whether a filter is valid in the ON clause of a
join for this particular kind of join.
|
| FilterMergeRule
Planner rule that combines two
LogicalFilters. |
| FilterMultiJoinMergeRule |
| FilterProjectTransposeRule
Planner rule that pushes
a
LogicalFilter
past a LogicalProject. |
| FilterRemoveIsNotDistinctFromRule
Planner rule that replaces
IS NOT DISTINCT FROM
in a LogicalFilter
with logically equivalent operations. |
| FilterSetOpTransposeRule |
| FilterTableFunctionTransposeRule
Planner rule that pushes
a
LogicalFilter
past a LogicalTableFunctionScan. |
| FilterTableScanRule
Planner rule that converts
a
Filter
on a TableScan
of a FilterableTable
or a ProjectableFilterableTable
to a Bindables.BindableTableScan. |
| FilterToCalcRule
Planner rule that converts a
LogicalFilter to a
LogicalCalc. |
| JoinAddRedundantSemiJoinRule
Rule to add a semi-join into a join.
|
| JoinAssociateRule
Planner rule that changes a join based on the associativity rule.
|
| JoinCommuteRule
Planner rule that permutes the inputs to a
Join. |
| JoinExtractFilterRule |
| JoinProjectTransposeRule
Planner rule that matches a
Join one of whose inputs is a
LogicalProject, and
pulls the project up. |
| JoinPushTransitivePredicatesRule |
| JoinToCorrelateRule
Rule that converts a
LogicalJoin
into a LogicalCorrelate, which can
then be implemented using nested loops. |
| JoinToMultiJoinRule
Planner rule to flatten a tree of
LogicalJoins
into a single MultiJoin with N inputs. |
| JoinUnionTransposeRule
Planner rule that pushes a
LogicalJoin
past a non-distinct LogicalUnion. |
| LoptJoinTree
Utility class used to store a
Join tree
and the factors that make up the tree. |
| LoptJoinTree.BinaryTree
Simple binary tree class that stores an id in the leaf nodes and keeps
track of the parent LoptJoinTree object associated with the binary tree.
|
| LoptMultiJoin
Utility class that keeps track of the join factors that
make up a
MultiJoin. |
| LoptOptimizeJoinRule
Planner rule that implements the heuristic planner for determining optimal
join orderings.
|
| MultiJoin
A MultiJoin represents a join of N inputs, whereas regular Joins
represent strictly binary joins.
|
| MultiJoinOptimizeBushyRule
Planner rule that finds an approximately optimal ordering for join operators
using a heuristic algorithm.
|
| MultiJoinProjectTransposeRule
MultiJoinProjectTransposeRule implements the rule for pulling
LogicalProjects that are on top of a
MultiJoin and beneath a
LogicalJoin so the
LogicalProject appears above the
LogicalJoin. |
| ProjectCalcMergeRule
Planner rule which merges a
LogicalProject and a
LogicalCalc. |
| ProjectFilterTransposeRule |
| ProjectJoinTransposeRule |
| ProjectMergeRule |
| ProjectMultiJoinMergeRule |
| ProjectRemoveRule
Planner rule that,
given a
Project node that
merely returns its input, converts the node into its child. |
| ProjectSetOpTransposeRule
Planner rule that pushes
a
LogicalProject
past a SetOp. |
| ProjectSortTransposeRule
Planner rule that pushes
a
LogicalProject
past a Sort. |
| ProjectTableScanRule
Planner rule that converts a
Project
on a TableScan
of a ProjectableFilterableTable
to a Bindables.BindableTableScan. |
| ProjectToCalcRule
Rule to convert a
LogicalProject to a
LogicalCalc |
| ProjectToWindowRule
Planner rule that slices a
Project
into sections which contain windowed
aggregate functions and sections which do not. |
| PushProjector.ExprCondition
A functor that replies true or false for a given expression.
|
| ReduceDecimalsRule
ReduceDecimalsRule is a rule which reduces decimal operations (such as casts
or arithmetic) into operations involving more primitive types (such as longs
and doubles).
|
| ReduceExpressionsRule
Collection of planner rules that apply various simplifying transformations on
RexNode trees.
|
| SemiJoinFilterTransposeRule |
| SemiJoinJoinTransposeRule |
| SemiJoinProjectTransposeRule |
| SemiJoinRemoveRule
Planner rule that removes a
SemiJoins
from a join tree. |
| SemiJoinRule |
| SortProjectTransposeRule
Planner rule that pushes
a
Sort
past a LogicalProject. |
| SortRemoveRule
Planner rule that removes
a
Sort if its input is already sorted. |
| TableScanRule
Planner rule that converts a
LogicalTableScan to the result
of calling RelOptTable.toRel(org.apache.calcite.plan.RelOptTable.ToRelContext). |
UnionEliminatorRule
UnionEliminatorRule checks to see if its possible to optimize a
Union call by eliminating the Union operator altogether in the case the call
consists of only one input. |
| UnionMergeRule |
| UnionToDistinctRule |
| ValuesReduceRule
Planner rule that folds projections and filters into an underlying
LogicalValues. |
Copyright © 2012–2015 The Apache Software Foundation. All rights reserved.