[
https://issues.apache.org/jira/browse/PARQUET-138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14221347#comment-14221347
]
Ryan Blue commented on PARQUET-138:
-----------------------------------
Yes, I think the union of a required field with an optional field is optional,
which is the more relaxed constraint. This test seems to validate that the
result would be required and because some values could be null, that wouldn't
work. I don't know what the implications of changing this are, though. I need
to check whether the readers can read a required field with an optional schema,
although I would assume it is okay.
> Parquet should allow a merge between required and optional schemas
> ------------------------------------------------------------------
>
> Key: PARQUET-138
> URL: https://issues.apache.org/jira/browse/PARQUET-138
> Project: Parquet
> Issue Type: Bug
> Components: parquet-mr
> Affects Versions: parquet-mr_1.6.0
> Reporter: Robert Justice
>
> In discussion with Ryan, he felt we should be able to merge from required
> binary to optional binary and the resulting schema would be optional
> https://github.com/Parquet/parquet-mr/blob/master/parquet-column/src/test/java/parquet/schema/TestMessageType.java
> {code:java}
> try {
> t3.union(t4);
> fail("moving from optional to required");
> } catch (IncompatibleSchemaModificationException e) {
> assertEquals("repetition constraint is more restrictive: can not merge
> type required binary a into optional binary a", e.getMessage());
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)