adriangb commented on PR #15769:
URL: https://github.com/apache/datafusion/pull/15769#issuecomment-2827757032

   I'm not really sure how this degrades anything. The end result is the same, 
users won't see any difference.
   
   What ListingTable does currently is misguided and wrong since it is not 
really at the logical level as you say, instead it pierces the logical / 
physical separation (see how it converts Expr to PhysicalExpr, etc). It even 
produces bugs (I believe the pushdown of struct fields may currently be broken, 
or at least the implementation is confusing and the test is completely wrong).
   
   I think there is pushdown that makes sense at the logical level, namely 
partition pruning. And I left that for TableProvider to continue to do. But the 
pruning that relies on a PhysicalExpr seems to me like it should be happening 
at the physical layer not the logical.
   
   We might be able to leave the stuff in TableProvider in place but we'll be 
dealing with duplication and confusing methods on DataSource, which is already 
a complex bit of code. When I first tried to implement it this way I ran into 
cases with duplicate pushdown and other confusing scenarios. Probably it could 
have been resolved but I felt like why make one of the most complex bits in 
DataFusion even more complex instead of simplifying it where possible.


-- 
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

Reply via email to