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 rh...@apache.org on 2013/06/17 16:44:21 UTC

svn commit: r1493789 - /db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/SelectNode.java

Author: rhillegas
Date: Mon Jun 17 14:44:21 2013
New Revision: 1493789

URL: http://svn.apache.org/r1493789
Log:
DERBY-6263: Add missing clauses to Visitor logic of SelectNode; tests passed cleanly on derby-6263-02-aa-ignored-clauses-in-SelectNode.diff.

Modified:
    db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/SelectNode.java

Modified: db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/SelectNode.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/SelectNode.java?rev=1493789&r1=1493788&r2=1493789&view=diff
==============================================================================
--- db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/SelectNode.java (original)
+++ db/derby/code/trunk/java/engine/org/apache/derby/impl/sql/compile/SelectNode.java Mon Jun 17 14:44:21 2013
@@ -2533,6 +2533,49 @@ public class SelectNode extends ResultSe
 		if (havingClause != null) {
 			havingClause = (ValueNode)havingClause.accept(v);
 		}
+
+        // visiting these clauses was added as part of DERBY-6263. a better fix might be to fix the
+        // visitor rather than skip it.
+        if ( !(v instanceof HasCorrelatedCRsVisitor) )
+        {
+            if (selectSubquerys != null)
+            {
+                selectSubquerys = (SubqueryList) selectSubquerys.accept( v );
+            }
+
+            if (whereSubquerys != null)
+            {
+                whereSubquerys = (SubqueryList) whereSubquerys.accept( v );
+            }
+
+            if (groupByList != null) {
+                groupByList = (GroupByList) groupByList.accept( v );
+            }
+        
+            if (orderByLists[0] != null) {
+                for (int i = 0; i < orderByLists.length; i++) {
+                    orderByLists[i] = (OrderByList) orderByLists[ i ].accept( v );
+                }
+            }
+
+            if (offset != null) {
+                offset = (ValueNode) offset.accept( v );
+            }
+            
+            if (fetchFirst != null) {
+                fetchFirst = (ValueNode) fetchFirst.accept( v );
+            }
+            
+            if (preJoinFL != null)
+            {
+                preJoinFL = (FromList) preJoinFL.accept( v );
+            }
+            
+            if (windows != null)
+            {
+                windows = (WindowList) windows.accept( v );
+            }
+        }
 	}
 
 	/**