On Mon 27 dec. 2021 17:42, Askar Safin <safinas...@mail.ru> wrote: > Hi. I'm writing Avro implementation in Rust for personal use. I have a > question. Consider this Avro scheme: > > { > "type": "record", > "name": "a.b", > "fields": [ > { > "name": "c", > "type": { > "type": "record", > "name": "d", > "fields": [] > } > } > ] > } > > What is fullname of record "c"? "a.c" or "c"? I think Avro specification > is vague about this and should be fixed. When I attempt to interpret Avro > spec literally, I get to conclusion that the fullname is "a.c". But this > contradicts to my common sense. >
c is a field in record a.d: d has no namespace and a simple name (without a dot), so the namespace is taken from the innermost enclosing named type (b), which has namespace a Kind regards, Oscar