marvinlanhenke opened a new pull request, #360: URL: https://github.com/apache/iceberg-rust/pull/360
### Which issue does this PR close? Closes #359 ### Rationale for this change The `partition_filter` (inclusive projection) is not only required by the `ManifestEvaluator` but also by the (incoming) `ExpressionEvaluator`. In order to avoid duplicate code as well as unnecessary computation of the partition filters, we should extract the computation of the partition filters and cache the results per partition_spec_id. With this refactor we (hopefully) should be able to integrate the `ExpressionEvaluator` and the `InclusiveMetricsEvaluator` more easily. ### What changes are included in this PR? - refactor: Extract and decouple computation of partition filters from construction logic of ManifestEvaluator - refactor: testsuite ManifestEvaluator - refactor: add FileScanStreamContext + helper fn to construct partition_spec & schema - refactor: add thin wrapper for PartitionFileCache & ManifestEvaluatorCache for better encapsulation ### Are these changes tested? Yes. Unit tests are included. If PR is okay; I will add some basis tests for the new structs (FileScanStreamContext, etc.) as well. -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org