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