gabeiglio commented on code in PR #3780:
URL: https://github.com/apache/iceberg-python/pull/3780#discussion_r3769431290
##########
pyiceberg/table/__init__.py:
##########
@@ -362,18 +362,21 @@ def _set_ref_snapshot(
return updates, requirements
def _build_partition_predicate(
- self, partition_records: set[Record], spec: PartitionSpec, schema:
Schema
+ self, partition_records: set[Record], spec: PartitionSpec, schema:
Schema, is_projected: bool = False
Review Comment:
I like the idea of reusing `Transaction._build_partition_predicate` here,
but I agree the `is_projected` flag isn't the cleanest way to express that.
Looking at the link `build_partition_record_filter` ends up duplicating most of
the same logic.
We could a single shared `_build_partition_predicate`, add two thin wrapper
methods that call it with different field sets (schema-based vs. spec-based).
that way we keep the core predicate building logic in one place, and don't
duplicate it in `build_partition_record_filter`.
wdyt?
--
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]