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

englefly 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 0ba778dd65f [fix](view) Quote view column names in SHOW CREATE VIEW 
output (#66467)
0ba778dd65f is described below

commit 0ba778dd65f9ce82803ac7c9eaf029f0767300da
Author: minghong <[email protected]>
AuthorDate: Tue Aug 11 07:42:50 2026 +0800

    [fix](view) Quote view column names in SHOW CREATE VIEW output (#66467)
    
    ### What problem does this PR solve?
    
    Issue Number: None
    
    Related PR: #55819
    
    Problem Summary:
    When a view is created with a column name containing special characters
    (e.g. `create view v as select 1 as '(第一列)'` with
    enable_unicode_name_support enabled), SHOW CREATE VIEW emits an unquoted
    column definition list like `((第一列))` — the outer parens are the list,
    the inner `(第一列)` is the raw column name emitted without backtick
    quoting. The generated DDL is not re-executable: the CREATE VIEW column
    list grammar requires an identifier (DorisParser.g4 simpleColumnDef ->
    identifier), and an unquoted name with parens fails to parse
    (`mismatched input '第一列'`).
    
    The column list itself was introduced by #55819 to preserve explicit
    column definitions/comments in SHOW CREATE VIEW, but
    Env.addColNameAndComment (Env.java) emitted column names verbatim.
    
    Fix: quote every column name with SqlUtils.getIdentSql (backtick-quoting
    with embedded-backtick escaping) and escape single quotes in column
    comments. After the fix SHOW CREATE VIEW outputs
    `CREATE VIEW `v` (`(第一列)`) AS select 1 as `(第一列)`;` which is valid SQL
    and round-trips.
---
 .../main/java/org/apache/doris/catalog/Env.java    |  7 ++-
 .../get_assignment_compatible_type.out             |  2 +-
 .../test_create_view_nereids.out                   | 54 ++++++++++++----------
 .../data/ddl_p0/test_alter_view_nereids.out        |  4 +-
 .../query_p0/ddl/show_view/show_view_command.out   | 16 +++----
 .../data/query_p0/show/test_show_create_view.out   |  4 +-
 .../test_show_create_table_and_views_nereids.out   |  2 +-
 .../create_view_star_except_and_cast_to_sql.out    |  4 +-
 regression-test/data/view_p0/view_p0.out           | 12 ++---
 .../test_create_view_nereids.groovy                |  7 +++
 .../suites/mtmv_p0/test_show_create_mtmv.groovy    |  2 +-
 11 files changed, 65 insertions(+), 49 deletions(-)

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 9738bd64727..2d0ccd486bc 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
@@ -89,6 +89,7 @@ import org.apache.doris.common.util.MetaLockUtils;
 import org.apache.doris.common.util.NetUtils;
 import org.apache.doris.common.util.PropertyAnalyzer;
 import org.apache.doris.common.util.SmallFileMgr;
+import org.apache.doris.common.util.SqlUtils;
 import org.apache.doris.common.util.TimeUtils;
 import org.apache.doris.common.util.Util;
 import org.apache.doris.connector.ConnectorFactory;
@@ -3905,10 +3906,12 @@ public class Env {
                 sb.append(",");
             }
             Column column = columns.get(i);
-            sb.append(column.getName());
+            // quote the column name to keep the generated DDL re-executable 
when the column name
+            // contains special characters (e.g. created via string literal 
alias like select 1 as '(第一列)')
+            sb.append(SqlUtils.getIdentSql(column.getName()));
             if (!StringUtils.isEmpty(column.getComment())) {
                 sb.append(" comment '");
-                sb.append(column.getComment());
+                sb.append(column.getComment().replace("'", "\\'"));
                 sb.append("'");
             }
         }
diff --git 
a/regression-test/data/datatype_p0/scalar_types/get_assignment_compatible_type.out
 
b/regression-test/data/datatype_p0/scalar_types/get_assignment_compatible_type.out
index f718757dea9..651e70be32b 100644
--- 
a/regression-test/data/datatype_p0/scalar_types/get_assignment_compatible_type.out
+++ 
b/regression-test/data/datatype_p0/scalar_types/get_assignment_compatible_type.out
@@ -1,6 +1,6 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !test_sql --
-test_decimal_boolean_view      CREATE VIEW 
`test_decimal_boolean_view`\n(id,c1,c2)\n AS select 
`internal`.`regression_test_datatype_p0_scalar_types`.`test_decimal_boolean`.`id`,`internal`.`regression_test_datatype_p0_scalar_types`.`test_decimal_boolean`.`c1`,`internal`.`regression_test_datatype_p0_scalar_types`.`test_decimal_boolean`.`c2`
 from 
`internal`.`regression_test_datatype_p0_scalar_types`.`test_decimal_boolean` 
where 0.0=`internal`.`regression_test_datatype_p0_scalar_types`.`test_deci [...]
+test_decimal_boolean_view      CREATE VIEW 
`test_decimal_boolean_view`\n(`id`,`c1`,`c2`)\n AS select 
`internal`.`regression_test_datatype_p0_scalar_types`.`test_decimal_boolean`.`id`,`internal`.`regression_test_datatype_p0_scalar_types`.`test_decimal_boolean`.`c1`,`internal`.`regression_test_datatype_p0_scalar_types`.`test_decimal_boolean`.`c2`
 from 
`internal`.`regression_test_datatype_p0_scalar_types`.`test_decimal_boolean` 
where 0.0=`internal`.`regression_test_datatype_p0_scalar_types`.`tes [...]
 
 -- !test_union --
 0.0
diff --git 
a/regression-test/data/ddl_p0/create_view_nereids/test_create_view_nereids.out 
b/regression-test/data/ddl_p0/create_view_nereids/test_create_view_nereids.out
index ee63cbb3446..31f841212f4 100644
--- 
a/regression-test/data/ddl_p0/create_view_nereids/test_create_view_nereids.out
+++ 
b/regression-test/data/ddl_p0/create_view_nereids/test_create_view_nereids.out
@@ -25,7 +25,7 @@
 3      [-1, 20, 0]     [0, 1, 0]
 
 -- !test_view_6 --
