lincoln-lil commented on code in PR #20118: URL: https://github.com/apache/flink/pull/20118#discussion_r914527539
########## flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/rules/logical/PushProjectIntoTableSourceScanRule.java: ########## @@ -337,11 +339,69 @@ private RowType performPushDown( private List<RexNode> rewriteProjections( RelOptRuleCall call, TableSourceTable source, NestedSchema projectedSchema) { final LogicalProject project = call.rel(0); + List<RexNode> newProjects = project.getProjects(); + if (supportsProjectionPushDown(source.tableSource())) { - return NestedProjectionUtil.rewrite( - project.getProjects(), projectedSchema, call.builder().getRexBuilder()); - } else { - return project.getProjects(); + // if support project push down, then all input ref will be rewritten includes metadata Review Comment: After several failure cases debuging and an offline discussion with @godfreyhe and @fsk119, we decide rollback this fix to the original version due to the design assumption of `NestedProjectionUtil` which relies on the rewritten of the input row type. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org