Skip to content
4 changes: 4 additions & 0 deletions crates/catalog/glue/src/schema.rs
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,10 @@ impl SchemaVisitor for GlueSchemaBuilder {

Ok(glue_type)
}

fn variant(&mut self, _v: &iceberg::spec::VariantType) -> Result<Self::T> {
Ok("variant".to_string())
}
}

#[cfg(test)]
Expand Down
4 changes: 4 additions & 0 deletions crates/catalog/hms/src/schema.rs
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,10 @@ impl SchemaVisitor for HiveSchemaBuilder {

Ok(hive_type)
}

fn variant(&mut self, _v: &iceberg::spec::VariantType) -> Result<Self::T> {
Ok("variant".to_string())
}
}

#[cfg(test)]
Expand Down
6 changes: 5 additions & 1 deletion crates/iceberg/src/arrow/caching_delete_file_loader.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ use crate::io::FileIO;
use crate::scan::{ArrowRecordBatchStream, FileScanTaskDeleteFile};
use crate::spec::{
DataContentType, Datum, ListType, MapType, NestedField, NestedFieldRef, PartnerAccessor,
PrimitiveType, Schema, SchemaRef, SchemaWithPartnerVisitor, StructType, Type,
PrimitiveType, Schema, SchemaRef, SchemaWithPartnerVisitor, StructType, Type, VariantType,
visit_schema_with_partner,
};
use crate::{Error, ErrorKind, Result};
Expand Down Expand Up @@ -537,6 +537,10 @@ impl SchemaWithPartnerVisitor<ArrayRef> for EqDelColumnProcessor<'_> {
fn primitive(&mut self, _primitive: &PrimitiveType, _partner: &ArrayRef) -> Result<()> {
Ok(())
}

fn variant(&mut self, _v: &VariantType, _partner: &ArrayRef) -> Result<()> {
Ok(())
}
}

struct EqDelRecordBatchPartnerAccessor;
Expand Down
6 changes: 5 additions & 1 deletion crates/iceberg/src/arrow/nan_val_cnt_visitor.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ use crate::Result;
use crate::arrow::{ArrowArrayAccessor, FieldMatchMode};
use crate::spec::{
ListType, MapType, NestedFieldRef, PrimitiveType, Schema, SchemaRef, SchemaWithPartnerVisitor,
StructType, visit_struct_with_partner,
StructType, VariantType, visit_struct_with_partner,
};

macro_rules! cast_and_update_cnt_map {
Expand Down Expand Up @@ -122,6 +122,10 @@ impl SchemaWithPartnerVisitor<ArrayRef> for NanValueCountVisitor {
Ok(())
}

fn variant(&mut self, _v: &VariantType, _col: &ArrayRef) -> Result<Self::T> {
Ok(())
}

fn after_struct_field(&mut self, field: &NestedFieldRef, partner: &ArrayRef) -> Result<()> {
let field_id = field.id;
count_float_nans!(partner, self, field_id);
Expand Down
Loading
Loading