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);