[
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)