Tim Menninger created AVRO-1256:
-----------------------------------

             Summary: C++ API compileJsonSchema ignores "doc" and custom 
attributes on a field/record
                 Key: AVRO-1256
                 URL: https://issues.apache.org/jira/browse/AVRO-1256
             Project: Avro
          Issue Type: Improvement
          Components: c++
    Affects Versions: 1.7.2
         Environment: Running on all platforms (Windows, OSX, Linux)
            Reporter: Tim Menninger
            Priority: Minor


It appears that when my JSON is compiled into a valid schema object it is 
ignoring all types of "documentation" that I am trying to adorn with each field 
in my record. Reading through the Java issues it seems that this was a bug and 
fixed (AVRO-601, AVRO-612, AVRO-779) but it seems the C++ implementation has 
yet to adopt this feature? This is my sample schema, I have attempted to insert 
both "doc" and "mycustom" in multiple places to see if it is supported at any 
level. Please excuse if there appears to be a syntax error in the JSON I hand 
tweaked some of this. The schema is valid and successfully parses.

{
        "type": "record",
        "name": "myschema",
        "doc": "Doc Meta",
        "mycustom": "My Custom",
        "fields": [
                { "name":"field_a","type":["string","null"], "doc":"Doc Meta", 
"mycustom":"My Custom A"},
                { "name":"field_b","type":["string","null"], "doc":"Doc Meta", 
"mycustom":"My Custom B"},
                { "name":"field_c","type":["string","null"], "doc":"Doc Meta", 
"mycustom":"My Custom C"}

        ]
}

I looked through the SchemaTests.cc code for 1.7.3 and there was not a test 
case for this there so i didn't think this was addressed in that version. I am 
running 1.7.2. When this schema is used to load with compileJsonSchema and then 
a file is serialized the file schema looks like this.

{
        "type":"record",
        "name":"myschema",
        "fields": [
                { "name":"field_a","type":["string","null"]},
                { "name":"field_b","type":["string","null"]},
                { "name":"field_c","type":["string","null"]}

        ]
}




--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to