[ https://issues.apache.org/jira/browse/FLINK-32249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17729175#comment-17729175 ]
Aitozi commented on FLINK-32249: -------------------------------- It does not reproduce in my local sql client {code:java} Flink SQL> CREATE TABLE s1 ( > order_id STRING comment '测试中文', > price DECIMAL(32,2) comment _utf8'测试_utf8中文', > currency STRING, > order_time TIMESTAMP(3) > ) comment '测试中文table comment' WITH ('connector'='dategen'); [INFO] Execute statement succeed. Flink SQL> > show create table s1; +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | result | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | CREATE TABLE `default_catalog`.`default_database`.`s1` ( `order_id` VARCHAR(2147483647) COMMENT '测试中文', `price` DECIMAL(32, 2) COMMENT '测试_utf8中文', `currency` VARCHAR(2147483647), `order_time` TIMESTAMP(3) ) COMMENT '测试中文table comment' WITH ( 'connector' = 'dategen' ) | +-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set Flink SQL> desc s1; +------------+----------------+------+-----+--------+-----------+---------------+ | name | type | null | key | extras | watermark | comment | +------------+----------------+------+-----+--------+-----------+---------------+ | order_id | STRING | TRUE | | | | 测试中文 | | price | DECIMAL(32, 2) | TRUE | | | | 测试_utf8中文 | | currency | STRING | TRUE | | | | | | order_time | TIMESTAMP(3) | TRUE | | | | | +------------+----------------+------+-----+--------+-----------+---------------+ 4 rows in set Flink SQL> {code} > A Java string should be used instead of a Calcite NlsString to construct the > table and column comment attributes of CatalogTable > -------------------------------------------------------------------------------------------------------------------------------- > > Key: FLINK-32249 > URL: https://issues.apache.org/jira/browse/FLINK-32249 > Project: Flink > Issue Type: Bug > Components: Table SQL / Planner > Affects Versions: 1.17.1 > Reporter: lincoln lee > Priority: Major > Fix For: 1.18.0 > > > when Flink interacts with CatalogTable, it directly passes the Calcite's > NlsString comment as a string to the comment attribute of the schema and > column. In theory, a Java string should be passed here, otherwise the > CatalogTable implementers may encounter special character encoding issues, > e.g., an issue in apache paimon: > [https://github.com/apache/incubator-paimon/issues/1262] > also tested in sql-client: > {code} > Flink SQL> CREATE TABLE s1 ( > > order_id STRING comment '测试中文', > > price DECIMAL(32,2) comment _utf8'测试_utf8中文', > > currency STRING, > > order_time TIMESTAMP(3) > > ) comment '测试中文table comment' WITH ('connector'='dategen'); > [INFO] Execute statement succeed. > Flink SQL> show tables; > +------------+ > | table name | > +------------+ > | s1 | > +------------+ > 1 row in set > Flink SQL> desc s1; > +------------+----------------+------+-----+--------+-----------+-------------------------+ > | name | type | null | key | extras | watermark | > comment | > +------------+----------------+------+-----+--------+-----------+-------------------------+ > | order_id | STRING | TRUE | | | | > u&'\6d4b\8bd5\4e2d\6587 | > | price | DECIMAL(32, 2) | TRUE | | | | > _UTF8'测试_utf8中文 | > | currency | STRING | TRUE | | | | > | > | order_time | TIMESTAMP(3) | TRUE | | | | > | > +------------+----------------+------+-----+--------+-----------+-------------------------+ > 4 rows in set > Flink SQL> show create table s1; > +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ > | > > > result | > +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ > | CREATE TABLE `default_catalog`.`default_database`.`s1` ( > `order_id` VARCHAR(2147483647), > `price` DECIMAL(32, 2), > `currency` VARCHAR(2147483647), > `order_time` TIMESTAMP(3) > ) COMMENT '测试中文table comment' > WITH ( > 'connector' = 'dategen' > ) > | > +----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ > 1 row in set > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)