Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-14200

Temporal Table Function Joins do not work on Tables (only TableSources) on the query side

    XMLWordPrintableJSON

    Details

      Description

      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:

      tEnv.registerTableSource("Orders", new FooSource(new String[] {"o_currency", "o_amount", "o_proctime"}));
      Table orders2 = tEnv.sqlQuery("SELECT * FROM Orders");
      tEnv.registerTable("Orders2", orders2);

      This works (TableSource on the query side):

      SELECT 
       o_amount * r_amount AS amount 
      FROM Orders  
       , LATERAL TABLE (Rates(o_proctime)) 
      WHERE r_currency = o_currency

      While this does not (Table on the query side):

      SELECT 
       o_amount * r_amount AS amount 
      FROM Orders2 
       , LATERAL TABLE (Rates(o_proctime)) 
      WHERE r_currency = o_currency

      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.

      EDIT: This may not be Table vs TableSource, maybe more a projection or a decorrelate issue? Don't know how the planner works well enough to characterize it better.

       

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jark Jark Wu
                Reporter:
                BenoitParis Benoît Paris
              • Votes:
                2 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m