|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||
See:
Description
| Interface Summary | |
|---|---|
| PushProjector.ExprCondition | A functor that replies true or false for a given expression. |
| Class Summary | |
|---|---|
| AddRedundantSemiJoinRule | Rule to add a semijoin into a joinrel. |
| CoerceInputsRule | CoerceInputsRule precasts inputs to a particular type. |
| CombineUnionsRule | CombineUnionsRule implements the rule for combining two non-distinct UnionRels into a single UnionRel. |
| ConvertMultiJoinRule | Rule to flatten a tree of JoinRels into a single MultiJoinRel
with N inputs. |
| ExtractJoinFilterRule | Rule to convert an inner join to a filter
on top of a cartesian inner join. |
| FilterToCalcRule | Planner rule which converts a FilterRel to a CalcRel. |
| MergeCalcRule | Planner rule which merges a CalcRel onto a CalcRel. |
| MergeFilterOntoCalcRule | Planner rule which merges a FilterRel and a CalcRel. |
| MergeFilterRule | MergeFilterRule implements the rule for combining two FilterRels |
| MergeProjectOntoCalcRule | Planner rule which merges a ProjectRel and a CalcRel. |
| MergeProjectRule | MergeProjectRule merges a ProjectRel into another ProjectRel,
provided the projects aren't projecting identical sets of input references. |
| MultiJoinRel | A MultiJoinRel represents a join of N inputs, whereas other join relnodes represent strictly binary joins. |
| NestedLoopsJoinRule | Rule which converts a JoinRel into a CorrelatorRel, which can
then be implemented using nested loops. |
| ProjectToCalcRule | Rule to convert a ProjectRel to a CalcRel |
| PullConstantsThroughAggregatesRule | PullConstantsThroughAggregatesRule removes constant expressions from the
group list of an AggregateRel. |
| PullUpAggregateAboveUnionRule | PullUpAggregateAboveUnionRule implements the rule for pulling AggregateRels beneath a UnionRel so two AggregateRels that
are used to remove duplicates can be combined into a single AggregateRel. |
| PullUpProjectsAboveJoinRule | PullUpProjectsAboveJoinRule implements the rule for pulling ProjectRels beneath a JoinRel above the JoinRel. |
| PullUpProjectsOnTopOfMultiJoinRule | PullUpProjectsOnTopOfMultiJoinRule implements the rule for pulling ProjectRels that are on top of a MultiJoinRel and beneath a JoinRel so the ProjectRel appears above the JoinRel. |
| PushAggregateThroughUnionRule | PushAggregateThroughUnionRule implements the rule for pushing an
AggregateRel past a non-distinct UnionRel. |
| PushFilterIntoMultiJoinRule | PushFilterIntoMultiJoinRule implements the rule for pushing a FilterRel into a MultiJoinRel. |
| PushFilterPastJoinRule | PushFilterPastJoinRule implements the rule for pushing filters above and within a join node into the join node and/or its children nodes. |
| PushFilterPastProjectRule | PushFilterPastProjectRule implements the rule for pushing a FilterRel
past a ProjectRel. |
| PushFilterPastSetOpRule | PushFilterPastSetOpRule implements the rule for pushing a FilterRel
past a SetOpRel. |
| PushProjectIntoMultiJoinRule | PushProjectIntoMultiJoinRule implements the rule for pushing projection
information from a ProjectRel into the MultiJoinRel that is
input into the ProjectRel. |
| PushProjector | PushProjector is a utility class used to perform operations used in push projection rules. |
| PushProjector.OperatorExprCondition | An expression condition that evaluates to true if the expression is a call to one of a set of operators. |
| PushProjectPastFilterRule | PushProjectPastFilterRule implements the rule for pushing a projection past a filter. |
| PushProjectPastJoinRule | PushProjectPastJoinRule implements the rule for pushing a projection past a join by splitting the projection into a projection on top of each child of the join. |
| PushProjectPastSetOpRule | PushProjectPastSetOpRule implements the rule for pushing a ProjectRel
past a SetOpRel. |
| PushSemiJoinPastFilterRule | PushSemiJoinPastFilterRule implements the rule for pushing semijoins down in a tree past a filter in order to trigger other rules that will convert semijoins. |
| PushSemiJoinPastJoinRule | PushSemiJoinPastJoinRule implements the rule for pushing semijoins down in a tree past a join in order to trigger other rules that will convert semijoins. |
| PushSemiJoinPastProjectRule | PushSemiJoinPastProjectRule implements the rule for pushing semijoins down in a tree past a project in order to trigger other rules that will convert semijoins. |
| ReduceAggregatesRule | Rule to reduce aggregates to simpler forms. |
| 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). |
| RemoveDistinctAggregateRule | Rule to remove distinct aggregates from a AggregateRel. |
| RemoveDistinctRule | Rule to remove an AggregateRel implementing DISTINCT if the
underlying relational expression is already distinct. |
| RemoveEmptyRule | Collection of rules which remove sections of a query plan known never to produce any rows. |
| RemoveIsNotDistinctFromRule | Rule to replace isNotDistinctFromOperator with logical equivalent conditions
in a FilterRel. |
| RemoveSemiJoinRule | RemoveSemiJoinRule implements the rule that removes semijoins from a join tree if it turns out it's not possible to convert a SemiJoinRel to an indexed scan on a join factor. |
| RemoveTrivialCalcRule | Rule which removes a trivial CalcRel. |
| RemoveTrivialProjectRule | Rule which, given a ProjectRel node which merely returns its input,
converts the node into its child. |
| SemiJoinRel | A SemiJoinRel represents two relational expressions joined according to some condition, where the output only contains the columns from the left join input. |
| SwapJoinRule | SwapJoinRule permutes the inputs to a join. |
| SwapJoinRule.VariableReplacer | Walks over an expression, replacing references to fields of the left and right inputs. |
| TableAccessRule | TableAccessRule converts a TableAccessRel to the result of calling RelOptTable.toRel(org.eigenbase.relopt.RelOptCluster, org.eigenbase.relopt.RelOptConnection). |
| 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. |
| UnionToDistinctRule | UnionToDistinctRule translates a distinct UnionRel
(all = false) into an AggregateRel on top
of a non-distinct UnionRel (all = true). |
Defines relational expressions.
| Revision | $Id: //open/dev/farrago/src/org/eigenbase/rel/rules/package.html#4 $ |
|---|---|
| Copyright | Copyright (C) 2005-2009 The Eigenbase Project
Copyright (C) 2003-2009 SQLstream, Inc. Copyright (C) 2005-2009 LucidEra, Inc. |
| Author | Julian Hyde |
org.eigenbase.sql
is an object model for SQL expressions org.eigenbase.rex
is an object model for relational row expressions org.eigenbase.relopt provides an
optimizer interface.
|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||