[
https://issues.apache.org/jira/browse/FLINK-23860?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thomas Weise updated FLINK-23860:
---------------------------------
Fix Version/s: (was: 1.13.6)
(was: 1.14.3)
> 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.15.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.1#820001)