From e01e64244268833756a8662944803afa22ff6822 Mon Sep 17 00:00:00 2001 From: lihuigang Date: Wed, 14 Sep 2022 11:08:51 +0800 Subject: [PATCH 1/4] orthogonal_bitmap_union_count match BITMAP_UNION --- .../main/java/org/apache/doris/planner/SingleNodePlanner.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java b/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java index 45d8512e6f0db2..c4f6106cddc285 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/SingleNodePlanner.java @@ -587,7 +587,8 @@ private void turnOffPreAgg(AggregateInfo aggInfo, SelectStmt selectStmt, Analyze break; } } else if (aggExpr.getFnName().getFunction().equalsIgnoreCase(FunctionSet.BITMAP_UNION) - || aggExpr.getFnName().getFunction().equalsIgnoreCase(FunctionSet.BITMAP_UNION_COUNT)) { + || aggExpr.getFnName().getFunction().equalsIgnoreCase(FunctionSet.BITMAP_UNION_COUNT) + || aggExpr.getFnName().getFunction().equalsIgnoreCase(FunctionSet.ORTHOGONAL_BITMAP_UNION_COUNT)) { if (col.getAggregationType() != AggregateType.BITMAP_UNION) { turnOffReason = "Aggregate Operator not match: BITMAP_UNION <--> " + col.getAggregationType(); From 99abd5aaac183a15f3f3b4442b5e8ca1486fbce9 Mon Sep 17 00:00:00 2001 From: lihuigang Date: Wed, 14 Sep 2022 11:09:59 +0800 Subject: [PATCH 2/4] add orthogonal_bitmap_union_count unit test --- .../apache/doris/planner/QueryPlanTest.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java b/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java index cfbb0c205549d1..1119baf62e1bb7 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/planner/QueryPlanTest.java @@ -2159,4 +2159,27 @@ public void testOutJoinWithOnFalse() throws Exception { Assert.assertFalse(explainString.contains("non-equal FULL OUTER JOIN is not supported")); } -} + + @Test + public void testPreaggregationOfOrthogonalBitmapUDAF() throws Exception { + connectContext.setDatabase("default_cluster:test"); + createTable("CREATE TABLE test.bitmap_tb (\n" + + " `id` int(11) NULL COMMENT \"\",\n" + + " `id2` int(11) NULL COMMENT \"\",\n" + + " `id3` bitmap bitmap_union NULL\n" + + ") ENGINE=OLAP\n" + + "AGGREGATE KEY(`id`,`id2`)\n" + + "DISTRIBUTED BY HASH(`id`) BUCKETS 1\n" + + "PROPERTIES (\n" + + " \"replication_num\" = \"1\"\n" + + ");"); + + String queryBaseTableStr = "explain select id,id2,orthogonal_bitmap_union_count(id3) from test.bitmap_tb t1 group by id,id2"; + String explainString1 = UtFrameUtils.getSQLPlanOrErrorMsg(connectContext, queryBaseTableStr); + Assert.assertTrue(explainString1.contains("PREAGGREGATION: ON")); + + String queryTableStr = "explain select id,orthogonal_bitmap_union_count(id3) from test.bitmap_tb t1 group by id"; + String explainString2 = UtFrameUtils.getSQLPlanOrErrorMsg(connectContext, queryTableStr); + Assert.assertTrue(explainString2.contains("PREAGGREGATION: ON")); + } +} \ No newline at end of file From bc3dfd2f352a997dbc223d1d12c26b70f192137d Mon Sep 17 00:00:00 2001 From: lihuigang Date: Wed, 14 Sep 2022 12:18:24 +0800 Subject: [PATCH 3/4] fix: missed comma between flow collection entries at line 4, column 5: "language": "en" --- .../Database-Administration-Statements/ADMIN-COPY-TABLET.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md b/docs/en/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md index 26b4631d6078de..dc30a5f327837d 100644 --- a/docs/en/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md +++ b/docs/en/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md @@ -1,6 +1,6 @@ --- { - "title": "ADMIN-COPY-TABLET" + "title": "ADMIN-COPY-TABLET", "language": "en" } --- From 82a78d4cdf4a355a3469c8eb1db599d3d5087060 Mon Sep 17 00:00:00 2001 From: lihuigang Date: Wed, 14 Sep 2022 13:11:26 +0800 Subject: [PATCH 4/4] fix: missed comma between flow collection entries at line 4, column 5: "language": "zh-CN" --- .../Database-Administration-Statements/ADMIN-COPY-TABLET.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/zh-CN/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md b/docs/zh-CN/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md index 1645a1c18a9178..6ea8835e1e117c 100644 --- a/docs/zh-CN/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md +++ b/docs/zh-CN/docs/sql-manual/sql-reference/Database-Administration-Statements/ADMIN-COPY-TABLET.md @@ -1,6 +1,6 @@ --- { - "title": "ADMIN-COPY-TABLET" + "title": "ADMIN-COPY-TABLET", "language": "zh-CN" } ---