Package org.eigenbase.relopt

Defines interfaces for constructing rule-based optimizers of relational expressions.


Interface Summary
RelImplementor Callback used to hold state while converting a tree of relational expressions into a plan.
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.
RelOptListener RelOptListener defines an interface for listening to events which occur during the optimization process.
RelOptPlanner A RelOptPlanner 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.
RelOptQuery.DeferredLookup Contains the information necessary to repeat a call to SqlToRelConverter.Blackboard.lookup(int, org.eigenbase.sql2rel.SqlToRelConverter.LookupContext).
RelOptSchema A RelOptSchema is a set of RelOptTable objects.
RelOptSchemaWithSampling Extension to RelOptSchema with support for sample datasets.
RelOptTable Represents a relational dataset in a RelOptSchema.
RelTrait RelTrait represents the manifestation of a relational expression trait within a trait definition.

Class Summary
AbstractRelOptPlanner AbstractRelOptPlanner is an abstract base for implementations of the RelOptPlanner interface.
CallingConvention CallingConvention enumerates the calling conventions built in to the Saffron project.
CallingConventionTraitDef CallingConventionTraitDef is a RelTraitDef that defines the calling-convention trait.
CommonRelSubExprRule A CommonRelSubExprRule is an abstract base class for rules that are fired only on relational expressions that appear more than once in a query tree.
MulticastRelOptListener MulticastRelOptListener implements the RelOptListener interface by forwarding events on to a collection of other listeners.
RelOptAbstractTable A RelOptAbstractTable is a partial implementation of RelOptTable.
RelOptCluster A RelOptCluster is a collection of relational expressions which have the same environment.
RelOptCostImpl RelOptCostImpl provides a default implementation for the RelOptCost interface.
RelOptListener.RelEvent Event class for abstract event dealing with a relational expression.
RelOptPlanWriter Callback for an expression to dump itself to.
RelOptQuery A RelOptQuery represents a set of relational expressions which derive from the same select statement.
RelOptRule A RelOptRule transforms an expression into another.
RelOptRuleCall A RelOptRuleCall is an invocation of a RelOptRule with a set of relational expressions as arguments.
RelOptRuleOperand A RelOptRuleOperand determines whether a RelOptRule can be applied to a particular expression.
RelOptSamplingParameters RelOptSamplingParameters represents the parameters necessary to produce a sample of a relation.
RelOptUtil RelOptUtil defines static utility methods for use in optimizing RelNodes.
RelOptUtil.InputFinder Visitor which builds a bitmap of the inputs used by an expression.
RelOptUtil.RexInputConverter Walks an expression tree, converting the index of RexInputRefs based on some adjustment factor.
RelOptUtilTest Unit test for RelOptUtil and other classes in this package.
RelOptXmlPlanWriter Callback for a relational expression to dump in XML format.
RelTraitDef RelTraitDef represents a class of RelTraits.
RelTraitPropagationVisitor RelTraitPropagationVisitor traverses a RelNode and its unregistered children, making sure that each has a full complement of traits.
RelTraitSet RelTraitSet represents an ordered set of RelTraits.
TableAccessMap TableAccessMap represents the tables accessed by a query plan, with READ/WRITE information.
VisitorRelVisitor Walks over a tree of relational expressions, walking a RexShuttle over every expression in that tree.

Enum Summary
RelOptRuleOperand.Dummy Dummy type, containing a single value, for parameters to overloaded forms of the RelOptRuleOperand constructor signifying operands that will be matched by relational expressions with any number of children.

Package org.eigenbase.relopt Description

Defines interfaces for constructing rule-based optimizers of relational expressions.


Revision $Id: //open/dev/farrago/src/org/eigenbase/relopt/package.html#6 $
Copyright Copyright (C) 2005-2009 The Eigenbase Project
Copyright (C) 2004-2009 SQLstream, Inc.
Copyright (C) 2005-2009 LucidEra, Inc.
Author Julian Hyde