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

Reply via email to