Zoltan Farkas created AVRO-2412:
-----------------------------------
Summary: Improved default value reading
Key: AVRO-2412
URL: https://issues.apache.org/jira/browse/AVRO-2412
Project: Apache Avro
Issue Type: Improvement
Affects Versions: 1.9.0
Reporter: Zoltan Farkas
at GenericData.getDefaultValue
https://github.com/apache/avro/blob/master/lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java#L1164
instead of:
{code}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
BinaryEncoder encoder = EncoderFactory.get().binaryEncoder(baos, null);
Accessor.encode(encoder, field.schema(), json);
encoder.flush();
BinaryDecoder decoder =
DecoderFactory.get().binaryDecoder(baos.toByteArray(), null);
defaultValue = createDatumReader(field.schema()).read(null, decoder);
{code}
wouldn't it be better to do?:
{code}
Schema schema = field.schema();
if (schema.getType() == Type.UNION) {
schema = schema.getTypes().get(0);
}
JsonDecoder decoder = new JsonDecoder(schema,
json.traverse(Schema.MAPPER));
defaultValue = createDatumReader(schema).read(null, decoder);
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)