This is an automated email from the ASF dual-hosted git repository.

alamb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/parquet-testing.git


The following commit(s) were added to refs/heads/master by this push:
     new cf1eed4  Mark shredded_variant cases 41, 131, 132, 138 as INVALID 
(missing 'value' column) (#117)
cf1eed4 is described below

commit cf1eed4dfb45794be0f35c42d1d323fd617d763f
Author: Konstantin Tarasov <[email protected]>
AuthorDate: Wed Jul 22 07:31:15 2026 -0400

    Mark shredded_variant cases 41, 131, 132, 138 as INVALID (missing 'value' 
column) (#117)
    
    These cases omit the required 'value' column from a variant group
    (cases 41, 131, 138 at the top level; case 132 in the shredded object
    field groups) but were labeled as valid cases. Per the discussion in
    apache/parquet-format#591, the spec requires the 'value' field to
    always be present, so these files are not spec-compliant.
    
    Relabel them following the existing convention used by cases 43, 84
    and 125: '-INVALID' filenames plus a 'notes' entry stating that
    implementations can choose to error or read the shredded value. The
    expected variant outputs are kept for implementations that choose to
    read them.
    
    Fixes #116
    
    Co-authored-by: Claude Fable 5 <[email protected]>
---
 .../{case-041.parquet => case-041-INVALID.parquet}  | Bin
 ...riant.bin => case-041-INVALID_row-0.variant.bin} | Bin
 .../{case-131.parquet => case-131-INVALID.parquet}  | Bin
 ...riant.bin => case-131-INVALID_row-0.variant.bin} | Bin
 .../{case-132.parquet => case-132-INVALID.parquet}  | Bin
 ...riant.bin => case-132-INVALID_row-0.variant.bin} | Bin
 .../{case-138.parquet => case-138-INVALID.parquet}  | Bin
 ...riant.bin => case-138-INVALID_row-0.variant.bin} | Bin
 shredded_variant/cases.json                         |  20 ++++++++++++--------
 9 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/shredded_variant/case-041.parquet 
b/shredded_variant/case-041-INVALID.parquet
similarity index 100%
rename from shredded_variant/case-041.parquet
rename to shredded_variant/case-041-INVALID.parquet
diff --git a/shredded_variant/case-041_row-0.variant.bin 
b/shredded_variant/case-041-INVALID_row-0.variant.bin
similarity index 100%
rename from shredded_variant/case-041_row-0.variant.bin
rename to shredded_variant/case-041-INVALID_row-0.variant.bin
diff --git a/shredded_variant/case-131.parquet 
b/shredded_variant/case-131-INVALID.parquet
similarity index 100%
rename from shredded_variant/case-131.parquet
rename to shredded_variant/case-131-INVALID.parquet
diff --git a/shredded_variant/case-131_row-0.variant.bin 
b/shredded_variant/case-131-INVALID_row-0.variant.bin
similarity index 100%
rename from shredded_variant/case-131_row-0.variant.bin
rename to shredded_variant/case-131-INVALID_row-0.variant.bin
diff --git a/shredded_variant/case-132.parquet 
b/shredded_variant/case-132-INVALID.parquet
similarity index 100%
rename from shredded_variant/case-132.parquet
rename to shredded_variant/case-132-INVALID.parquet
diff --git a/shredded_variant/case-132_row-0.variant.bin 
b/shredded_variant/case-132-INVALID_row-0.variant.bin
similarity index 100%
rename from shredded_variant/case-132_row-0.variant.bin
rename to shredded_variant/case-132-INVALID_row-0.variant.bin
diff --git a/shredded_variant/case-138.parquet 
b/shredded_variant/case-138-INVALID.parquet
similarity index 100%
rename from shredded_variant/case-138.parquet
rename to shredded_variant/case-138-INVALID.parquet
diff --git a/shredded_variant/case-138_row-0.variant.bin 
b/shredded_variant/case-138-INVALID_row-0.variant.bin
similarity index 100%
rename from shredded_variant/case-138_row-0.variant.bin
rename to shredded_variant/case-138-INVALID_row-0.variant.bin
diff --git a/shredded_variant/cases.json b/shredded_variant/cases.json
index be8c131..1ae06c0 100644
--- a/shredded_variant/cases.json
+++ b/shredded_variant/cases.json
@@ -236,8 +236,9 @@
 }, {
   "case_number" : 41,
   "test" : "testArrayMissingValueColumn",
-  "parquet_file" : "case-041.parquet",
-  "variant_file" : "case-041_row-0.variant.bin",
+  "notes" : "This parquet file is not valid according to the spec (the variant 
group omits the required 'value' column) and implementations can choose to 
error, or read the shredded value",
+  "parquet_file" : "case-041-INVALID.parquet",
+  "variant_file" : "case-041-INVALID_row-0.variant.bin",
   "variant" : "Variant(metadata=VariantMetadata(dict={}), 
value=VariantArray([Variant(type=STRING, value=comedy), Variant(type=STRING, 
value=drama)]))"
 }, {
   "case_number" : 42,
@@ -775,14 +776,16 @@
 }, {
   "case_number" : 131,
   "test" : "testMissingValueColumn",
-  "parquet_file" : "case-131.parquet",
-  "variant_file" : "case-131_row-0.variant.bin",
+  "notes" : "This parquet file is not valid according to the spec (the variant 
group omits the required 'value' column) and implementations can choose to 
error, or read the shredded value",
+  "parquet_file" : "case-131-INVALID.parquet",
+  "variant_file" : "case-131-INVALID_row-0.variant.bin",
   "variant" : "Variant(metadata=VariantMetadata(dict={}), 
value=Variant(type=INT32, value=34))"
 }, {
   "case_number" : 132,
   "test" : "testShreddedObjectMissingFieldValueColumn",
-  "parquet_file" : "case-132.parquet",
-  "variant_file" : "case-132_row-0.variant.bin",
+  "notes" : "This parquet file is not valid according to the spec (the 
shredded object field groups omit the required 'value' column) and 
implementations can choose to error, or read the shredded value",
+  "parquet_file" : "case-132-INVALID.parquet",
+  "variant_file" : "case-132-INVALID_row-0.variant.bin",
   "variant" : "Variant(metadata=VariantMetadata(dict={0 => a, 1 => b, 2 => c, 
3 => d, 4 => e}), value=VariantObject(fields={b: Variant(type=STRING, 
value=iceberg)}))"
 }, {
   "case_number" : 133,
@@ -816,7 +819,8 @@
 }, {
   "case_number" : 138,
   "test" : "testShreddedObjectMissingValueColumn",
-  "parquet_file" : "case-138.parquet",
-  "variant_file" : "case-138_row-0.variant.bin",
+  "notes" : "This parquet file is not valid according to the spec (the variant 
group omits the required 'value' column) and implementations can choose to 
error, or read the shredded value",
+  "parquet_file" : "case-138-INVALID.parquet",
+  "variant_file" : "case-138-INVALID_row-0.variant.bin",
   "variant" : "Variant(metadata=VariantMetadata(dict={0 => a, 1 => b, 2 => c, 
3 => d, 4 => e}), value=VariantObject(fields={a: Variant(type=INT16, 
value=1234), b: Variant(type=STRING, value=iceberg)}))"
 } ]
\ No newline at end of file

Reply via email to