Package org.apache.calcite.plan
@DefaultQualifier(value=org.checkerframework.checker.nullness.qual.NonNull.class,locations=FIELD) @DefaultQualifier(value=org.checkerframework.checker.nullness.qual.NonNull.class,locations=PARAMETER) @DefaultQualifier(value=org.checkerframework.checker.nullness.qual.NonNull.class,locations=RETURN)
package org.apache.calcite.plan
Defines interfaces for constructing rule-based optimizers of
relational expressions.
-
ClassDescriptionAbstract base for implementations of the
RelOptPlanner
interface.ACommonRelSubExprRule
is an abstract base class for rules that are fired only on relational expressions that appear more than once in a query tree.Rule configuration.Provides library users a way to store data within the planner session and access it within rules.Utilities forContext
.Calling convention trait.Default implementation.Definition of the convention trait.The mode of trait derivation.Deprecated.MulticastRelOptListener implements theRelOptListener
interface by forwarding events on to a collection of other listeners.The digest is the exact representation of the correspondingRelNode
, at anytime, anywhere.Customize the propagation of theRelHint
s from the root relational expression of a rule callRelOptRuleCall
to the new equivalent expression.This is a marker interface for a callback used to convert a tree ofrelational expressions
into a plan.Trait for which a given relational expression can have multiple values.Partial implementation ofRelOptTable
.An environment for related relational expressions during the optimization of a query.The planner's view of a connection to a database.RelOptCost defines an interface for optimizer cost in terms of number of rows processed, CPU cost, and I/O cost.Cost model for query planning.RelOptCostImpl provides a default implementation for theRelOptCost
interface.Use of a lattice by the query optimizer.RelOptListener defines an interface for listening to events which occur during the optimization process.Event indicating that a relational expression has been chosen.Event indicating that a relational expression has been discarded.Event indicating that a relational expression has been found to be equivalent to an equivalence class.Event class for abstract event dealing with a relational expression.Event indicating that a planner rule has been attempted.Event indicating that a planner rule has fired.Event indicating that a planner rule has produced a result.Records that a particular query is materialized by a particular table.Utility methods for using materialized views and lattices for queries.Node in a planner.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.Thrown byRelOptPlanner.findBestExp()
.Deprecated.Predicates that are known to hold in the output of a particular relational expression.ARelOptQuery
represents a set ofrelational expressions
which derive from the sameselect
statement.ARelOptRule
transforms an expression into another.Operand to an instance of the converter rule.ARelOptRuleCall
is an invocation of aRelOptRule
with a set ofrelational expression
s as arguments.Operand that determines whether aRelOptRule
can be applied to a particular expression.Policy by which operands will be matched by relational expressions with any number of children.Deprecated.A utility class for organizing built-in rules and rule related methods.RelOptSamplingParameters represents the parameters necessary to produce a sample of a relation.ARelOptSchema
is a set ofRelOptTable
objects.Extension toRelOptSchema
with support for sample data-sets.Represents a relational dataset in aRelOptSchema
.Contains the context needed to convert a a table into a relational expression.Can expand a view into relational expressions.RelOptUtil
defines static utility methods for use in optimizingRelNode
s.Visitor which builds a bitmap of the inputs used by an expression.Shuttle that finds the set of inputs that are used.Policies for handling two- and three-valued boolean logic.Walks an expression tree, converting the index of RexInputRefs based on some adjustment factor.What kind of sub-query.Converts types to descriptive strings.Visitor that finds all variables used in an expression.RelRule<C extends RelRule.Config>Rule that is parameterized via a configuration.Rule configuration.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.Callback to create an operand.RelRule.OperandDetailBuilder<R extends RelNode>Add details about an operand, such as its inputs.Function that creates an operand.RelTrait represents the manifestation of a relational expression trait within a trait definition.RelTraitDef<T extends RelTrait>RelTraitDef represents a class ofRelTrait
s.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 represents an ordered set ofRelTrait
s.Checks whether one condition logically implies another.Listener for logging useful debugging information on certain rule events.Utilities for strong predicates.How whether an operator's operands are null affects whether a call to that operator evaluates to null.Substitutes part of a tree of relational expressions with another tree.Abstract base class for implementingSubstitutionVisitor.UnifyRule
.Exception thrown to exit a matcher.Operand to aSubstitutionVisitor.UnifyRule
.Result of an application of aSubstitutionVisitor.UnifyRule
indicating that the rule successfully matchedquery
againsttarget
and generated aresult
that is equivalent toquery
and containstarget
.Rule that attempts to match a query relational expression against a target relational expression.Deprecated.As of 1.30.0, if you need to know how tables in a plan are accessed you are encouraged to implement your own logic (using a RelNode visitor or other).Access mode.Utilities forRelOptTable.ViewExpander
andRelOptTable.ToRelContext
.DataContext for evaluating a RexExpression.
RexExecutor