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)

Reply via email to