[ https://issues.apache.org/jira/browse/FLINK-23860?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17767926#comment-17767926 ]
hehuiyuan commented on FLINK-23860: ----------------------------------- +1 > Conversion to relational algebra failed to preserve datatypes > ------------------------------------------------------------- > > Key: FLINK-23860 > URL: https://issues.apache.org/jira/browse/FLINK-23860 > Project: Flink > Issue Type: Bug > Components: Table SQL / Planner > Affects Versions: 1.13.1, 1.13.2 > Reporter: lixu > Priority: Major > Fix For: 1.18.0 > > > {code:java} > //代码占位符 > StreamExecutionEnvironment streamExecutionEnvironment = > StreamExecutionEnvironment.getExecutionEnvironment(); > StreamTableEnvironment tableEnvironment = > StreamTableEnvironment.create(streamExecutionEnvironment); > tableEnvironment.executeSql("CREATE TABLE datagen (\n" + > " f_sequence INT,\n" + > " f_random INT,\n" + > " f_random_str STRING,\n" + > " ts AS localtimestamp,\n" + > " WATERMARK FOR ts AS ts\n" + > ") WITH (\n" + > " 'connector' = 'datagen',\n" + > " 'rows-per-second'='5',\n" + > " 'fields.f_sequence.kind'='sequence',\n" + > " 'fields.f_sequence.start'='1',\n" + > " 'fields.f_sequence.end'='1000',\n" + > " 'fields.f_random.min'='1',\n" + > " 'fields.f_random.max'='1000',\n" + > " 'fields.f_random_str.length'='10'\n" + > ")"); > Table table = tableEnvironment.sqlQuery("select row(f_sequence, f_random) as > c from datagen"); > Table table1 = tableEnvironment.sqlQuery("select * from " + table); > table1.execute().print(); > {code} > {code:java} > // exception > Exception in thread "main" java.lang.AssertionError: Conversion to relational > algebra failed to preserve datatypes:Exception in thread "main" > java.lang.AssertionError: Conversion to relational algebra failed to preserve > datatypes:validated type:RecordType(RecordType:peek_no_expand(INTEGER EXPR$0, > INTEGER EXPR$1) NOT NULL c) NOT NULLconverted > type:RecordType(RecordType(INTEGER EXPR$0, INTEGER EXPR$1) NOT NULL c) NOT > NULLrel:LogicalProject(c=[ROW($0, $1)]) > LogicalWatermarkAssigner(rowtime=[ts], watermark=[$3]) > LogicalProject(f_sequence=[$0], f_random=[$1], f_random_str=[$2], > ts=[LOCALTIMESTAMP]) LogicalTableScan(table=[[default_catalog, > default_database, datagen]]) at > org.apache.calcite.sql2rel.SqlToRelConverter.checkConvertedType(SqlToRelConverter.java:467) > at > org.apache.calcite.sql2rel.SqlToRelConverter.convertQuery(SqlToRelConverter.java:582) > at > org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org$apache$flink$table$planner$calcite$FlinkPlannerImpl$$rel(FlinkPlannerImpl.scala:169) > at > org.apache.flink.table.planner.calcite.FlinkPlannerImpl.rel(FlinkPlannerImpl.scala:161) > at > org.apache.flink.table.planner.operations.SqlToOperationConverter.toQueryOperation(SqlToOperationConverter.java:989) > at > org.apache.flink.table.planner.operations.SqlToOperationConverter.convertSqlQuery(SqlToOperationConverter.java:958) > at > org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:283) > at > org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:101) > at > org.apache.flink.table.api.internal.TableEnvironmentImpl.sqlQuery(TableEnvironmentImpl.java:704) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)