From 105e513ac528d837c21e680fce2d210f3c1fb795 Mon Sep 17 00:00:00 2001 From: Phillip LeBlanc Date: Mon, 13 Jan 2025 16:11:52 +0900 Subject: [PATCH] feat: Handle converting Utf8View & BinaryView to Iceberg schema (#831) --- crates/iceberg/src/arrow/schema.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/crates/iceberg/src/arrow/schema.rs b/crates/iceberg/src/arrow/schema.rs index b590c8bc8..142426f75 100644 --- a/crates/iceberg/src/arrow/schema.rs +++ b/crates/iceberg/src/arrow/schema.rs @@ -120,8 +120,10 @@ fn visit_type(r#type: &DataType, visitor: &mut V) -> Resu DataType::Boolean | DataType::Utf8 | DataType::LargeUtf8 + | DataType::Utf8View | DataType::Binary | DataType::LargeBinary + | DataType::BinaryView | DataType::FixedSizeBinary(_) ) => { @@ -403,7 +405,9 @@ impl ArrowSchemaVisitor for ArrowSchemaConverter { { Ok(Type::Primitive(PrimitiveType::TimestamptzNs)) } - DataType::Binary | DataType::LargeBinary => Ok(Type::Primitive(PrimitiveType::Binary)), + DataType::Binary | DataType::LargeBinary | DataType::BinaryView => { + Ok(Type::Primitive(PrimitiveType::Binary)) + } DataType::FixedSizeBinary(width) => { Ok(Type::Primitive(PrimitiveType::Fixed(*width as u64))) }