Hello community,
JIRA ticket AVRO-3532 <https://issues.apache.org/jira/browse/AVRO-3532>
show the issue.
Formal naming rules
<https://avro.apache.org/docs/1.11.1/specification/#names> described in
documentation are more restrictives than effective control in Java (And C#).
Indeed, java code
<https://github.com/apache/avro/blob/master/lang/java/avro/src/main/java/org/apache/avro/Schema.java#L1602-L1607>,
by using Character.isLetter & Character.isLetterOrDigit methods, accepts
accent like  "éàç", chinese/japanese alphabet (我) ...; (*and this
charactesr are also valid in standard java code in field/method/class name*).

This situation is like that since at least 1.8.2 version (*i didn't look at
older*).

So, discussion is to choose between

   1. "change the documentation" (and adapt module as proposed in this PR
   for RUST <https://github.com/apache/avro/pull/1787> and this other for C
   <https://github.com/apache/avro/pull/1798>)
   2. change the code (in Java and C# at least) to be conformed to
   documentation.


Personnally, i'm in favor of the first option. If some Java programmer are
like me and rely more on code source than on official documentation, and
already use accent in name, they will have a breaking change if we choose
second option. First option would not create breaking change; for rust and
C, change will preserve backward compatibility.

WDYT ?

Reply via email to