PHOENIX-1854 Investigate not setting ProjectedColumnExpression in 
TupleProjector expressions array


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/de4f1742
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/de4f1742
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/de4f1742

Branch: refs/heads/calcite
Commit: de4f174272be4fddcc8bf6dada048b4e70394f52
Parents: e2b6009
Author: maryannxue <maryann....@gmail.com>
Authored: Tue Jan 26 20:27:10 2016 -0500
Committer: maryannxue <maryann....@gmail.com>
Committed: Tue Jan 26 20:27:10 2016 -0500

----------------------------------------------------------------------
 .../org/apache/phoenix/compile/OrderPreservingTracker.java     | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/de4f1742/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderPreservingTracker.java
----------------------------------------------------------------------
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderPreservingTracker.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderPreservingTracker.java
index 65245f3..7715747 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderPreservingTracker.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/OrderPreservingTracker.java
@@ -216,10 +216,8 @@ public class OrderPreservingTracker {
                 return super.visit(node);
             }
             Expression expression = 
projector.getExpressions()[node.getPosition()];
-            // FIXME: prevents infinite recursion for union all in subquery, 
but
-            // should a ProjectedColumnExpression be used in this case? 
Wouldn't
-            // it make more sense to not create this wrapper in this case?
-            if (expression == node) {
+            // Only look one level down the projection.
+            if (expression instanceof ProjectedColumnExpression) {
                 return super.visit(node);
             }
             return expression.accept(this);

Reply via email to