|
|||||||||
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 UnionRel s into a single UnionRel . |
ConvertMultiJoinRule | Rule to flatten a tree of JoinRel s 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 FilterRel s |
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 AggregateRel s beneath a UnionRel so two AggregateRel s that
are used to remove duplicates can be combined into a single AggregateRel . |
PullUpProjectsAboveJoinRule | PullUpProjectsAboveJoinRule implements the rule for pulling ProjectRel s beneath a JoinRel above the JoinRel . |
PullUpProjectsOnTopOfMultiJoinRule | PullUpProjectsOnTopOfMultiJoinRule implements the rule for pulling ProjectRel s 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 |