| 
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||
See:
          Description
| Interface Summary | |
|---|---|
| RexAction | A RexAction is called when a RexPattern finds a match. | 
| RexPattern | A RexPattern represents an expression with holes in it. | 
| RexSqlConvertlet | Converts a RexNode expression into a SqlNode expression. | 
| RexSqlConvertletTable | Collection of RexSqlConvertlets. | 
| RexToSqlNodeConverter | Converts expressions from RexNode to SqlNode. | 
| RexVisitor<R> | Visitor pattern for traversing a tree of RexNode objects. | 
| Class Summary | |
|---|---|
| RexBuilder | Factory for row expressions. | 
| RexCall | An expression formed by a call to an operator with zero or more expressions as operands. | 
| RexCallBinding | RexCallBinding implements SqlOperatorBinding by
 referring to an underlying collection of RexNode operands. | 
| RexChecker | Visitor which checks the validity of a RexNode expression. | 
| RexCopier | Shuttle which creates a deep copy of a Rex expression. | 
| RexCorrelVariable | Reference to the current row of a correlating relational expression. | 
| RexDynamicParam | Dynamic parameter reference in a row-expression. | 
| RexFieldAccess | Access to a field of a row-expression. | 
| RexInputRef | Variable which references a field of an input relational expression. | 
| RexLiteral | Constant value in a row-expression. | 
| RexLocalRef | Local variable. | 
| RexMultisetUtil | Utility class for various methods related to multisets. | 
| RexMultisetUtil.RexCallMultisetOperatorCounter | A RexShuttle that traverse all RexNode and counts total number of RexCalls traversed and number of multiset calls traversed. | 
| RexNode | Row expression. | 
| RexOver | Call to an aggregate function over a window. | 
| RexOver.Finder | Visitor which detects a RexOver inside a RexNode
 expression. | 
| RexPermutationShuttle | Visitor which replaces RexLocalRef objects after the expressions in a
 RexProgram have been reordered. | 
| RexPermuteInputsShuttle | Shuttle which applies a permutation to its input fields. | 
| RexProgram | A collection of expressions which read inputs, compute output expressions, and optionally use a condition to filter rows. | 
| RexProgram.Checker | Visitor which walks over a program and checks validity. | 
| RexProgramBuilder | Workspace for constructing a RexProgram. | 
| RexRangeRef | Reference to a range of columns. | 
| RexShuttle | Passes over a row-expression, calling a handler method for each node, appropriate to the type of the node. | 
| RexSlot | Abstract base class for RexInputRef and RexLocalRef. | 
| RexSqlReflectiveConvertletTable | Implementation of RexSqlConvertletTable. | 
| RexSqlStandardConvertletTable | Standard implementation of RexSqlConvertletTable. | 
| RexToSqlNodeConverterImpl | Standard implementation of RexToSqlNodeConverter. | 
| RexToSqlTranslator | Translates a row-expression to a SQL parse
 tree. | 
| RexTransformer | Takes a tree of RexNode objects and transforms it into another in one
 sense equivalent tree. | 
| RexUtil | Utility methods concerning row-expressions. | 
| RexUtil.ExpressionNormalizer | Walks over expressions and builds a bank of common sub-expressions. | 
| RexUtil.FieldAccessFinder | Visitor which builds a bitmap of the inputs used by an expression. | 
| RexUtil.ForwardRefFinder | Walks over an expression and throws an exception if it finds an RexInputRef with an ordinal beyond the number of fields in the input row
 type, or a RexLocalRef with ordinal greater than that set using
 RexUtil.ForwardRefFinder.setLimit(int). | 
| RexVariable | A row-expression which references a field. | 
| RexVisitorImpl<R> | Default implementation of RexVisitor, which visits each node but does
 nothing while it's there. | 
| RexWindow | Specification of the window of rows over which a RexOver windowed
 aggregate is evaluated. | 
| Enum Summary | |
|---|---|
| RexKind | Enumeration of some important types of row-expression. | 
| Exception Summary | |
|---|---|
| RexOver.OverFound | |
| RexUtil.ExpressionNormalizer.SubExprExistsException | Thrown if there is a sub-expression. | 
| RexUtil.ForwardRefFinder.IllegalForwardRefException | |
Provides a language for representing row-expressions.
| Revision | $Id: //open/dev/farrago/src/org/eigenbase/rex/package.html#7 $ | 
|---|---|
| Copyright | Copyright (C) 2005-2009 The Eigenbase Project
     Copyright (C) 2003-2009 SQLstream, Inc. Copyright (C) 2005-2009 LucidEra, Inc.  | 
  
| Author | Julian Hyde | 
A SqlToRelConverter converts a SQL parse tree 
consisting of SqlNode objects into a relational 
expression (RelNode). Several kinds of nodes in 
this tree have row expressions (RexNode).
After the relational expression has been optimized, a JavaRelImplementor converts it into to a plan. If the plan is a Java 
parse tree, row-expressions are translated into equivalent Java expressions.
Every row-expression has a type. (Compare with
SqlNode, which is created before validation, and
therefore types may not be available.)
Every node in the parse tree is a RexNode. Sub-types are:
RexLiteral represents a boolean, numeric, string, or 
  date constant, or the value NULL.RexVariable represents a leaf of the tree. It 
  has sub-types:RexCorrelVariable is a correlating variable for 
  nested-loop joinsRexInputRef refers to a field of an input 
  relational expressionRexCall is a call to an operator or function. 
  By means of special operators, we can use this construct to represent 
  virtually every non-leaf node in the tree.RexRangeRef refers to a collection of 
  contiguous fields from an input relational expression. It usually exists only 
  during translation.Expressions are generally
created using a RexBuilder factory. If Java 
expressions are to be converted, you can use a derived class, JavaRexBuilder.
org.eigenbase.sql SQL object modelorg.eigenbase.relopt Core classes, including RelDataType and RelDataTypeFactory.
  | 
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | ||||||||