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 {@link org.eigenbase.sql2rel.SqlToRelConverter} converts a SQL parse tree consisting of {@link org.eigenbase.sql.SqlNode} objects into a relational expression ({@link org.eigenbase.rel.RelNode}). Several kinds of nodes in this tree have row expressions ({@link org.eigenbase.rex.RexNode}).
After the relational expression has been optimized, a {@link org.eigenbase.oj.rel.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 {@link org.eigenbase.sql.SqlNode}, which is created before validation, and therefore types may not be available.)
Every node in the parse tree is a {@link org.eigenbase.rex.RexNode}. Sub-types are:
NULL
.Expressions are generally created using a {@link org.eigenbase.rex.RexBuilder} factory. If Java expressions are to be converted, you can use a derived class, {@link org.eigenbase.oj.util.JavaRexBuilder}.