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

Support Project Push down to LookupableTableSource

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Invalid
    • 1.9.0
    • None
    • Table SQL / Planner
    • None

    Description

      Consider such a temporal join sql:

       

      SELECT T.id, D.id, D.name FROM T JOIN temporalTable for system_time AS OF T.proctime AS D ON upper(T.id) = upper(D.id)
      

      When apply a sql function to equivalent condition such as 'upper', it doesn't support. In other words, temporal join don't support any transfrom on temporal  table primary key field.

      There are two reasons:

      1、In CommonLookupJoin.getIdenticalSourceField method, we can not get the input index when expr is a rexCall except IN_FENNEL and CAST;

      2、StreamExecLookupJoinRule doesn't push down project function to LookupableTableSource, so LookupFunction can not perceive the transfrom of primary key.

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            hailong wang hailong wang
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: