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 2008/02/24 18:52:36 UTC

svn commit: r630643 - in /db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile: InsertNode.java ResultSetNode.java UnionNode.java UpdateNode.java

Author: djd
Date: Sun Feb 24 09:52:29 2008
New Revision: 630643

URL: http://svn.apache.org/viewvc?rev=630643&view=rev
Log:
Cleanup related to DERBY-3310. Simplify ResultSetNode.genNormalizeResultSetNode to always work on itself by producing a NormalizeResultSetNode that wraps it. That is how the function worked and was imlemented.

Modified:
    db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/InsertNode.java
    db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ResultSetNode.java
    db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/UnionNode.java
    db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/UpdateNode.java

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/InsertNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/InsertNode.java?rev=630643&r1=630642&r2=630643&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/InsertNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/InsertNode.java Sun Feb 24 09:52:29 2008
@@ -422,7 +422,7 @@
 		if (! resultColumnList.columnTypesAndLengthsMatch(
 												resultSet.getResultColumns()))
 		{
-			resultSet = resultSet.genNormalizeResultSetNode(resultSet, false);
+			resultSet = resultSet.genNormalizeResultSetNode(false);
 			resultColumnList.copyTypesAndLengthsToSource(resultSet.getResultColumns());
 		}
 

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ResultSetNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ResultSetNode.java?rev=630643&r1=630642&r2=630643&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ResultSetNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/ResultSetNode.java Sun Feb 24 09:52:29 2008
@@ -821,12 +821,10 @@
 	ResultSetNode genProjectRestrictForReordering()
 				throws StandardException
 	{
-		ResultColumnList	prRCList;
-
 		/* We get a shallow copy of the ResultColumnList and its 
 		 * ResultColumns.  (Copy maintains ResultColumn.expression for now.)
 		 */
-		prRCList = resultColumns;
+        ResultColumnList prRCList = resultColumns;
 		resultColumns = resultColumns.copyListAndObjects();
 
 		/* Replace ResultColumn.expression with new VirtualColumnNodes
@@ -1344,12 +1342,10 @@
 	public ResultSetNode genProjectRestrict()
 				throws StandardException
 	{
-		ResultColumnList	prRCList;
-
 		/* We get a shallow copy of the ResultColumnList and its 
 		 * ResultColumns.  (Copy maintains ResultColumn.expression for now.)
 		 */
-		prRCList = resultColumns;
+        ResultColumnList prRCList = resultColumns;
 		resultColumns = resultColumns.copyListAndObjects();
 
 		/* Replace ResultColumn.expression with new VirtualColumnNodes
@@ -1401,7 +1397,7 @@
 	}
 
 	/** 
-	 * Put a NormalizeResultSetNode on top of the specified ResultSetNode.
+	 * Put a NormalizeResultSetNode on top of this ResultSetNode.
 	 * ColumnReferences must continue to point to the same ResultColumn, so
 	 * that ResultColumn must percolate up to the new PRN.  However,
 	 * that ResultColumn will point to a new expression, a VirtualColumnNode, 
@@ -1418,7 +1414,6 @@
 	 * sort has to agree with what the sort expects.
 	 * (insert into t1 (smallintcol) values 1 union all values 2;
 	 *
-	 * @param normalizeChild	Child result set for new NRSN.
 	 * @param forUpdate			If the normalize result set is being used as a
 	 * child for an update statement, then this is true. 
 	 *
@@ -1428,18 +1423,14 @@
 	 * @see NormalizeResultSetNode#init
 	 */
 
-	public NormalizeResultSetNode 
-		genNormalizeResultSetNode(ResultSetNode	normalizeChild, 
-								  boolean forUpdate)
+	NormalizeResultSetNode 
+		genNormalizeResultSetNode(boolean forUpdate)
 				throws StandardException
 	{
-		NormalizeResultSetNode	nrsn;
-		ResultColumnList		prRCList;
-
 		/* We get a shallow copy of the ResultColumnList and its 
 		 * ResultColumns.  (Copy maintains ResultColumn.expression for now.)
 		 */
-		prRCList = resultColumns;
+        ResultColumnList prRCList = resultColumns;
 		resultColumns = resultColumns.copyListAndObjects();
 
 		// Remove any columns that were generated.
@@ -1453,16 +1444,17 @@
 
 		
 		/* Finally, we create the new NormalizeResultSetNode */
-		nrsn = (NormalizeResultSetNode) getNodeFactory().getNode(
+        NormalizeResultSetNode nrsn =
+            (NormalizeResultSetNode) getNodeFactory().getNode(
 								C_NodeTypes.NORMALIZE_RESULT_SET_NODE,
-								normalizeChild,
+								this,
 								prRCList,
 								null, new Boolean(forUpdate),
 								getContextManager());
 		// Propagate the referenced table map if it's already been created
-		if (normalizeChild.getReferencedTableMap() != null)
+		if (getReferencedTableMap() != null)
 		{
-			nrsn.setReferencedTableMap((JBitSet) normalizeChild.getReferencedTableMap().clone());
+			nrsn.setReferencedTableMap((JBitSet) getReferencedTableMap().clone());
 		}
 		return nrsn;
 	}

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/UnionNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/UnionNode.java?rev=630643&r1=630642&r2=630643&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/UnionNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/UnionNode.java Sun Feb 24 09:52:29 2008
@@ -410,7 +410,7 @@
 			 */
 			if (! columnTypesAndLengthsMatch())
 			{
-				treeTop = genNormalizeResultSetNode(this, false);	
+				treeTop = genNormalizeResultSetNode(false);	
 			}
 
 			treeTop = (ResultSetNode) getNodeFactory().getNode(

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/UpdateNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/UpdateNode.java?rev=630643&r1=630642&r2=630643&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/UpdateNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/UpdateNode.java Sun Feb 24 09:52:29 2008
@@ -548,7 +548,7 @@
 		 */
 		if (! resultColumnList.columnTypesAndLengthsMatch())
  		{
-			resultSet = resultSet.genNormalizeResultSetNode(resultSet, true);
+			resultSet = resultSet.genNormalizeResultSetNode(true);
 			resultColumnList.copyTypesAndLengthsToSource(resultSet.getResultColumns());
 								
  			if (hasCheckConstraints(dataDictionary, targetTableDescriptor))