You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Niels Basjes (JIRA)" <ji...@apache.org> on 2016/09/26 09:23:20 UTC

[jira] [Commented] (AVRO-1924) Variable named 'date' in IDL

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

Niels Basjes commented on AVRO-1924:
------------------------------------

Although uncommon I essentially think this should be valid:
{code:java|title=share/test/schemas/specialtypes.avdl }
record keywordsAsVariableNames {
  string  array;
  string  boolean;
  string  double;
  string  enum;
  string  error;
  string  false;
  string  fixed;
  string  float;
  string  idl;
  string  import;
  string  int;
  string  long;
  string  map;
  string  oneway;
  string  bytes;
  string  schema;
  string  string;
  string  null;
  string  protocol;
  string  record;
  string  throws;
  string  true;
  string  union;
  string  void;
  string  date;
  string  time_ms;
  string  timestamp_ms;
  string  decimal;
}
{code}

Is this desirable?
Is this doable in the JavaCC ?
Is this doable in the other languages?

> Variable named 'date' in IDL
> ----------------------------
>
>                 Key: AVRO-1924
>                 URL: https://issues.apache.org/jira/browse/AVRO-1924
>             Project: Avro
>          Issue Type: Bug
>            Reporter: Niels Basjes
>            Assignee: Ryan Blue
>
> I was compiling Apache Parquet and found that the switch from Avro 1.8.0 to 1.8.1 broke their build.
> The error: {code}
> [ERROR] Failed to execute goal org.apache.avro:avro-maven-plugin:1.8.1:idl-protocol (schemas) ... 
> org.apache.avro.compiler.idl.ParseException: Encountered " "date" "date "" at line 23, column 14.
> [ERROR] Was expecting one of:
> [ERROR] <IDENTIFIER> ...
> [ERROR] "@" ...
> [ERROR] "`" ...
> [ERROR] -> [Help 1]
> {code}
> As it turns out they have a test idl that contains this:
> {code}
> @namespace("org.apache.parquet.avro")
> protocol Cars {
>     record Service {
>         long date;
>     }
> }
> {code}
> And this change AVRO-1684 turned the word 'date' into something different for the idl compiler.
> So changing the word 'date' into something else fixes the problem. 
> Yet I think this is an undesirable effect for end user applications.
> [~rdblue]: I assigned this to you implemented the mentioned change.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)