-
Notifications
You must be signed in to change notification settings - Fork 88
fix: DH-20540: Ensure DataIndex pushdown is not short-circuited #7262
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: DH-20540: Ensure DataIndex pushdown is not short-circuited #7262
Conversation
This adds some more structuring to BasePushdownFilterContext and ParquetTableLocation to make it more obvious what pushdown filter operations should be tried, and making sure we are only short-circuiting when no pushdown will be applied. Additonally, this ensures that the cost estimate and pushdown filtering occurs in cost-order.
No docs changes detected for b57f23b |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks really good. The way we are treating the pushdown techniques as interchangeable is an excellent improvement.
...ns/parquet/table/src/main/java/io/deephaven/parquet/table/location/ParquetTableLocation.java
Outdated
Show resolved
Hide resolved
|
||
// --------------------------------------------------------------------------------------------------------------- | ||
|
||
enum PushdownMode { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect we'll need to abtract PushdownMode
from the parquet-specific branches in the future. I imagine it would be useful for DHE storage pushdown, maybe even iceberg file-level metadata pushdown.
This adds some more structuring to BasePushdownFilterContext and ParquetTableLocation to make it more obvious what pushdown filter operations should be tried, and making sure we are only short-circuiting when no pushdown will be applied.
Additonally, this ensures that the cost estimate and pushdown filtering occurs in cost-order.