-v1     CREATE VIEW 
`v1`\n(error_code,__literal_1,__literal_2,__now_3,__dayofyear_4,__cast_5,__window_expression_6,__greater_than_7,__add_8,__in_predicate_9,__like_10,__case_when_11,__bit_or_12)\n
 AS SELECT\n      
`internal`.`regression_test_ddl_p0_create_view_nereids`.`view_column_name_test_nereids`.`error_code`,
 \n      1, \n      'string', \n      now(), \n      
dayofyear(`internal`.`regression_test_ddl_p0_create_view_nereids`.`view_column_name_test_nereids`.`op_time`),
 \n      cast (`inte [...]
+v1     CREATE VIEW 
`v1`\n(`error_code`,`__literal_1`,`__literal_2`,`__now_3`,`__dayofyear_4`,`__cast_5`,`__window_expression_6`,`__greater_than_7`,`__add_8`,`__in_predicate_9`,`__like_10`,`__case_when_11`,`__bit_or_12`)\n
 AS SELECT\n      
`internal`.`regression_test_ddl_p0_create_view_nereids`.`view_column_name_test_nereids`.`error_code`,
 \n      1, \n      'string', \n      now(), \n      
dayofyear(`internal`.`regression_test_ddl_p0_create_view_nereids`.`view_column_name_test_nereids`.`op_t
 [...]
 
 -- !test_with_as --
 1      1       2
@@ -47,7 +47,7 @@ v1    CREATE VIEW 
`v1`\n(error_code,__literal_1,__literal_2,__now_3,__dayofyear_4,_
 6      7       1
 
 -- !test_with_as_sql --
-test_view_with_as      CREATE VIEW `test_view_with_as`\n(pk,a,b)\n AS (\n      
      with `t1` as (select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`pk`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` 
from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`),  
`t2` as (select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_tes [...]
+test_view_with_as      CREATE VIEW `test_view_with_as`\n(`pk`,`a`,`b`)\n AS 
(\n            with `t1` as (select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`pk`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` 
from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`),  
`t2` as (select `internal`.`regression_test_ddl_p0_create_view_nereids`.`m [...]
 
 -- !test_union --
 1      1       2
@@ -86,13 +86,13 @@ test_view_with_as   CREATE VIEW 
`test_view_with_as`\n(pk,a,b)\n AS (\n
 6      7       1
 
 -- !test_union_sql --
-test_view_union        CREATE VIEW `test_view_union`\n(c1,c2,c3)\n AS (select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`pk` AS 
`c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` AS 
`c2`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` AS 
`c3` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view` Union 
all SELECT 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`. [...]
+test_view_union        CREATE VIEW `test_view_union`\n(`c1`,`c2`,`c3`)\n AS 
(select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`pk` AS 
`c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` AS 
`c2`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` AS 
`c3` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view` Union 
all SELECT `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_ 
[...]
 
 -- !test_count_star --
 17
 
 -- !test_count_star_sql --
-test_view_count_star   CREATE VIEW `test_view_count_star`\n(c1)\n AS (select 
count(*) AS `c1` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view` having 
count(*) > 0);       utf8mb4 utf8mb4_0900_bin
+test_view_count_star   CREATE VIEW `test_view_count_star`\n(`c1`)\n AS (select 
count(*) AS `c1` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view` having 
count(*) > 0);     utf8mb4 utf8mb4_0900_bin
 
 -- !test_expression --
 \N     \N      6
@@ -114,7 +114,7 @@ test_view_count_star        CREATE VIEW 
`test_view_count_star`\n(c1)\n AS (select count
 8      10      1
 
 -- !test_expression_sql --
-test_view_expression   CREATE VIEW `test_view_expression`\n(c1,c2,c3)\n AS 
(select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`+1 
AS `c1`, 
abs(`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`)+2+1
 AS `c2`, 
cast(`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b`
 as varchar(10)) AS `c3` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`);       
 utf8mb4 utf8mb4_0900_bin
+test_view_expression   CREATE VIEW `test_view_expression`\n(`c1`,`c2`,`c3`)\n 
AS (select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`+1 
AS `c1`, 
abs(`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`)+2+1
 AS `c2`, 
cast(`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b`
 as varchar(10)) AS `c3` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`);  
utf8mb4 utf8mb4_0900_bin
 
 -- !test_alias --
 \N     \N      6
@@ -136,7 +136,13 @@ test_view_expression       CREATE VIEW 
`test_view_expression`\n(c1,c2,c3)\n AS (select
 8      10      1
 
 -- !test_alias_sql --
-test_view_alias        CREATE VIEW `test_view_alias`\n(c1,c2,c3)\n AS (\n      
  select `t`.`c8` AS `c1`, `t`.`c2` AS `c2`, `t`.`c1` AS `c3` from (select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`+1 
`c8`,abs(`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`)+2+1
 as `c2`, 
cast(`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b`
 as varchar(10)) as `c1` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`m [...]
+test_view_alias        CREATE VIEW `test_view_alias`\n(`c1`,`c2`,`c3`)\n AS 
(\n        select `t`.`c8` AS `c1`, `t`.`c2` AS `c2`, `t`.`c1` AS `c3` from 
(select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`+1 
`c8`,abs(`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`)+2+1
 as `c2`, 
cast(`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b`
 as varchar(10)) as `c1` from 
`internal`.`regression_test_ddl_p0_create_view_nerei [...]
+
+-- !test_view_special_col_name --
+1
+
+-- !test_view_special_col_name_sql --
+test_view_special_col_name     CREATE VIEW 
`test_view_special_col_name`\n(`(第一列)`)\n AS select 1 as `(第一列)`;   utf8mb4 
utf8mb4_0900_bin
 
 -- !test_star_except --
 \N     6
@@ -158,7 +164,7 @@ test_view_alias     CREATE VIEW 
`test_view_alias`\n(c1,c2,c3)\n AS (\n        select
 7      1
 
 -- !test_star_except_sql --
-test_view_star_except  CREATE VIEW `test_view_star_except`\n(a,b)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` 
from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`;   
utf8mb4 utf8mb4_0900_bin
+test_view_star_except  CREATE VIEW `test_view_star_except`\n(`a`,`b`)\n AS 
select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` 
from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`;   
    utf8mb4 utf8mb4_0900_bin
 
 -- !test_create_view_from_view --
 1      1       2
@@ -180,7 +186,7 @@ test_view_star_except       CREATE VIEW 
`test_view_star_except`\n(a,b)\n AS select `in
 6      7       1
 
 -- !test_create_view_from_view_sql --
-test_view_from_view    CREATE VIEW `test_view_from_view`\n(c1,c2,c3)\n AS 
select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`test_view_with_as`.`pk`
 AS `c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`test_view_with_as`.`a` 
AS `c2`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`test_view_with_as`.`b` 
AS `c3` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`test_view_with_as`;  
utf8mb4 utf8mb4_0900_bin
+test_view_from_view    CREATE VIEW `test_view_from_view`\n(`c1`,`c2`,`c3`)\n 
AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`test_view_with_as`.`pk`
 AS `c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`test_view_with_as`.`a` 
AS `c2`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`test_view_with_as`.`b` 
AS `c3` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`test_view_with_as`;    
utf8mb4 utf8mb4_0900_bin
 
 -- !test_mv_prefix_in_view_define --
 \N     6
@@ -202,7 +208,7 @@ test_view_from_view CREATE VIEW 
`test_view_from_view`\n(c1,c2,c3)\n AS select `i
 7      1
 
 -- !test_mv_prefix_in_view_define_sql --
-test_mv_prefix_in_view_define  CREATE VIEW 
`test_mv_prefix_in_view_define`\n(mva_hello,c2)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` AS 
`mva_hello`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` AS 
`c2` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`;   
utf8mb4 utf8mb4_0900_bin
+test_mv_prefix_in_view_define  CREATE VIEW 
`test_mv_prefix_in_view_define`\n(`mva_hello`,`c2`)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` AS 
`mva_hello`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` AS 
`c2` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`;       
utf8mb4 utf8mb4_0900_bin
 
 -- !test_backquote_in_view_define --
 \N     6
@@ -224,7 +230,7 @@ test_mv_prefix_in_view_define       CREATE VIEW 
`test_mv_prefix_in_view_define`\n(mva_
 7      1
 
 -- !test_backquote_in_view_define_sql --
-test_backquote_in_view_define  CREATE VIEW 
`test_backquote_in_view_define`\n(abc,c2)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` AS 
`abc`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` AS 
`c2` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`;       
utf8mb4 utf8mb4_0900_bin
+test_backquote_in_view_define  CREATE VIEW 
`test_backquote_in_view_define`\n(`abc`,`c2`)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` AS 
`abc`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` AS 
`c2` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`;   
utf8mb4 utf8mb4_0900_bin
 
 -- !test_backquote_in_table_alias --
 \N     6
@@ -246,7 +252,7 @@ test_backquote_in_view_define       CREATE VIEW 
`test_backquote_in_view_define`\n(abc,
 7      1
 
 -- !test_backquote_in_table_alias_sql --
-test_backquote_in_table_alias  CREATE VIEW 
`test_backquote_in_table_alias`\n(c1,c2)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`ab``c`.`a` AS `c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`ab``c`.`b` AS `c2` 
from (select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`,`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b`
 from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`) 
` [...]
+test_backquote_in_table_alias  CREATE VIEW 
`test_backquote_in_table_alias`\n(`c1`,`c2`)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`ab``c`.`a` AS `c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`ab``c`.`b` AS `c2` 
from (select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`,`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b`
 from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view 
[...]
 
 -- !test_invalid_column_name_in_table --
 \N     6
@@ -268,7 +274,7 @@ test_backquote_in_table_alias       CREATE VIEW 
`test_backquote_in_table_alias`\n(c1,c
 7      1
 
 -- !test_invalid_column_name_in_table_define_sql --
-test_invalid_column_name_in_table      CREATE VIEW 
`test_invalid_column_name_in_table`\n(a,b)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` 
,`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` 
from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`;   
    utf8mb4 utf8mb4_0900_bin
+test_invalid_column_name_in_table      CREATE VIEW 
`test_invalid_column_name_in_table`\n(`a`,`b`)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` 
,`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` 
from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`;   
utf8mb4 utf8mb4_0900_bin
 
 -- !test_generate --
 1      10      A       30
@@ -281,7 +287,7 @@ test_invalid_column_name_in_table   CREATE VIEW 
`test_invalid_column_name_in_table
 4      40      D       60
 
 -- !test_generate_sql --
-test_view_generate     CREATE VIEW 
`test_view_generate`\n(id,value1,value2,age)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`,
 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value1`,
 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value2`,
 `t1`.`age` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1` 
lateral view EXPLODE(ARRAY(30,60)) `t1` as `age`;    utf8 [...]
+test_view_generate     CREATE VIEW 
`test_view_generate`\n(`id`,`value1`,`value2`,`age`)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`,
 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value1`,
 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value2`,
 `t1`.`age` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1` 
lateral view EXPLODE(ARRAY(30,60)) `t1` as `ag [...]
 
 -- !test_generate_with_column --
 1      10      A       0
@@ -296,7 +302,7 @@ test_view_generate  CREATE VIEW 
`test_view_generate`\n(id,value1,value2,age)\n AS
 4      40      D       3
 
 -- !test_generate_with_column_sql --
-test_view_generate_with_column CREATE VIEW 
`test_view_generate_with_column`\n(id,value1,value2,age)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`,
 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value1`,
 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value2`,
 `t1`.`age` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1` 
lateral view EXPLODE_numbers(` [...]
+test_view_generate_with_column CREATE VIEW 
`test_view_generate_with_column`\n(`id`,`value1`,`value2`,`age`)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`,
 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value1`,
 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value2`,
 `t1`.`age` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1` 
lateral view EXPLODE_n [...]
 
 -- !test_col_alias --
 1      10
@@ -305,7 +311,7 @@ test_view_generate_with_column      CREATE VIEW 
`test_view_generate_with_column`\n(id
 4      40
 
 -- !test_col_alias_sql --
-test_view_col_alias    CREATE VIEW `test_view_col_alias`\n(c1,c2)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`
 as `c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value1`
 as `c2` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`;   
   utf8mb4 utf8mb4_0900_bin
+test_view_col_alias    CREATE VIEW `test_view_col_alias`\n(`c1`,`c2`)\n AS 
select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`
 as `c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value1`
 as `c2` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`;  
utf8mb4 utf8mb4_0900_bin
 
 -- !test_col_alias_with_specific_name --
 1      10
@@ -314,7 +320,7 @@ test_view_col_alias CREATE VIEW 
`test_view_col_alias`\n(c1,c2)\n AS select `inte
 4      40
 
 -- !test_col_alias_with_specific_name_sql --
-test_view_col_alias_specific_name      CREATE VIEW 
`test_view_col_alias_specific_name`\n(col1,col2)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`
 AS `col1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value1`
 AS `col2` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`;   
     utf8mb4 utf8mb4_0900_bin
+test_view_col_alias_specific_name      CREATE VIEW 
`test_view_col_alias_specific_name`\n(`col1`,`col2`)\n AS select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`
 AS `col1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value1`
 AS `col2` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`;   
 utf8mb4 utf8mb4_0900_bin
 
 -- !test_table_alias --
 1      10
@@ -323,7 +329,7 @@ test_view_col_alias_specific_name   CREATE VIEW 
`test_view_col_alias_specific_name
 4      40
 
 -- !test_table_alias_sql --
-test_view_table_alias  CREATE VIEW `test_view_table_alias`\n(c1,c2)\n AS 
select `t`.`c1`, `t`.`c2` from (\n            select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`
 as `c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value1`
 as `c2` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1` 
limit 10) as `t`;     utf8mb4 utf8mb4_0900_bin
+test_view_table_alias  CREATE VIEW `test_view_table_alias`\n(`c1`,`c2`)\n AS 
select `t`.`c1`, `t`.`c2` from (\n            select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`
 as `c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`value1`
 as `c2` from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1` 
limit 10) as `t`; utf8mb4 utf8mb4_0900_bin
 
 -- !test_join_table_alias --
 1      10
@@ -332,7 +338,7 @@ test_view_table_alias       CREATE VIEW 
`test_view_table_alias`\n(c1,c2)\n AS select `
 4      40
 
 -- !test_join_table_alias_sql --
-test_view_join_table_alias     CREATE VIEW 
`test_view_join_table_alias`\n(c1,c2)\n AS select `t`.`c1`, `t`.`c2` from (\n   
         select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`t1`.`id` as `c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`t1`.`value1` as `c2` 
from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1` 
`t1` inner join 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table2` 
`t2` on `internal`.`regressio [...]
+test_view_join_table_alias     CREATE VIEW 
`test_view_join_table_alias`\n(`c1`,`c2`)\n AS select `t`.`c1`, `t`.`c2` from 
(\n            select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`t1`.`id` as `c1`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`t1`.`value1` as `c2` 
from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1` 
`t1` inner join 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table2` 
`t2` on `internal`.`regre [...]
 
 -- !test_alias_udf --
 1****1 1
@@ -341,7 +347,7 @@ test_view_join_table_alias  CREATE VIEW 
`test_view_join_table_alias`\n(c1,c2)\n A
 4****4 4
 
 -- !test_alias_udf_sql --
-test_view_alias_udf    CREATE VIEW `test_view_alias_udf`\n(c1,__abs_1)\n AS 
(select 
`regression_test_ddl_p0_create_view_nereids`.`alias_function_create_view_test`(`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`)
 as 
`c1`,abs(`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`)
 from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`);  
     utf8mb4 utf8mb4_0900_bin
+test_view_alias_udf    CREATE VIEW `test_view_alias_udf`\n(`c1`,`__abs_1`)\n 
AS (select 
`regression_test_ddl_p0_create_view_nereids`.`alias_function_create_view_test`(`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`)
 as 
`c1`,abs(`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`)
 from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`);  
 utf8mb4 utf8mb4_0900_bin
 
 -- !test_alias_with_db_udf --
 1****1 1
@@ -350,10 +356,10 @@ test_view_alias_udf       CREATE VIEW 
`test_view_alias_udf`\n(c1,__abs_1)\n AS (select
 4****4 4
 
 -- !test_alias_with_db_udf_sql --
-test_view_alias_udf_with_db    CREATE VIEW 
`test_view_alias_udf_with_db`\n(c1,__abs_1)\n AS (select 
`regression_test_ddl_p0_create_view_nereids`.`alias_function_create_view_test`(`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`)
 as 
`c1`,abs(`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`)
 from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`);  
     utf8mb4 utf8mb4_0900_bin
+test_view_alias_udf_with_db    CREATE VIEW 
`test_view_alias_udf_with_db`\n(`c1`,`__abs_1`)\n AS (select 
`regression_test_ddl_p0_create_view_nereids`.`alias_function_create_view_test`(`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`)
 as 
`c1`,abs(`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`)
 from 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`);  
 utf8mb4 utf8mb4_0900_bin
 
 -- !test_udf_sql --
-test_view_udf  CREATE VIEW 
`test_view_udf`\n(c1,__java_udf_create_view_test_1,__java_udf_create_view_test_2)\n
 AS (select 
`regression_test_ddl_p0_create_view_nereids`.`alias_function_create_view_test`(`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`)
 as `c1`, 
`regression_test_ddl_p0_create_view_nereids`.`java_udf_create_view_test`('2011-01-01','2011-01-02'),\n
        
`regression_test_ddl_p0_create_view_nereids`.`java_udf_create_view_test`('2011-01-01','201
 [...]
+test_view_udf  CREATE VIEW 
`test_view_udf`\n(`c1`,`__java_udf_create_view_test_1`,`__java_udf_create_view_test_2`)\n
 AS (select 
`regression_test_ddl_p0_create_view_nereids`.`alias_function_create_view_test`(`internal`.`regression_test_ddl_p0_create_view_nereids`.`create_view_table1`.`id`)
 as `c1`, 
`regression_test_ddl_p0_create_view_nereids`.`java_udf_create_view_test`('2011-01-01','2011-01-02'),\n
        
`regression_test_ddl_p0_create_view_nereids`.`java_udf_create_view_test`('2011-01-01
 [...]
 
 -- !test_udf --
 1****1 false   false
@@ -381,7 +387,7 @@ test_view_udf       CREATE VIEW 
`test_view_udf`\n(c1,__java_udf_create_view_test_1,__j
 6      7       1
 
 -- !test_with_as_with_columns_sql --
-test_view_with_as_with_columns CREATE VIEW 
`test_view_with_as_with_columns`\n(c1,c2,c3)\n AS (\n            with 
`t1`(`c1`,`c2`,`c3`) as (select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`pk`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` 
from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`),  
`t2` as (select `internal`.`regressi [...]
+test_view_with_as_with_columns CREATE VIEW 
`test_view_with_as_with_columns`\n(`c1`,`c2`,`c3`)\n AS (\n            with 
`t1`(`c1`,`c2`,`c3`) as (select 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`pk`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`b` 
from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`),  
`t2` as (select `internal`.`re [...]
 
 -- !test_having --
 2      2
@@ -398,14 +404,14 @@ test_view_with_as_with_columns    CREATE VIEW 
`test_view_with_as_with_columns`\n(c1
 15     5
 
 -- !test_having_sql --
-test_having    CREATE VIEW `test_having`\n(c1,a)\n AS select 
sum(`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`)
 over(partition by 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` 
order by 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`pk`) 
as `c1` , 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` 
from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view` 
group by  [...]
+test_having    CREATE VIEW `test_having`\n(`c1`,`a`)\n AS select 
sum(`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a`)
 over(partition by 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` 
order by 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`pk`) 
as `c1` , 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view`.`a` 
from `internal`.`regression_test_ddl_p0_create_view_nereids`.`mal_test_view` 
group [...]
 
 -- !complicated_view1 --
 1      100     1
 2      200     1
 
 -- !complicated_view1_sql --
-test_view_complicated  CREATE VIEW 
`test_view_complicated`\n(id,value3,row_num)\n AS SELECT 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`t`.`id`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`t`.`value3`, 
`t`.`row_num` FROM (\n        SELECT 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`t1`.`id`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`tt`.`value3`, 
ROW_NUMBER() OVER (PARTITION BY 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`t [...]
+test_view_complicated  CREATE VIEW 
`test_view_complicated`\n(`id`,`value3`,`row_num`)\n AS SELECT 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`t`.`id`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`t`.`value3`, 
`t`.`row_num` FROM (\n        SELECT 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`t1`.`id`, 
`internal`.`regression_test_ddl_p0_create_view_nereids`.`tt`.`value3`, 
ROW_NUMBER() OVER (PARTITION BY 
`internal`.`regression_test_ddl_p0_create_view_nerei [...]
 
 -- !nullable --
 1      小区A     10      1       2024-09-01T09:00        2024-09-01T10:00
diff --git a/regression-test/data/ddl_p0/test_alter_view_nereids.out 
b/regression-test/data/ddl_p0/test_alter_view_nereids.out
index e5196b6a59a..7c4158c6c4a 100644
--- a/regression-test/data/ddl_p0/test_alter_view_nereids.out
+++ b/regression-test/data/ddl_p0/test_alter_view_nereids.out
@@ -10,8 +10,8 @@
 2      70
 
 -- !sql --
-test_alter_view_view_nereids   CREATE VIEW 
`test_alter_view_view_nereids`\n(k1,k2)\n COMMENT 'test_view' AS SELECT 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c1` AS 
`k1`, 
sum(`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c3`) 
AS `k2` FROM 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids` GROUP BY 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c1`; 
utf8mb4 utf8mb4_0900_bin
+test_alter_view_view_nereids   CREATE VIEW 
`test_alter_view_view_nereids`\n(`k1`,`k2`)\n COMMENT 'test_view' AS SELECT 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c1` AS 
`k1`, 
sum(`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c3`) 
AS `k2` FROM 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids` GROUP BY 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c1`;     
utf8mb4 utf8mb4_0900_bin
 
 -- !sql --
-test_alter_view_view_nereids   CREATE VIEW 
`test_alter_view_view_nereids`\n(c1,c2,c3)\n COMMENT 'test_view' AS (select 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c1`, 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c2`, 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c3` from 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`); utf8mb4 
utf8mb4_0900_bin
+test_alter_view_view_nereids   CREATE VIEW 
`test_alter_view_view_nereids`\n(`c1`,`c2`,`c3`)\n COMMENT 'test_view' AS 
(select 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c1`, 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c2`, 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`.`c3` from 
`internal`.`regression_test_ddl_p0`.`test_alter_view_table_nereids`);   utf8mb4 
utf8mb4_0900_bin
 
diff --git a/regression-test/data/query_p0/ddl/show_view/show_view_command.out 
b/regression-test/data/query_p0/ddl/show_view/show_view_command.out
index 47268b6c2c8..96bb38bb3d5 100644
--- a/regression-test/data/query_p0/ddl/show_view/show_view_command.out
+++ b/regression-test/data/query_p0/ddl/show_view/show_view_command.out
@@ -1,17 +1,17 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !cmd --
-ttv1   CREATE VIEW `ttv1`\n(c1,c2)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1`, 
`internal`.`test_show_view_db2`.`t2`.`c2` from 
`internal`.`test_show_view_db2`.`t1` join `internal`.`test_show_view_db2`.`t2` 
on `internal`.`test_show_view_db2`.`t1`.`c2` = 
`internal`.`test_show_view_db2`.`t2`.`c2`;
-ttv2   CREATE VIEW `ttv2`\n(c1)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1` from 
`internal`.`test_show_view_db2`.`t1` where 
`internal`.`test_show_view_db2`.`t1`.`c2` = 1;
+ttv1   CREATE VIEW `ttv1`\n(`c1`,`c2`)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1`, 
`internal`.`test_show_view_db2`.`t2`.`c2` from 
`internal`.`test_show_view_db2`.`t1` join `internal`.`test_show_view_db2`.`t2` 
on `internal`.`test_show_view_db2`.`t1`.`c2` = 
`internal`.`test_show_view_db2`.`t2`.`c2`;
+ttv2   CREATE VIEW `ttv2`\n(`c1`)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1` from 
`internal`.`test_show_view_db2`.`t1` where 
`internal`.`test_show_view_db2`.`t1`.`c2` = 1;
 
 -- !cmd --
-tv1    CREATE VIEW `tv1`\n(c1,c2)\n AS select 
`internal`.`test_show_view_db1`.`t1`.`c1`, 
`internal`.`test_show_view_db1`.`t2`.`c2` from 
`internal`.`test_show_view_db1`.`t1` join `internal`.`test_show_view_db1`.`t2` 
on `internal`.`test_show_view_db1`.`t1`.`c2` = 
`internal`.`test_show_view_db1`.`t2`.`c2`;
-tv2    CREATE VIEW `tv2`\n(c1)\n AS select 
`internal`.`test_show_view_db1`.`t1`.`c1` from 
`internal`.`test_show_view_db1`.`t1` where 
`internal`.`test_show_view_db1`.`t1`.`c2` = 1;
+tv1    CREATE VIEW `tv1`\n(`c1`,`c2`)\n AS select 
`internal`.`test_show_view_db1`.`t1`.`c1`, 
`internal`.`test_show_view_db1`.`t2`.`c2` from 
`internal`.`test_show_view_db1`.`t1` join `internal`.`test_show_view_db1`.`t2` 
on `internal`.`test_show_view_db1`.`t1`.`c2` = 
`internal`.`test_show_view_db1`.`t2`.`c2`;
+tv2    CREATE VIEW `tv2`\n(`c1`)\n AS select 
`internal`.`test_show_view_db1`.`t1`.`c1` from 
`internal`.`test_show_view_db1`.`t1` where 
`internal`.`test_show_view_db1`.`t1`.`c2` = 1;
 
 -- !cmd --
-ttv1   CREATE VIEW `ttv1`\n(c1,c2)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1`, 
`internal`.`test_show_view_db2`.`t2`.`c2` from 
`internal`.`test_show_view_db2`.`t1` join `internal`.`test_show_view_db2`.`t2` 
on `internal`.`test_show_view_db2`.`t1`.`c2` = 
`internal`.`test_show_view_db2`.`t2`.`c2`;
-ttv2   CREATE VIEW `ttv2`\n(c1)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1` from 
`internal`.`test_show_view_db2`.`t1` where 
`internal`.`test_show_view_db2`.`t1`.`c2` = 1;
+ttv1   CREATE VIEW `ttv1`\n(`c1`,`c2`)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1`, 
`internal`.`test_show_view_db2`.`t2`.`c2` from 
`internal`.`test_show_view_db2`.`t1` join `internal`.`test_show_view_db2`.`t2` 
on `internal`.`test_show_view_db2`.`t1`.`c2` = 
`internal`.`test_show_view_db2`.`t2`.`c2`;
+ttv2   CREATE VIEW `ttv2`\n(`c1`)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1` from 
`internal`.`test_show_view_db2`.`t1` where 
`internal`.`test_show_view_db2`.`t1`.`c2` = 1;
 
 -- !cmd --
-ttv1   CREATE VIEW `ttv1`\n(c1,c2)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1`, 
`internal`.`test_show_view_db2`.`t2`.`c2` from 
`internal`.`test_show_view_db2`.`t1` join `internal`.`test_show_view_db2`.`t2` 
on `internal`.`test_show_view_db2`.`t1`.`c2` = 
`internal`.`test_show_view_db2`.`t2`.`c2`;
-ttv2   CREATE VIEW `ttv2`\n(c1)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1` from 
`internal`.`test_show_view_db2`.`t1` where 
`internal`.`test_show_view_db2`.`t1`.`c2` = 1;
+ttv1   CREATE VIEW `ttv1`\n(`c1`,`c2`)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1`, 
`internal`.`test_show_view_db2`.`t2`.`c2` from 
`internal`.`test_show_view_db2`.`t1` join `internal`.`test_show_view_db2`.`t2` 
on `internal`.`test_show_view_db2`.`t1`.`c2` = 
`internal`.`test_show_view_db2`.`t2`.`c2`;
+ttv2   CREATE VIEW `ttv2`\n(`c1`)\n AS select 
`internal`.`test_show_view_db2`.`t1`.`c1` from 
`internal`.`test_show_view_db2`.`t1` where 
`internal`.`test_show_view_db2`.`t1`.`c2` = 1;
 
diff --git a/regression-test/data/query_p0/show/test_show_create_view.out 
b/regression-test/data/query_p0/show/test_show_create_view.out
index 073acd953fc..e6609817f15 100644
--- a/regression-test/data/query_p0/show/test_show_create_view.out
+++ b/regression-test/data/query_p0/show/test_show_create_view.out
@@ -1,7 +1,7 @@
 -- This file is automatically generated. You should know what you did if you 
want to edit this
 -- !cmd --
-view_show_create_view  CREATE VIEW `view_show_create_view`\n(id,name)\n AS 
SELECT `internal`.`regression_test_query_p0_show`.`table_for_view_test`.`id`, 
`internal`.`regression_test_query_p0_show`.`table_for_view_test`.`name` FROM 
`internal`.`regression_test_query_p0_show`.`table_for_view_test`;        
utf8mb4 utf8mb4_0900_bin
+view_show_create_view  CREATE VIEW `view_show_create_view`\n(`id`,`name`)\n AS 
SELECT `internal`.`regression_test_query_p0_show`.`table_for_view_test`.`id`, 
`internal`.`regression_test_query_p0_show`.`table_for_view_test`.`name` FROM 
`internal`.`regression_test_query_p0_show`.`table_for_view_test`;    utf8mb4 
utf8mb4_0900_bin
 
 -- !cmd --
-view_show_create_view_2        CREATE VIEW `view_show_create_view_2`\n(k1,k2 
comment 'k2_comment')\n COMMENT 'v2' AS SELECT 
`internal`.`regression_test_query_p0_show`.`table_for_view_test_2`.`key_field` 
AS `k1`, 
`internal`.`regression_test_query_p0_show`.`table_for_view_test_2`.`value` AS 
`k2` FROM `internal`.`regression_test_query_p0_show`.`table_for_view_test_2`;   
     utf8mb4 utf8mb4_0900_bin
+view_show_create_view_2        CREATE VIEW 
`view_show_create_view_2`\n(`k1`,`k2` comment 'k2_comment')\n COMMENT 'v2' AS 
SELECT 
`internal`.`regression_test_query_p0_show`.`table_for_view_test_2`.`key_field` 
AS `k1`, 
`internal`.`regression_test_query_p0_show`.`table_for_view_test_2`.`value` AS 
`k2` FROM `internal`.`regression_test_query_p0_show`.`table_for_view_test_2`;   
 utf8mb4 utf8mb4_0900_bin
 
diff --git 
a/regression-test/data/show_p0/test_show_create_table_and_views_nereids.out 
b/regression-test/data/show_p0/test_show_create_table_and_views_nereids.out
index ba759342923..c9c2a55ecf5 100644
--- a/regression-test/data/show_p0/test_show_create_table_and_views_nereids.out
+++ b/regression-test/data/show_p0/test_show_create_table_and_views_nereids.out
@@ -27,7 +27,7 @@ show_create_table_and_views_nereids_table     CREATE TABLE 
`show_create_table_and_vi
 3      1
 
 -- !show --
-show_create_table_and_views_nereids_view       CREATE VIEW 
`show_create_table_and_views_nereids_view`\n(user_id,cost)\n AS SELECT 
`internal`.`show_create_table_and_views_nereids_db`.`show_create_table_and_views_nereids_table`.`user_id`
 AS `user_id`, 
`internal`.`show_create_table_and_views_nereids_db`.`show_create_table_and_views_nereids_table`.`cost`
 AS `cost` FROM 
`internal`.`show_create_table_and_views_nereids_db`.`show_create_table_and_views_nereids_table`\n
        WHERE `internal`.`show_cr [...]
+show_create_table_and_views_nereids_view       CREATE VIEW 
`show_create_table_and_views_nereids_view`\n(`user_id`,`cost`)\n AS SELECT 
`internal`.`show_create_table_and_views_nereids_db`.`show_create_table_and_views_nereids_table`.`user_id`
 AS `user_id`, 
`internal`.`show_create_table_and_views_nereids_db`.`show_create_table_and_views_nereids_table`.`cost`
 AS `cost` FROM 
`internal`.`show_create_table_and_views_nereids_db`.`show_create_table_and_views_nereids_table`\n
        WHERE `internal`.`sho [...]
 
 -- !select --
 1      47
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 7d6b4157ff3..4a232ebf712 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
@@ -7,8 +7,8 @@
 6      6
 
 -- !test_select_star_except_sql --
-v_mal_old_create_view  CREATE VIEW `v_mal_old_create_view`\n(pk,b)\n AS select 
`internal`.`regression_test_view_p0`.`mal_old_create_view`.`pk`, 
`internal`.`regression_test_view_p0`.`mal_old_create_view`.`b` from 
`internal`.`regression_test_view_p0`.`mal_old_create_view`;        utf8mb4 
utf8mb4_0900_bin
+v_mal_old_create_view  CREATE VIEW `v_mal_old_create_view`\n(`pk`,`b`)\n AS 
select `internal`.`regression_test_view_p0`.`mal_old_create_view`.`pk`, 
`internal`.`regression_test_view_p0`.`mal_old_create_view`.`b` from 
`internal`.`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`\n(__cast_0)\n AS 
select cast(cast(`internal`.`regression_test_view_p0`.`mal_old_create_view`.`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`\n(`__cast_0`)\n AS 
select cast(cast(`internal`.`regression_test_view_p0`.`mal_old_create_view`.`a` 
as string) as time) from 
`internal`.`regression_test_view_p0`.`mal_old_create_view`;    utf8mb4 
utf8mb4_0900_bin
 
diff --git a/regression-test/data/view_p0/view_p0.out 
b/regression-test/data/view_p0/view_p0.out
index bfe587be741..55f28f94478 100644
--- a/regression-test/data/view_p0/view_p0.out
+++ b/regression-test/data/view_p0/view_p0.out
@@ -28,22 +28,22 @@ internal    regression_test_view_p0 test_view       select 
1,to_base64(AES_ENCRYPT('doris
 17777208882
 
 -- !show_aes --
-test_view_aes  CREATE VIEW `test_view_aes`\n(__aes_decrypt_0)\n AS SELECT 
aes_decrypt(from_base64("EXp7k7M9Zv1mIwPpno28Hg=="), '17IMZrGdwWf2Piy8', 
'II2HLtihr5TQpQgR', 'AES_128_CBC'); utf8mb4 utf8mb4_0900_bin
+test_view_aes  CREATE VIEW `test_view_aes`\n(`__aes_decrypt_0`)\n AS SELECT 
aes_decrypt(from_base64("EXp7k7M9Zv1mIwPpno28Hg=="), '17IMZrGdwWf2Piy8', 
'II2HLtihr5TQpQgR', 'AES_128_CBC');       utf8mb4 utf8mb4_0900_bin
 
 -- !comment0 --
-test_view_table2_view  CREATE VIEW `test_view_table2_view`\n(CREATE_DATE)\n AS 
SELECT \n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`,'%Y-%m-%d')
 AS `CREATE_DATE`\n            FROM \n                
`internal`.`regression_test_view_p0`.`test_view_table2`\n            GROUP BY  
\n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`, 
'%Y-%m-%d');      utf8mb4 utf8mb4_0900_bin
+test_view_table2_view  CREATE VIEW `test_view_table2_view`\n(`CREATE_DATE`)\n 
AS SELECT \n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`,'%Y-%m-%d')
 AS `CREATE_DATE`\n            FROM \n                
`internal`.`regression_test_view_p0`.`test_view_table2`\n            GROUP BY  
\n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`, 
'%Y-%m-%d');    utf8mb4 utf8mb4_0900_bin
 
 -- !comment1 --
-test_view_table2_view  CREATE VIEW `test_view_table2_view`\n(CREATE_DATE)\n 
COMMENT 'comment1' AS SELECT \n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`,'%Y-%m-%d')
 AS `CREATE_DATE`\n            FROM \n                
`internal`.`regression_test_view_p0`.`test_view_table2`\n            GROUP BY  
\n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`, 
'%Y-%m-%d');   utf8mb4 utf8mb4_0900_bin
+test_view_table2_view  CREATE VIEW `test_view_table2_view`\n(`CREATE_DATE`)\n 
COMMENT 'comment1' AS SELECT \n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`,'%Y-%m-%d')
 AS `CREATE_DATE`\n            FROM \n                
`internal`.`regression_test_view_p0`.`test_view_table2`\n            GROUP BY  
\n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`, 
'%Y-%m-%d'); utf8mb4 utf8mb4_0900_bin
 
 -- !comment2 --
-test_view_table2_view  CREATE VIEW `test_view_table2_view`\n(CREATE_DATE)\n 
COMMENT 'comment1' AS SELECT\n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`,'%Y-%m-%d')
 AS `CREATE_DATE`\n            FROM\n                
`internal`.`regression_test_view_p0`.`test_view_table2`\n            GROUP BY\n 
               
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`, 
'%Y-%m-%d');       utf8mb4 utf8mb4_0900_bin
+test_view_table2_view  CREATE VIEW `test_view_table2_view`\n(`CREATE_DATE`)\n 
COMMENT 'comment1' AS SELECT\n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`,'%Y-%m-%d')
 AS `CREATE_DATE`\n            FROM\n                
`internal`.`regression_test_view_p0`.`test_view_table2`\n            GROUP BY\n 
               
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`, 
'%Y-%m-%d');     utf8mb4 utf8mb4_0900_bin
 
 -- !comment4 --
-test_view_table2_view  CREATE VIEW `test_view_table2_view`\n(CREATE_DATE)\n 
COMMENT 'comment4' AS SELECT\n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`,'%Y-%m-%d')
 AS `CREATE_DATE`\n            FROM\n                
`internal`.`regression_test_view_p0`.`test_view_table2`\n            GROUP BY\n 
               
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`, 
'%Y-%m-%d');       utf8mb4 utf8mb4_0900_bin
+test_view_table2_view  CREATE VIEW `test_view_table2_view`\n(`CREATE_DATE`)\n 
COMMENT 'comment4' AS SELECT\n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`,'%Y-%m-%d')
 AS `CREATE_DATE`\n            FROM\n                
`internal`.`regression_test_view_p0`.`test_view_table2`\n            GROUP BY\n 
               
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`, 
'%Y-%m-%d');     utf8mb4 utf8mb4_0900_bin
 
 -- !comment_empty --
-test_view_table2_view  CREATE VIEW `test_view_table2_view`\n(CREATE_DATE)\n AS 
SELECT\n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`,'%Y-%m-%d')
 AS `CREATE_DATE`\n            FROM\n                
`internal`.`regression_test_view_p0`.`test_view_table2`\n            GROUP BY\n 
               
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`, 
'%Y-%m-%d');  utf8mb4 utf8mb4_0900_bin
+test_view_table2_view  CREATE VIEW `test_view_table2_view`\n(`CREATE_DATE`)\n 
AS SELECT\n                
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`,'%Y-%m-%d')
 AS `CREATE_DATE`\n            FROM\n                
`internal`.`regression_test_view_p0`.`test_view_table2`\n            GROUP BY\n 
               
date_format(`internal`.`regression_test_view_p0`.`test_view_table2`.`c_date`, 
'%Y-%m-%d');        utf8mb4 utf8mb4_0900_bin
 
 -- !desc_view_1 --
 c_date varchar(50)     Yes     false   \N      
diff --git 
a/regression-test/suites/ddl_p0/create_view_nereids/test_create_view_nereids.groovy
 
b/regression-test/suites/ddl_p0/create_view_nereids/test_create_view_nereids.groovy
index 4143ae1dd1e..b318c84e12f 100644
--- 
a/regression-test/suites/ddl_p0/create_view_nereids/test_create_view_nereids.groovy
+++ 
b/regression-test/suites/ddl_p0/create_view_nereids/test_create_view_nereids.groovy
@@ -252,6 +252,13 @@ suite("test_create_view_nereids") {
     qt_test_alias "select * from test_view_alias order by c1,c2,c3;"
     qt_test_alias_sql "show create view test_view_alias;"
 
+    // test view column name with special chars (string literal alias contains 
parens)
+    sql "drop view if exists test_view_special_col_name"
+    sql "create view test_view_special_col_name as select 1 as '(第一列)'"
+    qt_test_view_special_col_name "select * from test_view_special_col_name"
+    qt_test_view_special_col_name_sql "show create view 
test_view_special_col_name"
+    sql "drop view if exists test_view_special_col_name"
+
     // test * except
     sql "drop view if exists test_view_star_except;"
     sql """
diff --git a/regression-test/suites/mtmv_p0/test_show_create_mtmv.groovy 
b/regression-test/suites/mtmv_p0/test_show_create_mtmv.groovy
index d3ad928393f..b25b715ad1b 100644
--- a/regression-test/suites/mtmv_p0/test_show_create_mtmv.groovy
+++ b/regression-test/suites/mtmv_p0/test_show_create_mtmv.groovy
@@ -95,7 +95,7 @@ suite("test_show_create_mtmv","mtmv") {
     """
     showCreateMTMVResult = sql """show CREATE MATERIALIZED VIEW ${mvName}"""
     logger.info("showCreateMTMVResult: " + showCreateMTMVResult.toString())
-    assertTrue(showCreateMTMVResult.toString().contains("aa comment 
'aa_comment',bb"))
+    assertTrue(showCreateMTMVResult.toString().contains("`aa` comment 
'aa_comment',`bb`"))
     assertTrue(showCreateMTMVResult.toString().contains("BUILD IMMEDIATE 
REFRESH COMPLETE ON COMMIT"))
     assertTrue(showCreateMTMVResult.toString().contains("DISTRIBUTED BY RANDOM 
BUCKETS AUTO"))
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to