M-Tesla commented on code in PR #3144:
URL: https://github.com/apache/iceberg-rust/pull/3144#discussion_r3938541122
##########
crates/iceberg/src/expr/visitors/inclusive_metrics_evaluator.rs:
##########
@@ -437,14 +437,17 @@ impl BoundPredicateVisitor for
InclusiveMetricsEvaluator<'_> {
return ROWS_MIGHT_MATCH;
}
+ // Narrow the set against each bound, matching Java / PyIceberg.
+ let mut filtered_literals = literals.clone();
+
if let Some(lower_bound) = self.lower_bound(field_id) {
Review Comment:
Thanks, it did. `RowGroupMetricsEvaluator::in` now uses the same both-bounds
check, with a regression test for float bounds `[4.0, 6.0]` and `IN (2.0, 8.0)`.
##########
crates/iceberg/src/expr/visitors/manifest_evaluator.rs:
##########
@@ -409,12 +409,16 @@ impl BoundPredicateVisitor for ManifestFilterVisitor<'_> {
return ROWS_MIGHT_MATCH;
}
+ // Narrow the set against each bound, matching
InclusiveMetricsEvaluator.
+ let mut filtered_literals = literals.clone();
Review Comment:
Done here as well. `ManifestEvaluator::in` now uses the same `any()` form.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]