You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by dj...@apache.org on 2006/11/21 01:03:12 UTC
svn commit: r477420 - in
/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile:
CallStatementNode.java CursorNode.java DMLModStatementNode.java
DMLStatementNode.java DeleteNode.java StatementNode.java
Author: djd
Date: Mon Nov 20 16:03:11 2006
New Revision: 477420
URL: http://svn.apache.org/viewvc?view=rev&rev=477420
Log:
DERBY-2096 (partial) Rename the optimize() method for StatementNode to optimizeStatement() as a step
in switching the return type of a parse statement to StatementNode. Make optimizeStatement() void
as no implementation ever switches the type and several implementations did not handle the
type switching anyway.
Modified:
db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CallStatementNode.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CursorNode.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLModStatementNode.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLStatementNode.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DeleteNode.java
db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/StatementNode.java
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CallStatementNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CallStatementNode.java?view=diff&rev=477420&r1=477419&r2=477420
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CallStatementNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CallStatementNode.java Mon Nov 20 16:03:11 2006
@@ -189,12 +189,11 @@
* Throws an exception if the tree is not bound, or if the binding
* is out of date.
*
- * @return An optimized QueryTree
*
* @exception StandardException Thrown on error
*/
- public QueryTreeNode optimize() throws StandardException
+ public void optimizeStatement() throws StandardException
{
DataDictionary dd = getDataDictionary();
@@ -211,7 +210,6 @@
(SubqueryList) null,
(PredicateList) null);
- return this;
}
/**
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CursorNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CursorNode.java?view=diff&rev=477420&r1=477419&r2=477420
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CursorNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/CursorNode.java Mon Nov 20 16:03:11 2006
@@ -509,12 +509,11 @@
* Throws an exception if the tree is not bound, or if the binding
* is out of date.
*
- * @return An optimized QueryTree
*
* @exception StandardException Thrown on error
*/
- public QueryTreeNode optimize() throws StandardException
+ public void optimizeStatement() throws StandardException
{
// Push the order by list down to the ResultSet
if (orderByList != null)
@@ -529,7 +528,7 @@
resultSet.pushOrderByList(orderByList);
orderByList = null;
}
- return super.optimize();
+ super.optimizeStatement();
}
/**
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLModStatementNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLModStatementNode.java?view=diff&rev=477420&r1=477419&r2=477420
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLModStatementNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLModStatementNode.java Mon Nov 20 16:03:11 2006
@@ -1343,16 +1343,13 @@
* Throws an exception if the tree is not bound, or if the binding
* is out of date.
*
- * @return An optimized QueryTree
*
* @exception StandardException Thrown on failure
*/
- public QueryTreeNode optimize() throws StandardException
+ public void optimizeStatement() throws StandardException
{
- ResultSetNode originalRSNode = getResultSetNode();
-
/* First optimize the query */
- QueryTreeNode retval = super.optimize();
+ super.optimizeStatement();
/* In language we always set it to row lock, it's up to store to
* upgrade it to table lock. This makes sense for the default read
@@ -1360,8 +1357,6 @@
* Beetle 4133.
*/
lockMode = TransactionController.MODE_RECORD;
-
- return retval;
}
/**
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLStatementNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLStatementNode.java?view=diff&rev=477420&r1=477419&r2=477420
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLStatementNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DMLStatementNode.java Mon Nov 20 16:03:11 2006
@@ -316,12 +316,10 @@
* Throws an exception if the tree is not bound, or if the binding
* is out of date.
*
- * @return An optimized QueryTree
*
* @exception StandardException Thrown on error
*/
-
- public QueryTreeNode optimize() throws StandardException
+ public void optimizeStatement() throws StandardException
{
resultSet = resultSet.preprocess(getCompilerContext().getNumTables(),
null,
@@ -367,8 +365,6 @@
resultSet.setReferencedTableMap((JBitSet) siChild.getReferencedTableMap().clone());
}
}
-
- return this;
}
/**
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DeleteNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DeleteNode.java?view=diff&rev=477420&r1=477419&r2=477420
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DeleteNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/DeleteNode.java Mon Nov 20 16:03:11 2006
@@ -890,7 +890,7 @@
}
- public QueryTreeNode optimize() throws StandardException
+ public void optimizeStatement() throws StandardException
{
if(cascadeDelete)
{
@@ -900,7 +900,7 @@
}
}
- return super.optimize();
+ super.optimizeStatement();
}
/**
Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/StatementNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/StatementNode.java?view=diff&rev=477420&r1=477419&r2=477420
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/StatementNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/StatementNode.java Mon Nov 20 16:03:11 2006
@@ -125,6 +125,32 @@
bindStatement();
return this;
}
+
+ /**
+ * Generates an optimized statement from a bound StatementNode. Actually,
+ * it annotates the tree in place rather than generating a new tree.
+ *
+ * For non-optimizable statements (for example, CREATE TABLE),
+ * return the bound tree without doing anything. For optimizable
+ * statements, this method will be over-ridden in the statement's
+ * root node (DMLStatementNode in all cases we know about so far).
+ *
+ * Throws an exception if the tree is not bound, or if the binding
+ * is out of date.
+ *
+ *
+ * @exception StandardException Thrown on error
+ */
+ public void optimizeStatement() throws StandardException
+ {
+
+ }
+ // TEMP -RE_WORK for switching to StatementNode.
+ public final QueryTreeNode optimize() throws StandardException
+ {
+ optimizeStatement();
+ return this;
+ }
/**
* create the outer shell class builder for the class we will