Matthew McMahon created AVRO-2836:
-------------------------------------
Summary: SpecificCompiler does not add DecimalConversion when
logical type is a Fixed type
Key: AVRO-2836
URL: https://issues.apache.org/jira/browse/AVRO-2836
Project: Apache Avro
Issue Type: Bug
Components: java, logical types
Affects Versions: 1.9.2
Reporter: Matthew McMahon
I have updated to Avro 1.9.2 using the avro-maven-plugin to generate the
specific types.
This is working nicely, except noticed the case of:
{code:java}
"fields": [
{
"name": "unionOfFixedDecimal",
"type": ["null", {
"namespace": "org.apache.avro.codegentest.testdata",
"name": "FixedInUnion",
"type": "fixed",
"size": 12,
"logicalType": "decimal",
"precision": 28,
"scale": 15
}]
}] {code}
This is a fixed type that has a logical type of decimal.
When the source is generated, the type is BigDecimal. However the
DecimalConversion is missing and then it breaks when used.
It seems easy to workaround by manually adding the logical conversion before
using.
However the fix seems to be in SpecificCompiler#getClassNamesOfPrimitiveFields
which is used by #getUsedConversionClasses
--
This message was sent by Atlassian Jira
(v8.3.4#803005)