[ https://issues.apache.org/jira/browse/FLINK-37879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17955609#comment-17955609 ]
Xin Gong commented on FLINK-37879: ---------------------------------- The transform can work after we convert concat(name, '你好') to concat(name, _UTF8'你好') and convert cast(name as string) to cast(name as varchar). > transform concat function don't support utf-8 and cast don't support STRING > --------------------------------------------------------------------------- > > Key: FLINK-37879 > URL: https://issues.apache.org/jira/browse/FLINK-37879 > Project: Flink > Issue Type: Bug > Components: Flink CDC > Affects Versions: cdc-3.4.0 > Reporter: Xin Gong > Priority: Major > Attachments: image-2025-05-30-21-01-40-897.png, > image-2025-05-30-21-02-43-251.png > > > concat function: > !image-2025-05-30-21-01-40-897.png|width=596,height=349! > Caused by: org.apache.calcite.runtime.CalciteException: Failed to encode '中国' > in character set 'ISO-8859-1' > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at > org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505) > at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:599) > at org.apache.calcite.util.NlsString.<init>(NlsString.java:147) > at org.apache.calcite.util.NlsString.<init>(NlsString.java:116) > at org.apache.calcite.rex.RexBuilder.makeLiteral(RexBuilder.java:987) > at org.apache.calcite.rex.RexBuilder.makeCharLiteral(RexBuilder.java:1206) > at > org.apache.calcite.sql2rel.SqlNodeToRexConverterImpl.convertLiteral(SqlNodeToRexConverterImpl.java:112) > at > org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:5508) > at > org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.visit(SqlToRelConverter.java:4702) > at org.apache.calcite.sql.SqlLiteral.accept(SqlLiteral.java:570) > at > org.apache.calcite.sql2rel.SqlToRelConverter$Blackboard.convertExpression(SqlToRelConverter.java:5351) > at > org.apache.calcite.sql2rel.StandardConvertletTable.convertOperands(StandardConvertletTable.java:971) > at > org.apache.calcite.sql2rel.StandardConvertletTable.convertOperands(StandardConvertletTable.java:963) > at > org.apache.calcite.sql2rel.StandardConvertletTable.convertFunction(StandardConvertletTable.java:728) > > cast function: > !image-2025-05-30-21-02-43-251.png|width=958,height=485! > org.apache.calcite.runtime.CalciteContextException: From line 1, column 97 to > line 1, column 102: Unknown identifier 'STRING' > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505) > at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:932) > at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:917) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5362) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.getValidatedNodeType(SqlValidatorImpl.java:1765) > at > org.apache.calcite.sql.SqlUserDefinedTypeNameSpec.deriveType(SqlUserDefinedTypeNameSpec.java:49) > at org.apache.calcite.sql.SqlDataTypeSpec.deriveType(SqlDataTypeSpec.java:233) > at org.apache.calcite.sql.SqlDataTypeSpec.deriveType(SqlDataTypeSpec.java:220) > at > org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:6475) > at > org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:6360) > at org.apache.calcite.sql.SqlDataTypeSpec.accept(SqlDataTypeSpec.java:197) -- This message was sent by Atlassian Jira (v8.20.10#820010)