diff --git a/parquet-variant/benches/variant_builder.rs b/parquet-variant/benches/variant_builder.rs index f69e3170c663..fe9583cec01a 100644 --- a/parquet-variant/benches/variant_builder.rs +++ b/parquet-variant/benches/variant_builder.rs @@ -263,7 +263,7 @@ fn bench_object_list_unknown_schema(c: &mut Criterion) { }); } -// Creates objects with a homogenous schema (same field names) +// Creates objects with a partially homogenous schema (same field names) /* { "id": &[u8], // Following are common across all objects @@ -272,7 +272,7 @@ fn bench_object_list_unknown_schema(c: &mut Criterion) { "ended": u32, "span_name": String, - "attributees": { + "attributes": { // following fields are randomized } } diff --git a/parquet-variant/src/decoder.rs b/parquet-variant/src/decoder.rs index 4b7ac498649f..1b9c3bc575c1 100644 --- a/parquet-variant/src/decoder.rs +++ b/parquet-variant/src/decoder.rs @@ -106,7 +106,7 @@ impl TryFrom for VariantPrimitiveType { /// Used to unpack offset array entries such as metadata dictionary offsets or object/array value /// offsets. Also used to unpack object field ids. These are always derived from a two-bit /// `XXX_size_minus_one` field in the corresponding header byte. -#[derive(Clone, Debug, Copy, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub(crate) enum OffsetSizeBytes { One = 1, Two = 2, diff --git a/parquet-variant/src/variant.rs b/parquet-variant/src/variant.rs index ac3f7f1d54e8..96cdb53c15e8 100644 --- a/parquet-variant/src/variant.rs +++ b/parquet-variant/src/variant.rs @@ -210,7 +210,7 @@ impl Deref for ShortString<'_> { /// [metadata]: VariantMetadata#Validation /// [object]: VariantObject#Validation /// [array]: VariantList#Validation -#[derive(Clone, Debug, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub enum Variant<'m, 'v> { /// Primitive type: Null Null, diff --git a/parquet-variant/src/variant/list.rs b/parquet-variant/src/variant/list.rs index 00935016e133..f9a50e7ef8f0 100644 --- a/parquet-variant/src/variant/list.rs +++ b/parquet-variant/src/variant/list.rs @@ -27,7 +27,7 @@ use arrow_schema::ArrowError; const NUM_HEADER_BYTES: usize = 1; /// A parsed version of the variant array value header byte. -#[derive(Clone, Debug, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub(crate) struct VariantListHeader { num_elements_size: OffsetSizeBytes, offset_size: OffsetSizeBytes, @@ -118,7 +118,7 @@ impl VariantListHeader { /// /// [valid]: VariantMetadata#Validation /// [Variant spec]: https://github.com/apache/parquet-format/blob/master/VariantEncoding.md#value-data-for-array-basic_type3 -#[derive(Clone, Debug, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct VariantList<'m, 'v> { pub metadata: VariantMetadata<'m>, pub value: &'v [u8], diff --git a/parquet-variant/src/variant/metadata.rs b/parquet-variant/src/variant/metadata.rs index 6a449ec73655..46d89557bfae 100644 --- a/parquet-variant/src/variant/metadata.rs +++ b/parquet-variant/src/variant/metadata.rs @@ -24,7 +24,7 @@ use crate::utils::{ use arrow_schema::ArrowError; /// Header structure for [`VariantMetadata`] -#[derive(Clone, Debug, Copy, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub(crate) struct VariantMetadataHeader { version: u8, is_sorted: bool, @@ -128,7 +128,7 @@ impl VariantMetadataHeader { /// /// [`Variant`]: crate::Variant /// [Variant Spec]: https://github.com/apache/parquet-format/blob/master/VariantEncoding.md#metadata-encoding -#[derive(Clone, Copy, Debug, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub struct VariantMetadata<'m> { bytes: &'m [u8], header: VariantMetadataHeader, diff --git a/parquet-variant/src/variant/object.rs b/parquet-variant/src/variant/object.rs index dacd352069df..15c67c9796cc 100644 --- a/parquet-variant/src/variant/object.rs +++ b/parquet-variant/src/variant/object.rs @@ -27,7 +27,7 @@ use arrow_schema::ArrowError; const NUM_HEADER_BYTES: usize = 1; /// Header structure for [`VariantObject`] -#[derive(Clone, Debug, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub(crate) struct VariantObjectHeader { num_elements_size: OffsetSizeBytes, field_id_size: OffsetSizeBytes, @@ -115,7 +115,7 @@ impl VariantObjectHeader { /// /// [valid]: VariantMetadata#Validation /// [Variant spec]: https://github.com/apache/parquet-format/blob/master/VariantEncoding.md#value-data-for-object-basic_type2 -#[derive(Clone, Debug, PartialEq)] +#[derive(Debug, Clone, PartialEq)] pub struct VariantObject<'m, 'v> { pub metadata: VariantMetadata<'m>, pub value: &'v [u8], @@ -397,20 +397,17 @@ mod tests { let missing_field = variant_obj.get("missing"); assert!(missing_field.is_none()); - // https://github.com/apache/arrow-rs/issues/7784 - // Fixme: The following assertion will panic! That is not good - // let missing_field_name = variant_obj.field_name(3); - // assert!(missing_field_name.is_none()); - // - // Fixme: The `.field_name()` will panic! This is not good - // let missing_field_name = variant_obj.field_name(300); - // assert!(missing_field_name.is_none()); + let missing_field_name = variant_obj.field_name(3); + assert!(missing_field_name.is_none()); + + let missing_field_name = variant_obj.field_name(300); + assert!(missing_field_name.is_none()); - // let missing_field_value = variant_obj.field(3); - // assert!(missing_field_value.is_none()); + let missing_field_value = variant_obj.field(3); + assert!(missing_field_value.is_none()); - // let missing_field_value = variant_obj.field(300); - // assert!(missing_field_value.is_none()); + let missing_field_value = variant_obj.field(300); + assert!(missing_field_value.is_none()); // Test fields iterator let fields: Vec<_> = variant_obj.iter().collect();