[ 
https://issues.apache.org/jira/browse/AVRO-3830?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17758141#comment-17758141
 ] 

Steve Stagg commented on AVRO-3830:
-----------------------------------

Ok, I understand.

The reason I saw/queried this is that the python library explicitly forbids 
this, and had tests to check:

{code}
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_]*$
{cod}

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)

Reply via email to