[jira] [Created] (FLINK-14200) Temporal Table Function Joins do not work on Tables (only TableSources) on the query side

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-14200) Temporal Table Function Joins do not work on Tables (only TableSources) on the query side

Shang Yuanchun (Jira)
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)