|
||||||||||
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.StatementNode
org.apache.derby.impl.sql.compile.DMLStatementNode
org.apache.derby.impl.sql.compile.CallStatementNode
An CallStatementNode represents a CALL statement. It is the top node of the query tree for that statement. There are 2 flavors, class and object, of call statements. A class call statement is a static method call off of a class expression (class classnameandpath), while an object call statement is a method call off of an object expression. The return value, if any, from the underlying method call is ignored.
Field Summary | |
private java.util.Vector |
aggregateVector
|
private ValueNode |
methodCall
|
private java.lang.String |
methodName
|
private SubqueryList |
subqueries
|
Fields inherited from class org.apache.derby.impl.sql.compile.DMLStatementNode |
resultSet |
Fields inherited from class org.apache.derby.impl.sql.compile.StatementNode |
NEED_CURSOR_ACTIVATION, NEED_DDL_ACTIVATION, NEED_NOTHING_ACTIVATION, NEED_PARAM_ACTIVATION, NEED_ROW_ACTIVATION |
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 | |
CallStatementNode()
|
Method Summary | |
Visitable |
accept(Visitor v)
Accept a visitor, and call v.visit() on child nodes as necessary. |
QueryTreeNode |
bind()
Bind this UpdateNode. |
void |
generate(ActivationClassBuilder acb,
MethodBuilder mb)
Code generation for CallStatementNode. |
MethodCallNode |
getMethodCallNode()
Get the method call node. |
void |
init(java.lang.Object methodName,
java.lang.Object methodCall)
Initializer for a CallStatementNode. |
ResultDescription |
makeResultDescription()
Make a ResultDescription for use in a PreparedStatement. |
QueryTreeNode |
optimize()
Optimize a DML statement (which is the only type of statement that should need optimizing, I think). |
void |
printSubNodes(int depth)
Prints the sub-nodes of this object. |
java.lang.String |
statementToString()
|
java.lang.String |
toString()
Convert this object to a String. |
Methods inherited from class org.apache.derby.impl.sql.compile.DMLStatementNode |
activationKind, bind, bindExpressions, bindExpressionsWithTables, bindResultSetsWithTables, bindTables, generateParameterHolders, generateParameterValueSet, getResultSetNode, init, isAtomic |
Methods inherited from class org.apache.derby.impl.sql.compile.StatementNode |
generate, lockTableForCompilation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private java.lang.String methodName
private ValueNode methodCall
private SubqueryList subqueries
private java.util.Vector aggregateVector
Constructor Detail |
public CallStatementNode()
Method Detail |
public void init(java.lang.Object methodName, java.lang.Object methodCall) throws StandardException
init
in class QueryTreeNode
methodName
- The method namemethodCall
- The expression to "call"
StandardException
- Thrown on errorpublic java.lang.String toString()
toString
in class StatementNode
public java.lang.String statementToString()
statementToString
in class StatementNode
public void printSubNodes(int depth)
printSubNodes
in class DMLStatementNode
depth
- The depth of this node in the tree
public QueryTreeNode bind() throws StandardException
Binding an update will also massage the tree so that the ResultSetNode has a single column, the RID.
bind
in class QueryTreeNode
StandardException
- Thrown on errorpublic QueryTreeNode optimize() throws StandardException
optimize
in class DMLStatementNode
StandardException
- Thrown on errorpublic void generate(ActivationClassBuilder acb, MethodBuilder mb) throws StandardException
generate
in class QueryTreeNode
acb
- The ActivationClassBuilder for the class being builtmb
- The method for the execute() method to be built
StandardException
- Thrown on errorpublic ResultDescription makeResultDescription()
DMLStatementNode
makeResultDescription
in class DMLStatementNode
public Visitable accept(Visitor v) throws StandardException
accept
in interface Visitable
accept
in class DMLStatementNode
v
- the visitor
StandardException
- on errorpublic MethodCallNode getMethodCallNode()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |