Skip to content

Commit ee34713

Browse files
committed
Update against the test files with variant logical type
1 parent d07879a commit ee34713

File tree

3 files changed

+15
-8
lines changed

3 files changed

+15
-8
lines changed

parquet-avro/pom.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,18 @@
145145
<version>5.12.2</version>
146146
<scope>test</scope>
147147
</dependency>
148+
<dependency>
149+
<groupId>com.fasterxml.jackson.core</groupId>
150+
<artifactId>jackson-databind</artifactId>
151+
<version>${jackson-databind.version}</version>
152+
<scope>test</scope>
153+
</dependency>
154+
<dependency>
155+
<groupId>com.fasterxml.jackson.core</groupId>
156+
<artifactId>jackson-core</artifactId>
157+
<version>${jackson-databind.version}</version>
158+
<scope>test</scope>
159+
</dependency>
148160
</dependencies>
149161

150162
<build>

parquet-avro/src/main/java/org/apache/parquet/avro/AvroRecordConverter.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -395,9 +395,7 @@ private static Converter newConverter(
395395
}
396396
return newStringConverter(schema, model, parent, validator);
397397
case RECORD:
398-
if (type.getName().equals("var")
399-
|| type.getLogicalTypeAnnotation()
400-
instanceof LogicalTypeAnnotation.VariantLogicalTypeAnnotation) {
398+
if (type.getLogicalTypeAnnotation() instanceof LogicalTypeAnnotation.VariantLogicalTypeAnnotation) {
401399
return new AvroVariantConverter(parent, type.asGroupType(), schema, model);
402400
} else {
403401
return new AvroRecordConverter(parent, type.asGroupType(), schema, model, validator);

parquet-avro/src/main/java/org/apache/parquet/avro/AvroSchemaConverter.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -470,11 +470,8 @@ public Optional<Schema> visit(
470470
@Override
471471
public Optional<Schema> visit(
472472
LogicalTypeAnnotation.VariantLogicalTypeAnnotation variantLogicalType) {
473-
String name = parquetGroupType.getName();
474-
List<Schema.Field> fields = new ArrayList<>();
475-
fields.add(new Schema.Field("metadata", Schema.create(Schema.Type.BYTES)));
476-
fields.add(new Schema.Field("value", Schema.create(Schema.Type.BYTES)));
477-
return of(Schema.createRecord(name, null, namespace(name, names), false, fields));
473+
return of(
474+
convertFields(parquetGroupType.getName(), parquetGroupType.getFields(), names));
478475
}
479476
})
480477
.orElseThrow(

0 commit comments

Comments
 (0)