[jira] [Commented] (AVRO-1725) Enum schema exhibits same restriction to enum symbols as to names
[ https://issues.apache.org/jira/browse/AVRO-1725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15092723#comment-15092723 ] Hudson commented on AVRO-1725: -- SUCCESS: Integrated in AvroJava #565 (See [https://builds.apache.org/job/AvroJava/565/]) AVRO-1725. Docs: clarify restrictions on enum symbols. (martinkl: rev 1724129) * trunk/CHANGES.txt * trunk/doc/src/content/xdocs/spec.xml > Enum schema exhibits same restriction to enum symbols as to names > - > > Key: AVRO-1725 > URL: https://issues.apache.org/jira/browse/AVRO-1725 > Project: Avro > Issue Type: Bug > Components: java >Affects Versions: 1.7.7 >Reporter: Nikita Makeev > Fix For: 1.8.0 > > Attachments: AVRO-1725.patch > > > EnumSchema class in org.apache.avro.Schema has the following code: > for (String symbol : symbols) > if (ordinals.put(validateName(symbol), i++) != null) > which validates enum symbols using validateName() which makes impossible to > use symbols that are not conforming to standard for real names. > That prohibits using of symbols like "" (empty string) or anything starting > with number which does not seem to be intended. > I guess this place requires either some another type of validation or no > validation at all. Can provide a patch for both cases. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AVRO-1725) Enum schema exhibits same restriction to enum symbols as to names
[ https://issues.apache.org/jira/browse/AVRO-1725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15092671#comment-15092671 ] ASF subversion and git services commented on AVRO-1725: --- Commit 1724129 from [~martinkl] in branch 'avro/trunk' [ https://svn.apache.org/r1724129 ] AVRO-1725. Docs: clarify restrictions on enum symbols. > Enum schema exhibits same restriction to enum symbols as to names > - > > Key: AVRO-1725 > URL: https://issues.apache.org/jira/browse/AVRO-1725 > Project: Avro > Issue Type: Bug > Components: java >Affects Versions: 1.7.7 >Reporter: Nikita Makeev > Fix For: 1.8.0 > > Attachments: AVRO-1725.patch > > > EnumSchema class in org.apache.avro.Schema has the following code: > for (String symbol : symbols) > if (ordinals.put(validateName(symbol), i++) != null) > which validates enum symbols using validateName() which makes impossible to > use symbols that are not conforming to standard for real names. > That prohibits using of symbols like "" (empty string) or anything starting > with number which does not seem to be intended. > I guess this place requires either some another type of validation or no > validation at all. Can provide a patch for both cases. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AVRO-1725) Enum schema exhibits same restriction to enum symbols as to names
[ https://issues.apache.org/jira/browse/AVRO-1725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15092669#comment-15092669 ] ASF subversion and git services commented on AVRO-1725: --- Commit 1724128 from [~martinkl] in branch 'avro/branches/branch-1.8' [ https://svn.apache.org/r1724128 ] AVRO-1725. Docs: clarify restrictions on enum symbols. > Enum schema exhibits same restriction to enum symbols as to names > - > > Key: AVRO-1725 > URL: https://issues.apache.org/jira/browse/AVRO-1725 > Project: Avro > Issue Type: Bug > Components: java >Affects Versions: 1.7.7 >Reporter: Nikita Makeev > Attachments: AVRO-1725.patch > > > EnumSchema class in org.apache.avro.Schema has the following code: > for (String symbol : symbols) > if (ordinals.put(validateName(symbol), i++) != null) > which validates enum symbols using validateName() which makes impossible to > use symbols that are not conforming to standard for real names. > That prohibits using of symbols like "" (empty string) or anything starting > with number which does not seem to be intended. > I guess this place requires either some another type of validation or no > validation at all. Can provide a patch for both cases. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AVRO-1725) Enum schema exhibits same restriction to enum symbols as to names
[ https://issues.apache.org/jira/browse/AVRO-1725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15092431#comment-15092431 ] Ryan Blue commented on AVRO-1725: - +1 for that patch, [~martinkl]. Thanks! > Enum schema exhibits same restriction to enum symbols as to names > - > > Key: AVRO-1725 > URL: https://issues.apache.org/jira/browse/AVRO-1725 > Project: Avro > Issue Type: Bug > Components: java >Affects Versions: 1.7.7 >Reporter: Nikita Makeev > Attachments: AVRO-1725.patch > > > EnumSchema class in org.apache.avro.Schema has the following code: > for (String symbol : symbols) > if (ordinals.put(validateName(symbol), i++) != null) > which validates enum symbols using validateName() which makes impossible to > use symbols that are not conforming to standard for real names. > That prohibits using of symbols like "" (empty string) or anything starting > with number which does not seem to be intended. > I guess this place requires either some another type of validation or no > validation at all. Can provide a patch for both cases. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AVRO-1725) Enum schema exhibits same restriction to enum symbols as to names
[ https://issues.apache.org/jira/browse/AVRO-1725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15058312#comment-15058312 ] Doug Cutting commented on AVRO-1725: I'd vote for clarifying the spec rather than relaxing the implementation. Enum symbols might be generated as identifiers in lots of languages, not just Java, and, e.g., C & C++ also do not allow identifiers that start with digit characters. > Enum schema exhibits same restriction to enum symbols as to names > - > > Key: AVRO-1725 > URL: https://issues.apache.org/jira/browse/AVRO-1725 > Project: Avro > Issue Type: Bug > Components: java >Affects Versions: 1.7.7 >Reporter: Nikita Makeev > > EnumSchema class in org.apache.avro.Schema has the following code: > for (String symbol : symbols) > if (ordinals.put(validateName(symbol), i++) != null) > which validates enum symbols using validateName() which makes impossible to > use symbols that are not conforming to standard for real names. > That prohibits using of symbols like "" (empty string) or anything starting > with number which does not seem to be intended. > I guess this place requires either some another type of validation or no > validation at all. Can provide a patch for both cases. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AVRO-1725) Enum schema exhibits same restriction to enum symbols as to names
[ https://issues.apache.org/jira/browse/AVRO-1725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15057963#comment-15057963 ] Martin Kleppmann commented on AVRO-1725: [The spec|http://avro.apache.org/docs/1.7.7/spec.html#Enums] only says that symbols of an enum must be unique; it doesn't say that they have to conform to any particular naming pattern (unlike the names of types). I noticed this while looking at the C implementation (which allows arbitrary strings as symbols). I guess for compatibility with Java code generation it might be appropriate to restrict enum symbols in the same way as type names are restricted, but if we do so, we should update the spec accordingly. > Enum schema exhibits same restriction to enum symbols as to names > - > > Key: AVRO-1725 > URL: https://issues.apache.org/jira/browse/AVRO-1725 > Project: Avro > Issue Type: Bug > Components: java >Affects Versions: 1.7.7 >Reporter: Nikita Makeev > > EnumSchema class in org.apache.avro.Schema has the following code: > for (String symbol : symbols) > if (ordinals.put(validateName(symbol), i++) != null) > which validates enum symbols using validateName() which makes impossible to > use symbols that are not conforming to standard for real names. > That prohibits using of symbols like "" (empty string) or anything starting > with number which does not seem to be intended. > I guess this place requires either some another type of validation or no > validation at all. Can provide a patch for both cases. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AVRO-1725) Enum schema exhibits same restriction to enum symbols as to names
[ https://issues.apache.org/jira/browse/AVRO-1725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15057707#comment-15057707 ] Nikita Makeev commented on AVRO-1725: - [~rdblue], I guess so. With current validation I can't use, for instance, following enum: { "type": "enum", "name": "Source", "symbols" : [ "", "9gag", "2chan", "4chan" ] } > Enum schema exhibits same restriction to enum symbols as to names > - > > Key: AVRO-1725 > URL: https://issues.apache.org/jira/browse/AVRO-1725 > Project: Avro > Issue Type: Bug > Components: java >Affects Versions: 1.7.7 >Reporter: Nikita Makeev > > EnumSchema class in org.apache.avro.Schema has the following code: > for (String symbol : symbols) > if (ordinals.put(validateName(symbol), i++) != null) > which validates enum symbols using validateName() which makes impossible to > use symbols that are not conforming to standard for real names. > That prohibits using of symbols like "" (empty string) or anything starting > with number which does not seem to be intended. > I guess this place requires either some another type of validation or no > validation at all. Can provide a patch for both cases. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (AVRO-1725) Enum schema exhibits same restriction to enum symbols as to names
[ https://issues.apache.org/jira/browse/AVRO-1725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15057121#comment-15057121 ] Ryan Blue commented on AVRO-1725: - [~whale2], I'm not sure I understand the problem here. Is the current validation wrong? > Enum schema exhibits same restriction to enum symbols as to names > - > > Key: AVRO-1725 > URL: https://issues.apache.org/jira/browse/AVRO-1725 > Project: Avro > Issue Type: Bug > Components: java >Affects Versions: 1.7.7 >Reporter: Nikita Makeev > > EnumSchema class in org.apache.avro.Schema has the following code: > for (String symbol : symbols) > if (ordinals.put(validateName(symbol), i++) != null) > which validates enum symbols using validateName() which makes impossible to > use symbols that are not conforming to standard for real names. > That prohibits using of symbols like "" (empty string) or anything starting > with number which does not seem to be intended. > I guess this place requires either some another type of validation or no > validation at all. Can provide a patch for both cases. -- This message was sent by Atlassian JIRA (v6.3.4#6332)