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

morrysnow pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 40355ab63fc [fix](planner) fix bug of select stmt toSql (#37274)
40355ab63fc is described below

commit 40355ab63fcad5d662f306a038021d450c4ec153
Author: feiniaofeiafei <53502832+feiniaofeia...@users.noreply.github.com>
AuthorDate: Fri Jul 5 12:54:30 2024 +0800

    [fix](planner) fix bug of select stmt toSql (#37274)
    
    PR #33726 does not correctly fix the create view problem of the legacy
    optimizer caused by the toSql bug (* except syntax). The results of the
    regression test cases are also problematic. This pr fix the problem.
    
    ---------
    
    Co-authored-by: feiniaofeiafei <moail...@selectdb.com>
---
 fe/fe-core/src/main/java/org/apache/doris/analysis/SelectStmt.java   | 1 +
 .../data/view_p0/create_view_star_except_and_cast_to_sql.out         | 5 ++++-
 .../suites/view_p0/create_view_star_except_and_cast_to_sql.groovy    | 3 ++-
 3 files changed, 7 insertions(+), 2 deletions(-)

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 b5698661e7d..66994e99a72 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
@@ -564,6 +564,7 @@ public class SelectStmt extends QueryStmt {
             // remove excepted columns
             resultExprs.removeIf(expr -> 
exceptCols.contains(expr.toColumnLabel()));
             colLabels.removeIf(exceptCols::contains);
+            originalExpr = new ArrayList<>(resultExprs);
         } else {
             if (needToSql) {
                 originalExpr = new ArrayList<>();
diff --git 
a/regression-test/data/view_p0/create_view_star_except_and_cast_to_sql.out 
b/regression-test/data/view_p0/create_view_star_except_and_cast_to_sql.out
index ea11a198bc8..99c21f04934 100644
--- a/regression-test/data/view_p0/create_view_star_except_and_cast_to_sql.out
+++ b/regression-test/data/view_p0/create_view_star_except_and_cast_to_sql.out
@@ -6,6 +6,9 @@
 4      6
 6      6
 
+-- !test_select_star_except_sql --
+v_mal_old_create_view  CREATE VIEW `v_mal_old_create_view` AS SELECT 
`regression_test_view_p0`.`mal_old_create_view`.`pk` AS `pk`, 
`regression_test_view_p0`.`mal_old_create_view`.`b` AS `b` FROM 
`regression_test_view_p0`.`mal_old_create_view`;    utf8mb4 utf8mb4_0900_bin
+
 -- !test_sql --
-v_mal_old_create_view2 CREATE VIEW `v_mal_old_create_view2` AS select 
cast(cast(a as string) as time) from 
`internal`.`regression_test_view_p0`.`mal_old_create_view`; utf8mb4 
utf8mb4_0900_bin
+v_mal_old_create_view2 CREATE VIEW `v_mal_old_create_view2` AS SELECT 
CAST(CAST(`a` AS TEXT) AS TIME(0)) AS `__cast_expr_0` FROM 
`regression_test_view_p0`.`mal_old_create_view`;      utf8mb4 utf8mb4_0900_bin
 
diff --git 
a/regression-test/suites/view_p0/create_view_star_except_and_cast_to_sql.groovy 
b/regression-test/suites/view_p0/create_view_star_except_and_cast_to_sql.groovy
index 900f86e3eba..7b047136e33 100644
--- 
a/regression-test/suites/view_p0/create_view_star_except_and_cast_to_sql.groovy
+++ 
b/regression-test/suites/view_p0/create_view_star_except_and_cast_to_sql.groovy
@@ -16,7 +16,7 @@
 // under the License.
 
 suite("create_view_star_except_and_cast_to_sql") {
-
+    sql "SET enable_nereids_planner=false;"
     sql """
          DROP TABLE IF EXISTS mal_old_create_view
         """
@@ -34,6 +34,7 @@ suite("create_view_star_except_and_cast_to_sql") {
     sql "create view v_mal_old_create_view as select * except(a) from 
mal_old_create_view"
 
     qt_test_select_star_except "select * from v_mal_old_create_view order by 
pk,b"
+    qt_test_select_star_except_sql "show create view v_mal_old_create_view"
 
     sql "drop view if EXISTS v_mal_old_create_view2"
 


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

Reply via email to