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

   > The current planner will test each individual part of the conjunction and 
the Table will have to scan() all Gardners - even though it would have done a 
point lookup on Brent Gardner (assuming I'm the only one).
   
   I guess I was imagining the current planner would make something like the 
following (pushed all predicates down)
   
   ```
   TableScan (filters: [f_name = 'Brent', l_name = 'Gardner', age > 21])
   ```
   
   The `TableProvider` would then get called `scan(... filters: [f_name = 
'Brent', l_name = 'Gardner', age > 21]...)`
   
   Then whatever implemented the table scan could look at that list of 
predicates and figure out it could use its index on `[l_name, f_name]` to 
quickly answer with the `Brent Gardner` row. So while the interface says "scan" 
the `TableProvider` implementation could really do an `IndexScan`
   
   


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