Repository: phoenix Updated Branches: refs/heads/4.8-HBase-1.1 f00d0ade1 -> 444a4eb0d
PHOENIX-3158 COUNT(DISTINCT) may return null instead of 0 after PHOENIX-258. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/444a4eb0 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/444a4eb0 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/444a4eb0 Branch: refs/heads/4.8-HBase-1.1 Commit: 444a4eb0dacd7030c725070b9fb96ae454651c1b Parents: f00d0ad Author: Lars Hofhansl <la...@apache.org> Authored: Sat Aug 6 16:27:32 2016 -0700 Committer: Lars Hofhansl <la...@apache.org> Committed: Sat Aug 6 16:29:22 2016 -0700 ---------------------------------------------------------------------- .../it/java/org/apache/phoenix/end2end/DistinctPrefixFilterIT.java | 2 ++ .../src/main/java/org/apache/phoenix/execute/AggregatePlan.java | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/444a4eb0/phoenix-core/src/it/java/org/apache/phoenix/end2end/DistinctPrefixFilterIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DistinctPrefixFilterIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DistinctPrefixFilterIT.java index 1a0e4e1..e8e9e07 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DistinctPrefixFilterIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DistinctPrefixFilterIT.java @@ -290,6 +290,8 @@ public class DistinctPrefixFilterIT extends BaseHBaseManagedTimeTableReuseIT { testCount("SELECT %s COUNT(DISTINCT col1) FROM " + testTable, -1); testCount("SELECT %s COUNT(DISTINCT col2) FROM " + testTable, -1); + + testCount("SELECT %s COUNT(DISTINCT prefix1) FROM " + testTable + " WHERE col1 < 0", -1); } @Test http://git-wip-us.apache.org/repos/asf/phoenix/blob/444a4eb0/phoenix-core/src/main/java/org/apache/phoenix/execute/AggregatePlan.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/AggregatePlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/AggregatePlan.java index 136379d..00d478a 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/execute/AggregatePlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/AggregatePlan.java @@ -223,7 +223,7 @@ public class AggregatePlan extends BaseQueryPlan { AggregatingResultIterator aggResultIterator; // No need to merge sort for ungrouped aggregation - if (groupBy.isEmpty()) { + if (groupBy.isEmpty() || groupBy.isUngroupedAggregate()) { aggResultIterator = new UngroupedAggregatingResultIterator(new ConcatResultIterator(iterators), aggregators); // If salted or local index we still need a merge sort as we'll potentially have multiple group by keys that aren't contiguous. } else if (groupBy.isOrderPreserving() && !(this.getTableRef().getTable().getBucketNum() != null || this.getTableRef().getTable().getIndexType() == IndexType.LOCAL)) {