Hello,
https://github.com/apache/avro/pull/917 introduced the following language to
the spec:
> The null namespace may not be used in a dot-separated sequence of names.
Thus ruling out fullnames like ".foo".
However, this seems to rule out referring to names in the default namespace
from another namespace.
For example, this schema was previously allowed by the spec:
{
"type": "record",
"name": "r",
"fields": [
{
"name": "f",
"type": {
"type": "record",
"name": "r2",
"namespace": "ns",
"fields": [
{
"name": "f2",
"type": ["null", ".r"]
}
]
}
}
]
}
Note ".r" in the type of "f2". This can't be changed to "r",
because that would be interpreted as "ns.r" due to "ns" being the nearest
enclosing namespace.
Thus it seems that the new spec has restricted the set of valid schemas and
there is no longer
any way to accomplish this.
Am I misinterpreting the spec? Does the empty namespace being disallowed in
dotted sequences
of names only apply to initial name definitions, but not to later name
references? Or is there
some other way to express this?
Here is the initial discussion of this change, where the issue I'm raising here
doesn't
appear to have come up:
https://lists.apache.org/thread/q0o58fxgvstvdlgpoyv2pcz53borp587
Thanks,