[ https://issues.apache.org/jira/browse/AVRO-1994?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thiruvalluvan M. G. closed AVRO-1994. ------------------------------------- Closing issues that got resolved in earlier releases. > C++ Code Generator Generates Invalid Code if Field is of type Null > ------------------------------------------------------------------ > > Key: AVRO-1994 > URL: https://issues.apache.org/jira/browse/AVRO-1994 > Project: Apache Avro > Issue Type: Bug > Components: c++ > Reporter: Darryl Green > Assignee: Darryl Green > Priority: Major > Attachments: AVRO-1994.patch, another-AVRO-1994.patch > > > An simple schema like this: > { > "name": "TestPrimitiveTypes", > "type": "record", > "fields": [ > { "name": "Null", "type": "null" }, > { "name": "Boolean", "type": "boolean" }, > { "name": "Int", "type": "int" }, > { "name": "Long", "type": "long" }, > { "name": "Float", "type": "float" }, > { "name": "Double", "type": "double" }, > { "name": "Bytes", "type": "bytes" }, > { "name": "String", "type": "string" } > ] > } > Generates this C++ struct. > struct TestPrimitiveTypes { > $Undefined$ Null; // <-- BUG! > bool Boolean; > int32_t Int; > int64_t Long; > float Float; > double Double; > std::vector<uint8_t> Bytes; > std::string String; > TestPrimitiveTypes() : > Null($Undefined$()), > Boolean(bool()), > Int(int32_t()), > Long(int64_t()), > Float(float()), > Double(double()), > Bytes(std::vector<uint8_t>()), > String(std::string()) > { } > }; > Note the C++ type of the field Null is $Undefined$ which is obviously > invalid/won't compile. -- This message was sent by Atlassian JIRA (v7.6.3#76005)