Github user vvysotskyi commented on a diff in the pull request:
https://github.com/apache/drill/pull/805#discussion_r133933369
--- Diff:
exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetReaderUtility.java
---
@@ -181,6 +186,101 @@ else if (parquetTableMetadata instanceof
Metadata.ParquetTableMetadata_v2 &&
}
/**
+ * Checks that the metadata file has version less than
+ * the version where was changed the serialization of BINARY values
+ * and assigns byte arrays to min/max values obtained from the
deserialized string.
+ *
+ * @param parquetTableMetadata table metadata that should be corrected
+ */
--- End diff --
`ColumnMetadata_v1` class serializes / deserializes `primitiveType` field
so it does not hard to check that field has `BINARY` type.
But `ColumnMetadata_v2` and `ColumnMetadata_v3` does not serialize this
field. They have classes `ColumnTypeMetadata_v2` and `ColumnTypeMetadata_v3`
respectively which contain information about the field name, primitive and
original types. In this method, we are receiving fields with `BINARY` type
taking information about the field type from `ColumnTypeMetadata_v2` or
`ColumnTypeMetadata_v3`.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---