[ https://issues.apache.org/jira/browse/FLINK-29088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17585251#comment-17585251 ]
Aitozi commented on FLINK-29088: -------------------------------- [~twalthr] Thanks for your inputs. > I guess the implementation can be a nicely separable logical rule I'm not sure whether we can detect a same source node in the Logical rule, My current solution is working around the {{SubplanReuser}} to find the similar source except the project list. And the recreate a new source with the union fields of all the projects. Do you think it's a reasonable solution? > Project push down cause the source reuse can not work > ----------------------------------------------------- > > Key: FLINK-29088 > URL: https://issues.apache.org/jira/browse/FLINK-29088 > Project: Flink > Issue Type: Improvement > Components: Table SQL / Planner > Reporter: Aitozi > Assignee: Aitozi > Priority: Major > > It can be reproduce by > {code:java} > util.addTable( > s""" > |create table newX( > | a int, > | b bigint, > | c varchar > |) with ( > | 'connector' = 'values' > | ,'enable-projection-push-down' = 'true' > |) > """.stripMargin) > val sqlQuery = > """ > | SELECT b from newX WHERE a > 10 > | UNION ALL > | SELECT b from newX WHERE b > 10 > """.stripMargin > util.verifyExecPlan(sqlQuery) > {code} > if 'enable-projection-push-down' set to true, the source will not be reused. > If set to false, the source will be reused. -- This message was sent by Atlassian Jira (v8.20.10#820010)