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 <[email protected]>
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 <[email protected]>
---
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: [email protected]
For additional commands, e-mail: [email protected]