|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.derby.impl.sql.compile.QueryTreeNode
org.apache.derby.impl.sql.compile.ValueNode
org.apache.derby.impl.sql.compile.CastNode
An CastNode represents a cast expressionr.
| Field Summary | |
(package private) ValueNode |
castOperand
|
(package private) DataTypeDescriptor |
castTarget
|
(package private) TypeId |
destCTI
|
(package private) boolean |
forDataTypeFunction
|
(package private) TypeId |
sourceCTI
|
(package private) int |
targetCharType
|
| Fields inherited from class org.apache.derby.impl.sql.compile.ValueNode |
clause, dataTypeServices, IN_HAVING_CLAUSE, IN_SELECT_LIST, IN_UNKNOWN_CLAUSE, IN_WHERE_CLAUSE, transformed |
| Fields inherited from class org.apache.derby.impl.sql.compile.QueryTreeNode |
AUTOINCREMENT_INC_INDEX, AUTOINCREMENT_IS_AUTOINCREMENT_INDEX, AUTOINCREMENT_START_INDEX, beginOffset, endOffset |
| Constructor Summary | |
CastNode()
|
|
| Method Summary | |
Visitable |
accept(Visitor v)
Accept a visitor, and call v.visit() on child nodes as necessary. |
void |
bindCastNodeOnly()
Bind this node but not its child. |
ValueNode |
bindExpression(FromList fromList,
SubqueryList subqueryList,
java.util.Vector aggregateVector)
Bind this expression. |
(package private) void |
bindParameter()
By default unary operators don't accept ? |
boolean |
categorize(JBitSet referencedTabs,
boolean simplePredsOnly)
Categorize this predicate. |
boolean |
constantExpression(PredicateList whereClause)
Return whether or not this expression tree represents a constant value. |
private void |
genDataValueConversion(ExpressionClassBuilder acb,
MethodBuilder mb)
|
void |
generateExpression(ExpressionClassBuilder acb,
MethodBuilder mb)
Do code generation for this unary operator. |
private ValueNode |
getCastFromCharConstant(int destJDBCTypeId)
Get a constant representing the cast from a CHAR to another type. |
private ValueNode |
getCastFromIntegralType(long longValue,
int destJDBCTypeId)
Get a constant representing the cast from an integral type to another type. |
private ValueNode |
getCastFromNumericType(DataValueDescriptor constantValue,
int destJDBCTypeId)
Get a constant representing the cast from a non-integral type to another type. |
(package private) java.lang.Object |
getConstantValueAsObject()
Return an Object representing the bind time value of this expression tree. |
boolean |
getForDataTypeFunction()
is this a cast node for a data type scalar function? |
protected int |
getOrderableVariantType()
Return the variant type for the underlying expression. |
void |
init(java.lang.Object castOperand,
java.lang.Object castTarget)
Initializer for a CastNode |
void |
init(java.lang.Object castOperand,
java.lang.Object charType,
java.lang.Object charLength)
Initializer for a CastNode |
boolean |
isConstantExpression()
Return whether or not this expression tree represents a constant expression. |
ValueNode |
preprocess(int numTables,
FromList outerFromList,
SubqueryList outerSubqueryList,
PredicateList outerPredicateList)
Preprocess an expression tree. |
void |
printSubNodes(int depth)
Prints the sub-nodes of this object. |
ValueNode |
remapColumnReferencesToExpressions()
Remap all ColumnReferences in this tree to be clones of the underlying expression. |
void |
setClause(int clause)
Set the clause that this node appears in. |
void |
setForDataTypeFunction(boolean b)
set this to be a dataTypeScalarFunction |
java.lang.String |
toString()
Convert this object to a String. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
DataTypeDescriptor castTarget
ValueNode castOperand
int targetCharType
TypeId destCTI
TypeId sourceCTI
boolean forDataTypeFunction
| Constructor Detail |
public CastNode()
| Method Detail |
public void init(java.lang.Object castOperand,
java.lang.Object castTarget)
throws StandardException
init in class QueryTreeNodecastOperand - The operand of the nodecastTarget - DataTypeServices (target type of cast)
StandardException - Thrown on error
public void init(java.lang.Object castOperand,
java.lang.Object charType,
java.lang.Object charLength)
throws StandardException
init in class QueryTreeNodecastOperand - The operand of the nodecharType - CHAR or VARCHAR JDBC type as targetcharLength - target type length
StandardException - Thrown on errorpublic java.lang.String toString()
toString in class ValueNodepublic void printSubNodes(int depth)
printSubNodes in class QueryTreeNodedepth - The depth of this node in the tree
protected int getOrderableVariantType()
throws StandardException
ValueNode
getOrderableVariantType in class ValueNodeStandardException - Thrown on errorpublic void setClause(int clause)
setClause in class ValueNodeclause - The clause that this node appears in.
public ValueNode bindExpression(FromList fromList,
SubqueryList subqueryList,
java.util.Vector aggregateVector)
throws StandardException
bindExpression in class ValueNodefromList - The FROM list for the query this
expression is in, for binding columns.subqueryList - The subquery list being built as we find SubqueryNodesaggregateVector - The aggregate vector being built as we find AggregateNodes
StandardException - Thrown on error
public void bindCastNodeOnly()
throws StandardException
StandardException - Thrown on error
private ValueNode getCastFromCharConstant(int destJDBCTypeId)
throws StandardException
destJDBCTypeId - The destination JDBC TypeId
StandardException - Thrown on error
private ValueNode getCastFromIntegralType(long longValue,
int destJDBCTypeId)
throws StandardException
longValue - integral type as a long to cast fromdestJDBCTypeId - The destination JDBC TypeId
StandardException - Thrown on error
private ValueNode getCastFromNumericType(DataValueDescriptor constantValue,
int destJDBCTypeId)
throws StandardException
destJDBCTypeId - The destination JDBC TypeId
StandardException - Thrown on error
public ValueNode preprocess(int numTables,
FromList outerFromList,
SubqueryList outerSubqueryList,
PredicateList outerPredicateList)
throws StandardException
preprocess in class ValueNodenumTables - Number of tables in the DML StatementouterFromList - FromList from outer query blockouterSubqueryList - SubqueryList from outer query blockouterPredicateList - PredicateList from outer query block
StandardException - Thrown on error
public boolean categorize(JBitSet referencedTabs,
boolean simplePredsOnly)
throws StandardException
categorize in class ValueNodereferencedTabs - JBitSet with bit map of referenced FromTablessimplePredsOnly - Whether or not to consider method
calls, field references and conditional nodes
when building bit map
StandardException - Thrown on error
public ValueNode remapColumnReferencesToExpressions()
throws StandardException
remapColumnReferencesToExpressions in class ValueNodeStandardException - Thrown on errorpublic boolean isConstantExpression()
isConstantExpression in class ValueNodepublic boolean constantExpression(PredicateList whereClause)
ValueNode
constantExpression in class ValueNodeValueNode.constantExpression(org.apache.derby.impl.sql.compile.PredicateList)
void bindParameter()
throws StandardException
StandardException - Always thrown to indicate a
? parameter where it isn't allowed.
java.lang.Object getConstantValueAsObject()
throws StandardException
getConstantValueAsObject in class ValueNodeStandardException - Thrown on error
public void generateExpression(ExpressionClassBuilder acb,
MethodBuilder mb)
throws StandardException
generateExpression in class ValueNodeacb - The ExpressionClassBuilder for the class we're generatingmb - The method the code to place the code
StandardException - Thrown on error
private void genDataValueConversion(ExpressionClassBuilder acb,
MethodBuilder mb)
throws StandardException
StandardException
public Visitable accept(Visitor v)
throws StandardException
accept in interface Visitableaccept in class QueryTreeNodev - the visitor
StandardException - on errorpublic void setForDataTypeFunction(boolean b)
b - true to use function conversion rulespublic boolean getForDataTypeFunction()
|
Built on Tue 2006-10-10 19:23:47+0200, from revision exported | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||