berkaysynnada opened a new issue, #15111: URL: https://github.com/apache/datafusion/issues/15111
Currently, the datasource crate depends on physical-plan, meaning that physical-plan cannot access datasource at all. This design seems strange because none of the physical-plan code can directly access real datasource execution plans, while all datasources have access to all physical plans (while just needing the trait definitons). This issue existed even before the datasource crate was separated from core. However, a potential solution could be to introduce a new crate for the common code. We can introduce a new crate, physical-plan-common, to contain ExecutionPlan trait definitions and other shared components: physical-plan-common (ppc): Contains ExecutionPlan trait definitions and shared utilities physical-plan (pp): Depends on ppc and datasource datasource (ds): Depends on ppc This results in the following dependencies: ds ->(depends) ppc pp -> ppc pp -> ds Benefits: physical-plan can now access actual datasource execution plans instead of relying on mocks. Improves code organization by centralizing execution plan definitions in physical-plan-common. Keeps datasource dependencies minimal while maintaining necessary access to execution traits. If this is not considered a design flaw, I will update this issue from a discussion to a feature request. Would love to hear thoughts on this -- 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.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