avantgardnerio commented on PR #5362:
URL: 
https://github.com/apache/arrow-datafusion/pull/5362#issuecomment-1442445977

   > Is the idea here that we bubble information about global sort indexes up 
to the logical TableProvider so we avoid splitting those two predicates when 
pushing down to the scan?
   
   Yes, I was hoping this API would provide enough info for the planner to see 
that there is no index on `f_name` or `[f_name, l_name]` but there was one on 
`[l_name, f_name]` and call `supports_filter_pushdown()` on the latter and if 
it gets `Exact` then to use it, rather than always breaking it down into 
individual BinaryExpressions.
   
   Additionally, later, my hope was that the planner could realize:
   
   1. There is an orders table with a PK `(merch_id, order_id)`
   2. There is a line items table with a keys: `(merch_id, order_id, 
lineitem_id)`, `(merch_id, order_id)`
   3. Know that it can sort-merge-join the (pre-sorted) tables as long as it 
picks the indexes for `(merch_id, order_id)`


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to