From c7931aee85f8c2197f2f14b64e033d8f69eaead8 Mon Sep 17 00:00:00 2001 From: Zhenyuan Zhao Date: Fri, 7 Aug 2026 11:52:54 -0700 Subject: [PATCH] feat: add Nimble to FileFormatType Add `kNimble` to the `FileFormatType` enum along with its `ToString` and `FileFormatTypeFromString` mappings, so tables whose data files are written in the Nimble columnar format can be represented and round-tripped through manifest and REST JSON deserialization. --- src/iceberg/file_format.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/iceberg/file_format.h b/src/iceberg/file_format.h index 0919cf0bf..1b2eb5a8a 100644 --- a/src/iceberg/file_format.h +++ b/src/iceberg/file_format.h @@ -37,6 +37,7 @@ enum class ICEBERG_EXPORT FileFormatType { kAvro, kOrc, kPuffin, + kNimble, }; /// \brief Convert a FileFormatType to a string @@ -50,6 +51,8 @@ ICEBERG_EXPORT inline std::string_view ToString(FileFormatType format_type) { return "orc"; case FileFormatType::kPuffin: return "puffin"; + case FileFormatType::kNimble: + return "nimble"; } std::unreachable(); } @@ -62,6 +65,7 @@ ICEBERG_EXPORT inline Result FileFormatTypeFromString( if (lower == "avro") return FileFormatType::kAvro; if (lower == "orc") return FileFormatType::kOrc; if (lower == "puffin") return FileFormatType::kPuffin; + if (lower == "nimble") return FileFormatType::kNimble; return InvalidArgument("Invalid file format type: {}", str); }