[
https://issues.apache.org/jira/browse/AVRO-3830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17758141#comment-17758141
]
Steve Stagg edited comment on AVRO-3830 at 8/23/23 4:29 PM:
------------------------------------------------------------
Ok, I understand.
The reason I saw/queried this is that the python library explicitly forbids
this, and had tests to check:
{code:python}
>> avro.schema.parse('{"type": "enum", "name": ".foo", "symbols": ["A", "B"]}')
...
InvalidName: is not a valid Avro name because it does not match the pattern
(?:^|\.)[A-Za-z_][A-Za-z0-9_]*${code}
I've just looked at the java libraray, and it does seem to match the behaviour
you describe.
{code}
I guess in the ideal world, the spec would be made clearer, and the python
library updated to match :)
was (Author: stestagg):
Ok, I understand.
The reason I saw/queried this is that the python library explicitly forbids
this, and had tests to check:
{code:java}
>> avro.schema.parse('{"type": "enum", "name": ".foo", "symbols": ["A", "B"]}')
...
InvalidName: is not a valid Avro name because it does not match the pattern
(?:^|\.)[A-Za-z_][A-Za-z0-9_]*${code}
I've just looked at the java libraray, and it does seem to match the behaviour
you describe.
I guess in the ideal world, the spec would be made clearer, and the python
library updated to match :)
> Handle namespace properly if a name starts with dot
> ---------------------------------------------------
>
> Key: AVRO-3830
> URL: https://issues.apache.org/jira/browse/AVRO-3830
> Project: Apache Avro
> Issue Type: Bug
> Affects Versions: 1.12.0
> Reporter: Kousuke Saruta
> Assignee: Kousuke Saruta
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.12.0, 1.11.3
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> The specification says about the name and namespace like as follows.
> ??The empty string may also be used as a namespace to indicate the null
> namespace??
> ??If the name specified contains a dot, then it is assumed to be a fullname,
> and any namespace also specified is ignored??
> According to this specification, if a name in a name field starts with a dot,
> it's considered that the namespace is null and the corresponding namespace
> field should be ignored.
> For example, given the following schema.
> {code}
> {
> "name": ".record1",
> "namespace": "ns1",
> "type": "record",
> "fields": []
> }
> {code}
> The name and namespace should be "record1" and null respectively.
> But the namespace is considered as "ns1" in the current Rust binding .
--
This message was sent by Atlassian Jira
(v8.20.10#820010)