gaborkaszab commented on code in PR #16408:
URL: https://github.com/apache/iceberg/pull/16408#discussion_r3324721764
##########
core/src/main/java/org/apache/iceberg/DeletionVectorStruct.java:
##########
@@ -51,7 +51,7 @@ private DeletionVectorStruct(DeletionVectorStruct toCopy) {
}
private DeletionVectorStruct(String location, long offset, long sizeInBytes,
long cardinality) {
Review Comment:
just a general question: This and the other metadata classes extend
`SupportsIndexProjection`, so technically we could be able to do a projected
read of these files. For instance, we want to read the `location` field only,
but not the others. I see the members of this class are primitive types
initialized to -1. Shouldn't we design these to be more flexible and have these
members as nullable objects?
We have 2 ways to instantiate such objects:
1) through their builders that takes care of the required fields to be set
2) through an internal reader calling the constructor meant for projection
with a (projected or not) schema, e.g. `DeletionVectorStruct(Types.StructType
type)`. Here we don't have the flexibility now to leave some members unset.
--
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]