Benoît Paris created FLINK-14200: ------------------------------------ Summary: Temporal Table Function Joins do not work on Tables (only TableSources) on the query side Key: FLINK-14200 URL: https://issues.apache.org/jira/browse/FLINK-14200 Project: Flink Issue Type: Bug Components: Table SQL / Planner Affects Versions: 1.9.0 Environment: Java 8, Scala 2.11, Flink 1.9 Reporter: Benoît Paris Attachments: temporal-table-function-query-side-as-not-table-source.zip
This only affects the Blink planner. The legacy planner works fine. With Orders as a TableSource, and Orders2 as a Table with the same content: {code:java} tEnv.registerTableSource("Orders", new FooSource(new String[] {"o_currency", "o_amount", "o_proctime"})); Table orders2 = tEnv.sqlQuery("SELECT * FROM Orders"); tEnv.registerTable("Orders2", orders2);{code} This works (TableSource on the query side): {code:java} SELECT o_amount * r_amount AS amount FROM Orders , LATERAL TABLE (Rates(o_proctime)) WHERE r_currency = o_currency{code} While this does not (Table on the query side): {code:java} SELECT o_amount * r_amount AS amount FROM Orders2 , LATERAL TABLE (Rates(o_proctime)) WHERE r_currency = o_currency{code} Throwing an NPE in FlinkRelBuilder, called from LogicalCorrelateToJoinFromTemporalTableFunctionRule. Attached is Java code for reproduction, along with the full log and stacktrace, and a pom.xml. -- This message was sent by Atlassian Jira (v8.3.4#803005)