From 4cf189cbd977cb63bc4fb7fba31bbc89d08c6bd1 Mon Sep 17 00:00:00 2001 From: Dave Bunten Date: Sat, 22 Aug 2026 14:14:16 -0600 Subject: [PATCH] GH-421: Clarify schema field name uniqueness State that sibling fields in a schema group must have distinct names. Clarify that path_in_schema must identify one primitive field. Closes #421. --- src/main/thrift/parquet.thrift | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/thrift/parquet.thrift b/src/main/thrift/parquet.thrift index 71f0b6e6..801716af 100644 --- a/src/main/thrift/parquet.thrift +++ b/src/main/thrift/parquet.thrift @@ -520,7 +520,9 @@ union LogicalType { * Represents an element inside a schema definition. * - if it is a group (inner node) then type is undefined and num_children is defined * - if it is a primitive type (leaf) then type is defined and num_children is undefined - * the nodes are listed in depth first traversal order. + * Field names are scoped by their containing group. The direct children of any + * group must have distinct names. Name comparison is case-sensitive. + * The nodes are listed in depth first traversal order. */ struct SchemaElement { /** Data type for this field. Not set if the current element is a non-leaf node */ @@ -914,7 +916,8 @@ struct ColumnMetaData { * whether we can decode those pages. **/ 2: required list encodings - /** Path in schema **/ + /** Path in schema, from the root's child to this column. The path must identify + * exactly one primitive field. **/ 3: required list path_in_schema /** Compression codec **/