Package org.apache.calcite.plan
Defines interfaces for constructing rule-based optimizers of
relational expressions.
-
Interface Summary Interface Description CommonRelSubExprRule.Config Rule configuration.Context Provides library users a way to store data within the planner session and access it within rules.Convention Calling convention trait.RelDigest The digest is the exact representation of the correspondingRelNode
, at anytime, anywhere.RelHintsPropagator Customize the propagation of theRelHint
s from the root relational expression of a rule callRelOptRuleCall
to the new equivalent expression.RelImplementor This is a marker interface for a callback used to convert a tree ofrelational expressions
into a plan.RelMultipleTrait Trait for which a given relational expression can have multiple values.RelOptConnection The planner's view of a connection to a database.RelOptCost RelOptCost defines an interface for optimizer cost in terms of number of rows processed, CPU cost, and I/O cost.RelOptCostFactory Cost model for query planning.RelOptListener RelOptListener defines an interface for listening to events which occur during the optimization process.RelOptNode Node in a planner.RelOptPlanner ARelOptPlanner
is a query optimizer: it transforms a relational expression into a semantically equivalent relational expression, according to a given set of rules and a cost model.RelOptPlanner.Executor Deprecated. UseRexExecutor
RelOptSchema ARelOptSchema
is a set ofRelOptTable
objects.RelOptSchemaWithSampling Extension toRelOptSchema
with support for sample data-sets.RelOptTable Represents a relational dataset in aRelOptSchema
.RelOptTable.ToRelContext Contains the context needed to convert a a table into a relational expression.RelOptTable.ViewExpander Can expand a view into relational expressions.RelRule.Config Rule configuration.RelRule.Done Indicates that an operand is complete.RelRule.MatchHandler<R extends RelOptRule> Callback interface that helps you avoid creating sub-classes ofRelRule
that differ only in implementations ofRelOptRule.onMatch(RelOptRuleCall)
method.RelRule.OperandBuilder Callback to create an operand.RelRule.OperandDetailBuilder<R extends RelNode> Add details about an operand, such as its inputs.RelRule.OperandTransform Function that creates an operand.RelTrait RelTrait represents the manifestation of a relational expression trait within a trait definition. -
Class Summary Class Description AbstractRelOptPlanner Abstract base for implementations of theRelOptPlanner
interface.CommonRelSubExprRule ACommonRelSubExprRule
is an abstract base class for rules that are fired only on relational expressions that appear more than once in a query tree.Contexts Utilities forContext
.Convention.Impl Default implementation.ConventionTraitDef Definition of the convention trait.MaterializedViewSubstitutionVisitor Deprecated. MulticastRelOptListener MulticastRelOptListener implements theRelOptListener
interface by forwarding events on to a collection of other listeners.RelOptAbstractTable Partial implementation ofRelOptTable
.RelOptCluster An environment for related relational expressions during the optimization of a query.RelOptCostImpl RelOptCostImpl provides a default implementation for theRelOptCost
interface.RelOptLattice Use of a lattice by the query optimizer.RelOptListener.RelChosenEvent Event indicating that a relational expression has been chosen.RelOptListener.RelDiscardedEvent Event indicating that a relational expression has been discarded.RelOptListener.RelEquivalenceEvent Event indicating that a relational expression has been found to be equivalent to an equivalence class.RelOptListener.RelEvent Event class for abstract event dealing with a relational expression.RelOptListener.RuleAttemptedEvent Event indicating that a planner rule has been attempted.RelOptListener.RuleEvent Event indicating that a planner rule has fired.RelOptListener.RuleProductionEvent Event indicating that a planner rule has produced a result.RelOptMaterialization Records that a particular query is materialized by a particular table.RelOptMaterializations Utility methods for using materialized views and lattices for queries.RelOptPredicateList Predicates that are known to hold in the output of a particular relational expression.RelOptQuery ARelOptQuery
represents a set ofrelational expressions
which derive from the sameselect
statement.RelOptRule ARelOptRule
transforms an expression into another.RelOptRule.ConverterRelOptRuleOperand Operand to an instance of the converter rule.RelOptRuleCall ARelOptRuleCall
is an invocation of aRelOptRule
with a set ofrelational expression
s as arguments.RelOptRuleOperand Operand that determines whether aRelOptRule
can be applied to a particular expression.RelOptRuleOperandChildren Deprecated. RelOptRules A utility class for organizing built-in rules and rule related methods.RelOptSamplingParameters RelOptSamplingParameters represents the parameters necessary to produce a sample of a relation.RelOptUtil RelOptUtil
defines static utility methods for use in optimizingRelNode
s.RelOptUtil.Exists RelOptUtil.InputFinder Visitor which builds a bitmap of the inputs used by an expression.RelOptUtil.InputReferencedVisitor Shuttle that finds the set of inputs that are used.RelOptUtil.RexInputConverter Walks an expression tree, converting the index of RexInputRefs based on some adjustment factor.RelOptUtil.TypeDumper Converts types to descriptive strings.RelOptUtil.VariableUsedVisitor Visitor that finds all variables used in an expression.RelRule<C extends RelRule.Config> Rule that is parameterized via a configuration.RelTraitDef<T extends RelTrait> RelTraitDef represents a class ofRelTrait
s.RelTraitPropagationVisitor Deprecated. As of 1.19, if you need to perform certain assertions regarding a RelNode tree and the contained traits you are encouraged to implement your own RelVisitor orRelShuttle
directly.RelTraitSet RelTraitSet represents an ordered set ofRelTrait
s.RexImplicationChecker Checks whether one condition logically implies another.Strong Utilities for strong predicates.SubstitutionVisitor Substitutes part of a tree of relational expressions with another tree.SubstitutionVisitor.AbstractUnifyRule Abstract base class for implementingSubstitutionVisitor.UnifyRule
.SubstitutionVisitor.Operand Operand to aSubstitutionVisitor.UnifyRule
.SubstitutionVisitor.UnifyResult Result of an application of aSubstitutionVisitor.UnifyRule
indicating that the rule successfully matchedquery
againsttarget
and generated aresult
that is equivalent toquery
and containstarget
.SubstitutionVisitor.UnifyRule Rule that attempts to match a query relational expression against a target relational expression.TableAccessMap TableAccessMap
represents the tables accessed by a query plan, with READ/WRITE information.ViewExpanders Utilities forRelOptTable.ViewExpander
andRelOptTable.ToRelContext
.VisitorDataContext DataContext for evaluating a RexExpression. -
Enum Summary Enum Description DeriveMode The mode of trait derivation.RelOptRuleOperandChildPolicy Policy by which operands will be matched by relational expressions with any number of children.RelOptUtil.Logic Policies for handling two- and three-valued boolean logic.RelOptUtil.SubQueryType What kind of sub-query.Strong.Policy How whether an operator's operands are null affects whether a call to that operator evaluates to null.TableAccessMap.Mode Access mode. -
Exception Summary Exception Description RelOptPlanner.CannotPlanException Thrown byRelOptPlanner.findBestExp()
.SubstitutionVisitor.MatchFailed Exception thrown to exit a matcher.