mapleFU commented on issue #37559:
URL: https://github.com/apache/arrow/issues/37559#issuecomment-1709408707

   I Propose that:
   
   1. Use `arrow::Expression` to represent the expr
   2. Firstly, we can prune by Column index. It can be done like a 
   
   ```c++
   Status StatisticsAsScalars(const Statistics& statistics,
                              std::shared_ptr<::arrow::Scalar>* min,
                              std::shared_ptr<::arrow::Scalar>* max);
   
   Status ColumnIndexAsScalars(...,
                              std::shared_ptr<::arrow::Scalar>* min,
                              std::shared_ptr<::arrow::Scalar>* max);
   ```
   
   The result might be a `RowRanges`. We can combine it with specific Filter 
Pushdown.
   
   3. When it comes to arrow reader, maybe we can put then within 
`parquet/arrow` directory, and try to lazy eval them. And we can drive the 
underlying leafReader via RowRange.


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