From 55010d6ebfdce90333aff2b41528ae56222cd59b Mon Sep 17 00:00:00 2001 From: Divjot Arora Date: Thu, 6 Aug 2026 10:18:19 +0000 Subject: [PATCH] Specify handling for unrecognized logical types --- LogicalTypes.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/LogicalTypes.md b/LogicalTypes.md index fae874c0..eab68de0 100644 --- a/LogicalTypes.md +++ b/LogicalTypes.md @@ -40,6 +40,8 @@ according to well defined conversion rules. ### Compatibility +#### ConvertedType + The Thrift definition of the metadata has two fields for logical types: `ConvertedType` and `LogicalType`. `ConvertedType` is an enum of all available annotations. Since Thrift enums can't have additional type parameters, it is cumbersome to define additional type parameters, like decimal scale and precision @@ -54,6 +56,13 @@ in case `LogicalType` annotations are not present. Parquet writers must always w `LogicalType` annotations where applicable, but must also write the corresponding `ConvertedType` annotations (if any) to maintain compatibility with old readers. +#### Unsupported Logical Types + +When reading a file written by a newer writer that contains an unrecognized logical type or an +unrecognized logical/physical type combination on a column, readers should ignore both the logical +type annotation and statistics for that column. Only the physical type information should be used +to process the column's data. + Compatibility considerations are mentioned for each annotation in the corresponding section. ## String Types