RussellSpitzer commented on code in PR #18252:
URL: https://github.com/apache/iceberg/pull/18252#discussion_r4338929030
##########
api/src/main/java/org/apache/iceberg/types/Types.java:
##########
@@ -1155,6 +1155,127 @@ private Map<Integer, NestedField> lazyFieldsById() {
}
}
+ public static final class FileType extends NestedType {
+ public static final String NAME = "file";
+ public static final int NUM_NESTED_FIELDS = 6;
+
+ private static final String URI = "uri";
+ private static final String OFFSET = "offset";
+ private static final String SIZE = "size";
+ private static final String CONTENT_TYPE = "content_type";
+ private static final String CHECKSUM = "checksum";
+ private static final String INLINE = "inline";
+
+ public static FileType of(int baseId) {
+ return new FileType(baseId);
+ }
+
+ private final int baseId;
+ private final List<NestedField> fields;
+
+ private FileType(int baseId) {
+ this.baseId = baseId;
+ this.fields =
+ ImmutableList.of(
+ NestedField.optional(baseId + 1, URI, StringType.get()),
+ NestedField.optional(baseId + 2, OFFSET, LongType.get()),
+ NestedField.optional(baseId + 3, SIZE, LongType.get()),
+ NestedField.optional(baseId + 4, CONTENT_TYPE, StringType.get()),
+ NestedField.optional(baseId + 5, CHECKSUM, StringType.get()),
+ NestedField.optional(baseId + 6, INLINE, BinaryType.get()));
Review Comment:
That's a good idea. I totally forgot why we needed the lazy list there. I
had removed it because I was thinking this is deterministic so why do we need a
lazy list.
--
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]