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 );
+ }
+ }
}
/**