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