This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.0 by this push:
new b4fcb41d50c [Chore](function) remove unused check on count function
(#31400) (#31605)
b4fcb41d50c is described below
commit b4fcb41d50cbcadc58f0f2059348c7da84e3cbfd
Author: Pxl <[email protected]>
AuthorDate: Fri Mar 1 10:52:41 2024 +0800
[Chore](function) remove unused check on count function (#31400) (#31605)
---
.../apache/doris/analysis/FunctionCallExpr.java | 6 ------
.../java/org/apache/doris/analysis/QueryStmt.java | 15 ++++++++++----
.../analysis/CreateMaterializedViewStmtTest.java | 23 ----------------------
.../org/apache/doris/planner/QueryPlanTest.java | 6 +++---
4 files changed, 14 insertions(+), 36 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
index 2e8f443f6ba..a15c345014c 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java
@@ -832,12 +832,6 @@ public class FunctionCallExpr extends Expr {
throw new AnalysisException(
"COUNT must have DISTINCT for multiple arguments: " +
this.toSql());
}
-
- for (Expr child : children) {
- if (child.type.isOnlyMetricType() &&
!child.type.isComplexType()) {
- throw new AnalysisException(Type.OnlyMetricTypeErrorMsg);
- }
- }
return;
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/QueryStmt.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/QueryStmt.java
index 3850f594c90..4a92dd1027a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/QueryStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/QueryStmt.java
@@ -28,6 +28,7 @@ import org.apache.doris.common.ErrorReport;
import org.apache.doris.common.UserException;
import org.apache.doris.qe.ConnectContext;
import org.apache.doris.rewrite.ExprRewriter;
+import org.apache.doris.rewrite.mvrewrite.CountDistinctToBitmapOrHLLRule;
import org.apache.doris.thrift.TQueryOptions;
import com.google.common.base.Preconditions;
@@ -275,12 +276,18 @@ public abstract class QueryStmt extends StatementBase
implements Queriable {
}
protected Expr rewriteQueryExprByMvColumnExpr(Expr expr, Analyzer
analyzer) throws AnalysisException {
- if (analyzer == null || analyzer.getMVExprRewriter() == null ||
forbiddenMVRewrite) {
+ if (analyzer == null || analyzer.getMVExprRewriter() == null) {
return expr;
}
- ExprRewriter rewriter = analyzer.getMVExprRewriter();
- rewriter.reset();
- rewriter.setInfoMVRewriter(disableTuplesMVRewriter, mvSMap, aliasSMap);
+ ExprRewriter rewriter;
+ if (forbiddenMVRewrite) {
+ rewriter = new
ExprRewriter(Lists.newArrayList(CountDistinctToBitmapOrHLLRule.INSTANCE),
+ Lists.newArrayList());
+ } else {
+ rewriter = analyzer.getMVExprRewriter();
+ rewriter.reset();
+ rewriter.setInfoMVRewriter(disableTuplesMVRewriter, mvSMap,
aliasSMap);
+ }
rewriter.setUpBottom();
Expr result = rewriter.rewrite(expr, analyzer);
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateMaterializedViewStmtTest.java
b/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateMaterializedViewStmtTest.java
index 782f7cfbab9..ec380a82683 100644
---
a/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateMaterializedViewStmtTest.java
+++
b/fe/fe-core/src/test/java/org/apache/doris/analysis/CreateMaterializedViewStmtTest.java
@@ -62,29 +62,6 @@ public class CreateMaterializedViewStmtTest {
}
- @Test
- public void testFunctionColumnInSelectClause(@Injectable ArithmeticExpr
arithmeticExpr) throws UserException {
- SelectList selectList = new SelectList();
- SelectListItem selectListItem = new SelectListItem(arithmeticExpr,
null);
- selectList.addItem(selectListItem);
- FromClause fromClause = new FromClause();
- SelectStmt selectStmt = new SelectStmt(selectList, fromClause, null,
null, null, null, LimitElement.NO_LIMIT);
-
- new Expectations() {
- {
- analyzer.getClusterName();
- result = "default";
- }
- };
- CreateMaterializedViewStmt createMaterializedViewStmt = new
CreateMaterializedViewStmt("test", selectStmt, null);
- try {
- createMaterializedViewStmt.analyze(analyzer);
- Assert.fail();
- } catch (UserException e) {
- System.out.print(e.getMessage());
- }
- }
-
@Disabled
public void testCountDistinct(@Injectable SlotRef slotRef, @Injectable
ArithmeticExpr arithmeticExpr,
@Injectable SelectStmt selectStmt,
@Injectable Column column,
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 bcf239b443c..b31baecf7fc 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
@@ -457,7 +457,7 @@ public class QueryPlanTest extends TestWithFeService {
assertSQLPlanOrErrorMsgContains(
"select count(id2) from test.bitmap_table;",
- Type.OnlyMetricTypeErrorMsg
+ "No matching function with signature"
);
assertSQLPlanOrErrorMsgContains(
@@ -506,7 +506,7 @@ public class QueryPlanTest extends TestWithFeService {
assertSQLPlanOrErrorMsgContains(
"select count(id2) from test.hll_table;",
- Type.OnlyMetricTypeErrorMsg
+ "No matching function with signature"
);
assertSQLPlanOrErrorMsgContains(
@@ -649,7 +649,7 @@ public class QueryPlanTest extends TestWithFeService {
ConnectContext.get().getSessionVariable().setRewriteCountDistinct(false);
sql = "select /*+ SET_VAR(enable_nereids_planner=false) */
count(distinct id2) from test.bitmap_table";
explainString = getSQLPlanOrErrorMsg("explain " + sql);
- Assert.assertTrue(explainString.contains(Type.OnlyMetricTypeErrorMsg));
+ Assert.assertTrue(explainString.contains("No matching function with
signature"));
}
@Test
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]