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 efe275c50d..ee2d33b96b 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 3e05c57230..99c21f0493 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 @@ -1,10 +1,13 @@ -- This file is automatically generated. You should know what you did if you want to edit this -- !test_select_star_except -- -1 1 -2 1 -3 5 -4 5 -6 \N +1 2 +2 3 +3 6 +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 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 e22f929544..56e47cc758 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 @@ -17,7 +17,6 @@ suite("create_view_star_except_and_cast_to_sql") { sql "SET enable_nereids_planner=false;" - sql """ DROP TABLE IF EXISTS mal_old_create_view """ @@ -35,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"