|
||||||||||
| 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. |
| Class Summary | |
| RexBuilder | Factory for row expressions. |
| RexCall | An expression formed by a call to an operator with zero or more expressions as operands. |
| RexCorrelVariable | Reference to the current row of a correlating relational expression. |
| RexFieldAccess | Access to a field of a row-expression. |
| RexInputRef | Variable which references a field of an input relational expression. |
| RexKind | Enumeration of some important types of row-expression. |
| RexList | List of row-expression nodes |
| RexLiteral | Constant value in a row-expression. |
| RexNode | Row expression. |
| RexOperator | Defines a function |
| RexOperatorTable | A RexOperatorTable is ... |
| 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. |
| RexTest | Regression test suite for row-expressions. |
| RexToSqlTranslator | Translates a row-expression to a SQL parse
tree. |
| RexUtil | Utility methods concerning row-expressions. |
| RexVariable | A row-expression which references a field. |
Provides a language for representing row-expressions.
| Revision | $Id: //open/saffron/src/net/sf/saffron/sql/package.html#1 $ |
|---|---|
| Copyright | (C) Copyright 2003-2003 Disruptive Technologies, Inc. |
| Author | Julian Hyde |
A SqlToRelConverter converts a SQL parse tree
consisting of SqlNode objects into a relational
expression (SaffronRel). Several kinds of nodes in
this tree have row expressions (RexNode).
After the relational expression has been optimized, a saffron.opt.RelImplementor 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 expressionAggInternalTranslator.RexGroupVariable and AggInternalTranslator.RexAggVariable are created
temporarily while an aggregate expression is being translatedRexCall 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.
InternalTranslator translates a Java
row-expression (ParseTree) into a row-expression, all
within the context of a particular QueryInfo and
input relational expressions (SaffronRel).
SaffronType and SaffronTypeFactory.
|
|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES | |||||||||