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]