This is an automated email from the ASF dual-hosted git repository. zhaoc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
The following commit(s) were added to refs/heads/master by this push: new c9ff6f6 Fix Rewrite count distinct bitmap and hll order by bug (#3251) c9ff6f6 is described below commit c9ff6f68d1a4cb9489880fa7678266af34bdf617 Author: kangkaisen <kangkai...@apache.org> AuthorDate: Fri Apr 3 09:08:27 2020 +0800 Fix Rewrite count distinct bitmap and hll order by bug (#3251) --- fe/src/main/java/org/apache/doris/analysis/QueryStmt.java | 4 ++-- fe/src/test/java/org/apache/doris/planner/QueryPlanTest.java | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/fe/src/main/java/org/apache/doris/analysis/QueryStmt.java b/fe/src/main/java/org/apache/doris/analysis/QueryStmt.java index 1c96f45..a54dd7b 100644 --- a/fe/src/main/java/org/apache/doris/analysis/QueryStmt.java +++ b/fe/src/main/java/org/apache/doris/analysis/QueryStmt.java @@ -269,8 +269,8 @@ public abstract class QueryStmt extends StatementBase { orderByElementsAfterAnalyzed = Lists.newArrayList(); for (int i = 0; i < orderByElements.size(); i++) { // rewrite count distinct - Expr rewritten = rewriteCountDistinctForBitmapOrHLL(orderingExprs.get(i), analyzer); - OrderByElement orderByElement = new OrderByElement(rewritten, isAscOrder.get(i), + orderingExprs.set(i, rewriteCountDistinctForBitmapOrHLL(orderingExprs.get(i), analyzer)); + OrderByElement orderByElement = new OrderByElement(orderingExprs.get(i), isAscOrder.get(i), nullsFirstParams.get(i)); orderByElementsAfterAnalyzed.add(orderByElement); } diff --git a/fe/src/test/java/org/apache/doris/planner/QueryPlanTest.java b/fe/src/test/java/org/apache/doris/planner/QueryPlanTest.java index 1f38371..11d2553 100644 --- a/fe/src/test/java/org/apache/doris/planner/QueryPlanTest.java +++ b/fe/src/test/java/org/apache/doris/planner/QueryPlanTest.java @@ -371,14 +371,17 @@ public class QueryPlanTest { explainString = UtFrameUtils.getSQLPlanOrErrorMsg(connectContext, "explain " + sql); Assert.assertTrue(explainString.contains("hll_union_agg")); - sql = "select count(distinct id2) from test.bitmap_table having count(distinct id2) > 0"; + sql = "select count(distinct id2) from test.bitmap_table group by id order by count(distinct id2)"; explainString = UtFrameUtils.getSQLPlanOrErrorMsg(connectContext, "explain " + sql); Assert.assertTrue(explainString.contains("bitmap_union_count")); - sql = "select count(distinct id2) from test.bitmap_table order by count(distinct id2) > 0"; + sql = "select count(distinct id2) from test.bitmap_table having count(distinct id2) > 0"; explainString = UtFrameUtils.getSQLPlanOrErrorMsg(connectContext, "explain " + sql); Assert.assertTrue(explainString.contains("bitmap_union_count")); + sql = "select count(distinct id2) from test.bitmap_table order by count(distinct id2)"; + explainString = UtFrameUtils.getSQLPlanOrErrorMsg(connectContext, "explain " + sql); + Assert.assertTrue(explainString.contains("bitmap_union_count")); ConnectContext.get().getSessionVariable().setRewriteCountDistinct(false); sql = "select count(distinct id2) from test.bitmap_table"; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org