This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 7b880f98d0ec456e63efeac4cd9d857d333fad50
Author: starocean999 <40539150+starocean...@users.noreply.github.com>
AuthorDate: Thu Jul 6 20:30:18 2023 +0800

    Revert "[Fix](Planner) Set inline view output as non constant after analyze 
(#21186)" (#21584)
    
    This reverts commit d7323f0df6e0bee0f8f73f32eddfb65c3f20461d.
---
 .../main/java/org/apache/doris/analysis/Expr.java  |  7 -----
 .../java/org/apache/doris/analysis/SelectStmt.java |  4 ---
 .../org/apache/doris/analysis/QueryStmtTest.java   | 17 ++++++++--
 .../conditional_functions/test_nullif.out          |  4 ---
 .../conditional_functions/test_nullif.groovy       | 36 ----------------------
 5 files changed, 14 insertions(+), 54 deletions(-)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/Expr.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/Expr.java
index f2074ae376..abed221866 100755
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/Expr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/Expr.java
@@ -441,13 +441,6 @@ public abstract class Expr extends TreeNode<Expr> 
implements ParseNode, Cloneabl
         isAnalyzed = true;
     }
 
-    /**
-     * Set the expr isConstant parameter, when select list return it can not 
be constant
-     */
-    public void setIsConstant(boolean isConstant) {
-        this.isConstant = isConstant;
-    }
-
     protected void computeNumDistinctValues() {
         if (isConstant()) {
             numDistinctValues = 1;
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java 
b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
index 7c91e33188..d634b5fb62 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java
@@ -453,10 +453,6 @@ public class SelectStmt extends QueryStmt {
                     // Analyze the resultExpr before generating a label to 
ensure enforcement
                     // of expr child and depth limits (toColumn() label may 
call toSql()).
                     item.getExpr().analyze(analyzer);
-                    // select list output must not be constant because it is 
not scalar expression.
-                    if (!fromClause.isEmpty()) {
-                        item.getExpr().setIsConstant(false);
-                    }
                     if (!(item.getExpr() instanceof CaseExpr)
                             && 
item.getExpr().contains(Predicates.instanceOf(Subquery.class))) {
                         throw new AnalysisException("Subquery is not supported 
in the select list.");
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java
index 51d2199c53..03acde255d 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/analysis/QueryStmtTest.java
@@ -210,7 +210,7 @@ public class QueryStmtTest {
         Assert.assertEquals(5, exprsMap.size());
         constMap.clear();
         constMap = getConstantExprMap(exprsMap, analyzer);
-        Assert.assertEquals(1, constMap.size());
+        Assert.assertEquals(2, constMap.size());
 
         // expr in subquery associate with column in grandparent level
         sql = "WITH aa AS\n"
@@ -261,9 +261,20 @@ public class QueryStmtTest {
     @Test
     public void testPutBackExprs() throws Exception {
         ConnectContext ctx = UtFrameUtils.createDefaultCtx();
-        String sql = "SELECT @@license, @@time_zone\n"
+        String sql = "SELECT username, @@license, @@time_zone\n"
+                + "FROM db1.table1\n"
+                + "WHERE siteid in\n"
+                + "    (SELECT abs(5+abs(0))+1)\n"
                 + "UNION\n"
-                + "SELECT @@language, @@storage_engine;";
+                + "SELECT CASE\n"
+                + "           WHEN\n"
+                + "                  (SELECT count(*)+abs(8)\n"
+                + "                   FROM db1.table1\n"
+                + "                   WHERE username='helen')>1 THEN 888\n"
+                + "           ELSE 999\n"
+                + "       END AS ccc, @@language, @@storage_engine\n"
+                + "FROM\n"
+                + "  (SELECT curdate()) a;";
         StatementBase stmt = UtFrameUtils.parseAndAnalyzeStmt(sql, ctx);
         stmt.foldConstant(new Analyzer(ctx.getEnv(), ctx).getExprRewriter());
 
diff --git 
a/regression-test/data/query_p0/sql_functions/conditional_functions/test_nullif.out
 
b/regression-test/data/query_p0/sql_functions/conditional_functions/test_nullif.out
index 9675765d6d..f8def44a3d 100644
--- 
a/regression-test/data/query_p0/sql_functions/conditional_functions/test_nullif.out
+++ 
b/regression-test/data/query_p0/sql_functions/conditional_functions/test_nullif.out
@@ -480,7 +480,3 @@ null        12      1       true
 -- !if_nullif28 --
 2020-02-09
 
--- !if_nullif29 --
-1      1
-2      2
-
diff --git 
a/regression-test/suites/query_p0/sql_functions/conditional_functions/test_nullif.groovy
 
b/regression-test/suites/query_p0/sql_functions/conditional_functions/test_nullif.groovy
index 2f41af96f9..e754d6d0e8 100644
--- 
a/regression-test/suites/query_p0/sql_functions/conditional_functions/test_nullif.groovy
+++ 
b/regression-test/suites/query_p0/sql_functions/conditional_functions/test_nullif.groovy
@@ -145,40 +145,4 @@ suite("test_nullif") {
     qt_if_nullif27 """select ifnull(2+3, 2), ifnull((3*1 > 1 || 1>0), 2), 
ifnull((3*1 > 1 or 1>0), 2),
         ifnull(upper("null"), concat("NUL", "LL"))"""
     qt_if_nullif28 """select ifnull(date(substring("2020-02-09", 1, 1024)), 
null)"""
-
-    def tableName2 = "testsort"
-
-    sql """ DROP TABLE IF EXISTS ${tableName2}; """
-    sql """
-            CREATE TABLE IF NOT EXISTS ${tableName2} (
-                c_int int NULL COMMENT "",
-                c_pv bitmap BITMAP_UNION NULL COMMENT ""
-            )
-            AGGREGATE KEY(c_int)
-            DISTRIBUTED BY HASH(c_int) BUCKETS 1
-            PROPERTIES (
-              "replication_num" = "1"
-            );
-        """
-    sql """ INSERT INTO ${tableName2} VALUES(1, to_bitmap(1)), (2, 
to_bitmap(2));"""
-
-    qt_if_nullif29 """
-       select
-           sortNum,
-           BITMAP_UNION_COUNT (c.pv) over (ORDER BY sortNum ) totalNum
-       from(
-       select 
-           ifnull(a.sortNum, b.sortNum) sortNum,
-           BITMAP_UNION (ifnull(a.c_pv, b.c_pv)) pv
-       from
-           (select 1 sortNum, c_pv from ${tableName2} t where t.c_int = 1) a
-       full join
-           (select 2 sortNum, c_pv from ${tableName2} t where t.c_int = 2) b
-           on a.sortNum = b.sortNum
-       GROUP BY
-           sortNum
-       ORDER BY
-           sortNum
-       ) c
-       ;"""
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to