[ 
https://issues.apache.org/jira/browse/AVRO-3532?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christophe Le Saec updated AVRO-3532:
-------------------------------------
    Description: 
Description of [naming rule on 
documentation|https://avro.apache.org/docs/1.11.1/specification/#names] is
{noformat}
    - start with [A-Za-z_]
    - subsequently contain only [A-Za-z0-9_]
{noformat}
But [java 
code|https://github.com/apache/avro/blob/master/lang/java/avro/src/main/java/org/apache/avro/Schema.java#L1578]
 use Character.isLetter method
{code:java}
    char first = name.charAt(0);
    if (!(Character.isLetter(first) || first == '_'))
      throw new SchemaParseException("Illegal initial character: " + name);
    for (int i = 1; i < length; i++) {
      char c = name.charAt(i);
      if (!(Character.isLetterOrDigit(c) || c == '_'))
        throw new SchemaParseException("Illegal character in: " + name);
    }
    return name;
{code}
This method accept accent éùàçË ... and also chinese character (我) ...
Object of this JIRA is to update names rules in documentation to include what 
java already accept.

C# also accept this kind of name ([See this 
PR|https://github.com/apache/avro/pull/1866])
Rust & C need updates (others PR)


  was:
Description of [naming rule on 
documentation|https://avro.apache.org/docs/1.11.1/specification/#names] is
{noformat}
    - start with [A-Za-z_]
    - subsequently contain only [A-Za-z0-9_]
{noformat}
But [java 
code|https://github.com/apache/avro/blob/master/lang/java/avro/src/main/java/org/apache/avro/Schema.java#L1578]
 use Character.isLetter method
{code:java}
    char first = name.charAt(0);
    if (!(Character.isLetter(first) || first == '_'))
      throw new SchemaParseException("Illegal initial character: " + name);
    for (int i = 1; i < length; i++) {
      char c = name.charAt(i);
      if (!(Character.isLetterOrDigit(c) || c == '_'))
        throw new SchemaParseException("Illegal character in: " + name);
    }
    return name;
{code}
This method accept accent éùàçË ... and also chinese character (我) ...
C# also accept this kind of name (

So, the aim of this ticket is to see if we can update the documentation, if 
other implementations (rust, C# ...) are also compatible with ?


> Align naming rules on code
> --------------------------
>
>                 Key: AVRO-3532
>                 URL: https://issues.apache.org/jira/browse/AVRO-3532
>             Project: Apache Avro
>          Issue Type: Wish
>            Reporter: Christophe Le Saec
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Description of [naming rule on 
> documentation|https://avro.apache.org/docs/1.11.1/specification/#names] is
> {noformat}
>     - start with [A-Za-z_]
>     - subsequently contain only [A-Za-z0-9_]
> {noformat}
> But [java 
> code|https://github.com/apache/avro/blob/master/lang/java/avro/src/main/java/org/apache/avro/Schema.java#L1578]
>  use Character.isLetter method
> {code:java}
>     char first = name.charAt(0);
>     if (!(Character.isLetter(first) || first == '_'))
>       throw new SchemaParseException("Illegal initial character: " + name);
>     for (int i = 1; i < length; i++) {
>       char c = name.charAt(i);
>       if (!(Character.isLetterOrDigit(c) || c == '_'))
>         throw new SchemaParseException("Illegal character in: " + name);
>     }
>     return name;
> {code}
> This method accept accent éùàçË ... and also chinese character (我) ...
> Object of this JIRA is to update names rules in documentation to include what 
> java already accept.
> C# also accept this kind of name ([See this 
> PR|https://github.com/apache/avro/pull/1866])
> Rust & C need updates (others PR)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to