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

Reply via email to