You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "lincoln lee (Jira)" <ji...@apache.org> on 2022/08/30 09:03:00 UTC

[jira] [Created] (FLINK-29138) Project pushdown not work for lookup source

lincoln lee created FLINK-29138:
-----------------------------------

             Summary: Project pushdown not work for lookup source
                 Key: FLINK-29138
                 URL: https://issues.apache.org/jira/browse/FLINK-29138
             Project: Flink
          Issue Type: Bug
            Reporter: lincoln lee


Current tests: LookupJoinTest#testJoinTemporalTableWithProjectionPushDown

{code}

@Test
def testJoinTemporalTableWithProjectionPushDown(): Unit = {
val sql =
"""
|SELECT T.*, D.id
|FROM MyTable AS T
|JOIN LookupTable FOR SYSTEM_TIME AS OF T.proctime AS D
|ON T.a = D.id
""".stripMargin

util.verifyExecPlan(sql)
}

{code}

the optimized plan doesn't print the selected columns from lookup source, but actually it didn't push the project into lookup source (still select all columns from source), this is not as expected

{code}

<Resource name="optimized exec plan">
<![CDATA[
Calc(select=[a, b, c, PROCTIME_MATERIALIZE(proctime) AS proctime, rowtime, id])
+- LookupJoin(table=[default_catalog.default_database.LookupTable], joinType=[InnerJoin], lookup=[id=a], select=[a, b, c, proctime, rowtime, id])
+- DataStreamScan(table=[[default_catalog, default_database, MyTable]], fields=[a, b, c, proctime, rowtime])
]]>
</Resource>

{code}

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)