diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java index 33d16730cf03f9..e6d0bcd23b920e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java @@ -5704,6 +5704,7 @@ public void createView(CreateViewStmt stmt) throws DdlException { AlterViewStmt alterViewStmt = new AlterViewStmt(stmt.getTableName(), stmt.getColWithComments(), stmt.getViewDefStmt()); alterViewStmt.setInlineViewDef(stmt.getInlineViewDef()); + alterViewStmt.setFinalColumns(stmt.getColumns()); try { alterView(alterViewStmt); } catch (UserException e) { diff --git a/regression-test/data/ddl_p0/test_create_or_replace_view.out b/regression-test/data/ddl_p0/test_create_or_replace_view.out index 2448ba68e84eaf..30c254b238626e 100644 --- a/regression-test/data/ddl_p0/test_create_or_replace_view.out +++ b/regression-test/data/ddl_p0/test_create_or_replace_view.out @@ -1,7 +1,27 @@ -- This file is automatically generated. You should know what you did if you want to edit this +-- !desc_view_tbl1 -- +k1 int Yes true \N +k2 int Yes false \N NONE +v int Yes false \N NONE + +-- !desc_view_tbl2 -- +k1 int Yes true \N +k2 int Yes false \N NONE +v int Yes false \N NONE + +-- !desc_view_upper -- +k1 int Yes false \N +k2 int Yes false \N +v int Yes false \N + -- !sql_1 -- 1 1 1 -- !sql_2 -- 2 2 2 +-- !desc_view_upper_after_replace -- +k1 int Yes false \N +k2 int Yes false \N +v int Yes false \N + diff --git a/regression-test/suites/ddl_p0/test_create_or_replace_view.groovy b/regression-test/suites/ddl_p0/test_create_or_replace_view.groovy index 2ea993580e1061..8617d5d0ae133c 100644 --- a/regression-test/suites/ddl_p0/test_create_or_replace_view.groovy +++ b/regression-test/suites/ddl_p0/test_create_or_replace_view.groovy @@ -31,6 +31,14 @@ suite("test_create_or_replace_view") { DUPLICATE KEY(k1) DISTRIBUTED BY HASH(k1) BUCKETS 1 PROPERTIES( "replication_num" = "1"); """ + + qt_desc_view_tbl1 """ + desc test_create_or_replace_view_tbl1 + """ + qt_desc_view_tbl2 """ + desc test_create_or_replace_view_tbl2 + """ + sql """INSERT INTO test_create_or_replace_view_tbl1 VALUES(1,1,1)""" sql """INSERT INTO test_create_or_replace_view_tbl2 VALUES(2,2,2)""" sql "sync" @@ -41,6 +49,11 @@ suite("test_create_or_replace_view") { CREATE VIEW IF NOT EXISTS view_test_create_or_replace_view AS SELECT * FROM test_create_or_replace_view_tbl1; """ + + qt_desc_view_upper """ + desc view_test_create_or_replace_view + """ + qt_sql_1 """select * from view_test_create_or_replace_view""" sql """ @@ -48,6 +61,11 @@ suite("test_create_or_replace_view") { AS SELECT * FROM test_create_or_replace_view_tbl2; """ qt_sql_2 """select * from view_test_create_or_replace_view""" + + qt_desc_view_upper_after_replace """ + desc view_test_create_or_replace_view + """ + test { sql """ CREATE OR REPLACE VIEW IF NOT EXISTS view_test_create_or_replace_view