Repository: phoenix Updated Branches: refs/heads/3.0 be2267441 -> c27661790
PHOENIX-1654 Incorrect group-by keys from ClientAggregatePlan Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/c2766179 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/c2766179 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/c2766179 Branch: refs/heads/3.0 Commit: c2766179035985c65ef0031a0e0b68f89be541fa Parents: be22674 Author: maryannxue <wei....@intel.com> Authored: Thu Feb 12 15:51:18 2015 -0500 Committer: maryannxue <wei....@intel.com> Committed: Thu Feb 12 15:51:18 2015 -0500 ---------------------------------------------------------------------- .../java/org/apache/phoenix/end2end/HashJoinIT.java | 14 ++++++++++++++ .../org/apache/phoenix/end2end/SortMergeJoinIT.java | 14 ++++++++++++++ .../apache/phoenix/execute/ClientAggregatePlan.java | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/c2766179/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java index e4f7065..a81d17c 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinIT.java @@ -2638,6 +2638,20 @@ public class HashJoinIT extends BaseHBaseManagedTimeIT { + "GROUP BY t1.TID, t1.A, t2.A"); upsertStmt.execute(); conn.commit(); + + rs = statement.executeQuery("SELECT * FROM " + joinTable); + assertTrue(rs.next()); + assertEquals(rs.getString(1), "1"); + assertEquals(rs.getInt(2), 1); + assertEquals(rs.getInt(3), 2); + assertEquals(rs.getInt(4), 2); + assertTrue(rs.next()); + assertEquals(rs.getString(1), "1"); + assertEquals(rs.getInt(2), 2); + assertEquals(rs.getInt(3), 1); + assertEquals(rs.getInt(4), 2); + + assertFalse(rs.next()); } finally { conn.close(); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/c2766179/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinIT.java index 736a991..7cb2111 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinIT.java @@ -2029,6 +2029,20 @@ public class SortMergeJoinIT extends BaseHBaseManagedTimeIT { + "GROUP BY t1.TID, t1.A, t2.A"); upsertStmt.execute(); conn.commit(); + + rs = statement.executeQuery("SELECT * FROM " + joinTable); + assertTrue(rs.next()); + assertEquals(rs.getString(1), "1"); + assertEquals(rs.getInt(2), 1); + assertEquals(rs.getInt(3), 2); + assertEquals(rs.getInt(4), 2); + assertTrue(rs.next()); + assertEquals(rs.getString(1), "1"); + assertEquals(rs.getInt(2), 2); + assertEquals(rs.getInt(3), 1); + assertEquals(rs.getInt(4), 2); + + assertFalse(rs.next()); } finally { conn.close(); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/c2766179/phoenix-core/src/main/java/org/apache/phoenix/execute/ClientAggregatePlan.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/ClientAggregatePlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/ClientAggregatePlan.java index 8cd5a40..0ff7277 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/ClientAggregatePlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/ClientAggregatePlan.java @@ -100,7 +100,7 @@ public class ClientAggregatePlan extends ClientProcessingPlan { } iterator = new OrderedResultIterator(iterator, keyExpressionOrderBy, thresholdBytes, limit, projector.getEstimatedRowByteSize()); } - aggResultIterator = new ClientGroupedAggregatingResultIterator(LookAheadResultIterator.wrap(iterator), serverAggregators, groupBy.getExpressions()); + aggResultIterator = new ClientGroupedAggregatingResultIterator(LookAheadResultIterator.wrap(iterator), serverAggregators, groupBy.getKeyExpressions()); aggResultIterator = new GroupedAggregatingResultIterator(LookAheadResultIterator.wrap(aggResultIterator), clientAggregators); }