

PREV PACKAGE NEXT PACKAGE  FRAMES NO FRAMES 
See:
Description
Class Summary  

CalcRelSplitter  CalcRelSplitter operates on a CalcRel with multiple RexCall
subexpressions that cannot all be implemented by a single concrete RelNode . 
CalcRelSplitter.HighestUsageFinder  Builds an array of the highest level which contains an expression which uses each expression as an input. 
CalcRelSplitter.ImplementTester  Visitor which returns whether an expression can be implemented in a given type of relational expression. 
CalcRelSplitter.InputToCommonExprConverter  Shuttle which converts every reference to an input field in an expression to a reference to a common subexpression. 
CalcRelSplitter.MaxInputFinder  Finds the highest level used by any of the inputs of a given expression. 
CalcRelSplitter.RelType  
FarragoAutoCalcRule  FarragoAutoCalcRule is a rule for implementing CalcRel via a
combination of the Fennel Calculator (FennelCalcRel ) and the Java
Calculator (IterCalcRel ). 
FarragoAutoCalcRule.AutoCalcRelSplitter  
FarragoAutoCalcRule.FennelRelType  
FarragoAutoCalcRule.JavaRelType  
FarragoMultisetSplitterRule  FarragoMultisetSplitterRule is a planner rule which removes multiset operations from an expression. 
FennelAggRel  FennelAggRel represents the Fennel implementation of aggregation. 
FennelAggRule  FennelAggRule is a rule for transforming AggregateRel to FennelAggRel . 
FennelBernoulliSamplingRel  FennelBernoulliSamplingRel implements Bernoullistyle table sampling using a generic Fennel XO. 
FennelBernoulliSamplingRule  FennelBernoulliSamplingRule converts a SamplingRel into a FennelBernoulliSamplingRel , regardless of whether the original SamplingRel
specified Bernoulli or system sampling. 
FennelBufferCommonRelSubExprRule  FennelBufferCommonRelSubExprRule is a rule that places a Fennel buffering node on top of a common relational subexpression, provided it makes sense to do so from a cost perspective. 
FennelBufferRel  FennelBufferRel represents the Fennel implementation of a buffering stream. 
FennelCalcRel  FennelCalcRel is the relational expression corresponding to a Calc implemented inside of Fennel. 
FennelCalcRule  FennelCalcRule is a rule for implementing CalcRel via a Fennel
Calculator (FennelCalcRel ). 
FennelCartesianJoinRule  FennelCartesianJoinRule is a rule for converting an INNER JoinRel with no join condition into a FennelCartesianProductRel. 
FennelCartesianProductRel  FennelCartesianProductRel represents the Fennel implementation of Cartesian product. 
FennelCollectRule  FennelCollectRule is a rule to implement a call made with the SqlMultisetValueConstructor 
FennelCorrelatorRule  FennelCorrelatorRule is a rule to implement the join of two correlated streams. 
FennelDistinctSortRule  FennelDistinctSortRule is a rule for implementing DISTINCT via a Fennel sort. 
FennelDoubleRel  FennelDoubleRel is a FennelRel which takes two FennelRels as inputs. 
FennelEmptyRule  FennelEmptyRule provides an implementation for EmptyRel in terms of FennelValuesRel . 
FennelIdxWriteRel  FennelIdxWriteRel takes its input and writes the records into an index. 
FennelInsertRenameRule  FennelInsertRenameRule is a rule for converting a renameonly Project underneath an insert TableModificationRel into FennelRename. 
FennelMergeRel  FennelMergeRel represents the Fennel implementation of UNION ALL. 
FennelMultipleRel  Abstract base class for relational expressions which implement FennelRel and have variable numbers of inputs. 
FennelMultiUseBufferRel  FennelMultiUseBufferRel represents the Fennel implementation of a buffering stream that's used in multiple places in a stream graph. 
FennelNestedLoopJoinRel  FennelNestedLoopJoinRel represents the Fennel implementation of a nested loop join. 
FennelNestedLoopJoinRule  FennelNestedLoopJoinRule is a rule for converting a JoinRel with a
join condition into a FennelNestedLoopJoinRel . 
FennelOneRowRule  FennelOneRowRule provides an implementation for OneRowRel in terms of
FennelValuesRel . 
FennelOptionalRel  FennelOptionalRel is a FennelRel which either takes zero inputs or
takes a single FennelRel as input. 
FennelPullCollectRel  FennelPullCollectRel is the relational expression corresponding to a collect implemented inside of Fennel. 
FennelPullCorrelatorRel  FennelPullCorrelatorRel is the relational expression corresponding to a correlation between two streams implemented inside of Fennel. 
FennelPullUncollectRel  FennelPullUncollectRel is the relational expression corresponding to an UNNEST (Uncollect) implemented inside of Fennel. 
FennelRelUtil  Static utilities for FennelRel implementations. 
FennelRemoveRedundantSortRule  FennelRemoveRedundantSortRule removes instances of SortRel which are already satisfied by the physical ordering produced by an underlying FennelRel. 
FennelRenameRel  FennelRenameRel is the Fennel implementation of a renameonly relational Project operator (which is a noop). 
FennelRenameRule  FennelRenameRule is a rule for converting a renameonly Project into FennelRename. 
FennelReshapeRel  FennelReshapeRel represents the Fennel implementation of an execution stream that does projections, simple casting, and simple filtering. 
FennelReshapeRule  FennelReshapeRule is a rule that converts a CalcRel into a FennelReshapeRel , provided the CalcRel only references simple
projections and contains a simple condition, if it has a condition. 
FennelSingleRel  FennelSingleRel is a FennelRel corresponding to SingleRel ,
and which only takes a FennelRel as input. 
FennelSortRel  FennelSortRel is the relational expression corresponding to a sort implemented inside of Fennel. 
FennelSortRule  FennelSortRule is a rule for implementing SortRel via a Fennel sort. 
FennelTempIdxSearchRel  FennelTempIdxSearchRel searches a temporary index that is built during runtime using search keys read through dynamic parameters and search directives passed in through its input. 
FennelUncollectRule  FennelUncollectRule is a rule to implement a call with the SqlStdOperatorTable.unnestOperator 
FennelUnionRule  Rule to convert a UnionRel to Fennel calling convention . 
FennelValuesRel  FennelValuesRel is Fennel implementation of ValuesRel . 
FennelValuesRule  FennelValuesRule provides an implementation for ValuesRel in terms of
FennelValuesRel . 
FennelWindowRel  FennelWindowRel is the relational expression which computes windowed aggregates inside of Fennel. 
FennelWindowRel.Partition  A Partition is a collection of windowed aggregate expressions which
belong to the same FennelWindowRel.Window and have the same partitioning keys. 
FennelWindowRel.RexWinAggCall  A call to a windowed aggregate function. 
FennelWindowRel.Window  A Window is a range of input rows, defined by an upper and lower bound. 
FennelWindowRule  FennelWindowRule is a rule for implementing a CalcRel which contains
windowed aggregates via a FennelWindowRel . 
LhxAggRel  LhxAggRel represents hash aggregation. 
LhxAggRule  LhxAggRule is a rule for transforming AggregateRel to LhxAggRel . 
LhxIntersectRule  LhxIntersectRule is a rule for transforming IntersectRel to LhxJoinRel . 
LhxJoinRel  LhxJoinRel implements the hash join. 
LhxJoinRule  LhxJoinRule implements the planner rule for converting a JoinRel with join condition into a LhxJoinRel (hash join). 
LhxMinusRule  LhxMinusRule is a rule for transforming MinusRel to LhxJoinRel . 
LhxSemiJoinRule  LcsSemiJoinRule implements the rule for converting a join (which evaluates a semi join) expression into the a hash semi join. 
WindowedAggSplitterRule  Rule which slices the CalcRel into sections which contain windowed
agg functions and sections which do not. 
WindowedAggSplitterRule.WindowedAggRelSplitter  Splitter which distinguishes between windowed aggregation expressions
(calls to RexOver ) and ordinary expressions. 
Enum Summary  

FennelSearchEndpoint  FennelSearchEndpoint defines an enumeration corresponding to fennel/common/SearchEndpoint.h. 
LhxJoinRelType  Enumeration of LucidDB Hash Join types. 
Exception Summary  

CalcRelSplitter.CannotImplement  Control exception for CalcRelSplitter.ImplementTester . 
Defines relational expressions and rules for Fennel's physical algebra.
Revision  $Id: //open/dev/farrago/src/net/sf/farrago/fennel/rel/package.html#1 $ 

Copyright  Copyright (C) 20052009 The Eigenbase Project
Copyright (C) 20042009 SQLstream, Inc. Copyright (C) 20092009 LucidEra, Inc. 
Author  Julian Hyde 


PREV PACKAGE NEXT PACKAGE  FRAMES NO FRAMES 