kosiew opened a new pull request, #16696: URL: https://github.com/apache/datafusion/pull/16696
## Which issue does this PR close? - Closes #16684 ## Rationale for this change This PR introduces support for projection pushdown in recursive common table expressions (CTEs), enhancing query performance by eliminating unnecessary columns earlier in the query plan. ## What changes are included in this PR? - Updated optimizer logic to support `LogicalPlan::RecursiveQuery` in projection pushdown. - Adjusted matching in `optimize_projections` to treat `RecursiveQuery` correctly in the optimizer. - Added integration tests verifying projection pushdown behavior for various recursive CTE use cases. - Implemented the required CTE work table handling in the context provider for tests. ## Are these changes tested? Yes, the changes are verified with new integration tests in `optimizer_integration.rs`, covering both simple and mixed recursive/non-recursive CTE scenarios. ## Are there any user-facing changes? No breaking API changes, but users may observe improved query performance and reduced resource usage when using recursive CTEs. -- 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: github-unsubscr...@datafusion.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org For additional commands, e-mail: github-h...@datafusion.apache.org