Describe the bug, including details regarding any error messages, version, and platform.
When unwrap is enabled all fields of the TestProto3.OneOfTestMessage will be required.
message TestProto3.OneOfTestMessage {
required int32 first = 1;
required int32 second = 2;
}
|
message OneOfTestMessage { |
This will never work but tests are missing for unwrap of TestProto3.OneOfTestMessage
The required repetition is added here:
|
Repetition repetition = unwrapProtoWrappers ? Repetition.REQUIRED : getRepetition(descriptor); |
This could be caught early by adding withValidation(true) here:
If validation is disabled it will fail when trying to read one of the non-existing fields in the oneof.
Is there really a need for setting all primitive fields in unwrap to required?
Component(s)
No response
Describe the bug, including details regarding any error messages, version, and platform.
When unwrap is enabled all fields of the
TestProto3.OneOfTestMessagewill be required.parquet-java/parquet-protobuf/src/test/resources/TestProto3.proto
Line 116 in 73a4430
This will never work but tests are missing for unwrap of
TestProto3.OneOfTestMessageThe required repetition is added here:
parquet-java/parquet-protobuf/src/main/java/org/apache/parquet/proto/ProtoSchemaConverter.java
Line 278 in 73a4430
This could be caught early by adding
withValidation(true)here:parquet-java/parquet-protobuf/src/test/java/org/apache/parquet/proto/TestUtils.java
Line 221 in 73a4430
If validation is disabled it will fail when trying to read one of the non-existing fields in the
oneof.Is there really a need for setting all primitive fields in unwrap to required?
Component(s)
No response