This is an automated email from the ASF dual-hosted git repository.

rskraba pushed a commit to branch branch-1.11
in repository https://gitbox.apache.org/repos/asf/avro.git


The following commit(s) were added to refs/heads/branch-1.11 by this push:
     new a10746a  AVRO-3251: AVDL files containing fields called "uuid" no 
longer compile. (#1395)
a10746a is described below

commit a10746a3ecb1c79d58a1f8cfbdc87a87fefd5998
Author: Martin Grigorov <[email protected]>
AuthorDate: Wed Dec 22 19:32:34 2021 +0200

    AVRO-3251: AVDL files containing fields called "uuid" no longer compile. 
(#1395)
    
    * AVRO-3251 AVDL files containing fields called "uuid" no longer compile.
    
    * AVRO-3251 Accept idl, import, oneway and null as identifiers in .avdl 
files
---
 .../main/javacc/org/apache/avro/compiler/idl/idl.jj  |  5 +++++
 .../compiler/src/test/idl/input/reservedwords.avdl   |  5 +++++
 lang/java/compiler/src/test/idl/input/uuid.avdl      |  5 +++++
 lang/java/compiler/src/test/idl/output/import.avpr   | 20 ++++++++++++++++++++
 .../compiler/src/test/idl/output/nestedimport.avpr   | 20 ++++++++++++++++++++
 .../compiler/src/test/idl/output/reservedwords.avpr  | 20 ++++++++++++++++++++
 lang/java/compiler/src/test/idl/output/uuid.avpr     |  4 ++++
 7 files changed, 79 insertions(+)

diff --git 
a/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj 
b/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj
index d62faff..5fe7871 100644
--- a/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj
+++ b/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj
@@ -1658,17 +1658,22 @@ Token AnyIdentifier():
    t = <FALSE> |
    t = <FIXED> |
    t = <FLOAT> |
+   t = <IDL> |
+   t = <IMPORT> |
    t = <INT> |
    t = <LONG> |
    t = <MAP> |
+   t = <ONEWAY> |
    t = <BYTES> |
    t = <STRING> |
+   t = <NULL> |
    t = <PROTOCOL> |
    t = <RECORD> |
    t = <SCHEMA> |
    t = <THROWS> |
    t = <TRUE> |
    t = <UNION> |
+   t = <UUID> |
    t = <VOID> |
    t = <DATE> |
    t = <TIME> |
diff --git a/lang/java/compiler/src/test/idl/input/reservedwords.avdl 
b/lang/java/compiler/src/test/idl/input/reservedwords.avdl
index 987e953..f2112aa 100644
--- a/lang/java/compiler/src/test/idl/input/reservedwords.avdl
+++ b/lang/java/compiler/src/test/idl/input/reservedwords.avdl
@@ -19,4 +19,9 @@
 protocol Foo {
   void `error`();
   void `void`();
+  void `idl`();
+  void `import`();
+  void `oneway`();
+  void `null`();
+  void `local_timestamp_ms`();
 }
diff --git a/lang/java/compiler/src/test/idl/input/uuid.avdl 
b/lang/java/compiler/src/test/idl/input/uuid.avdl
index f0e1ac8..49a83f4 100644
--- a/lang/java/compiler/src/test/idl/input/uuid.avdl
+++ b/lang/java/compiler/src/test/idl/input/uuid.avdl
@@ -31,6 +31,11 @@ protocol MyProtocol {
      */
     uuid identifier;
 
+    /**
+     * A string field with a special name
+     */
+    string `uuid`;
+
 
     /**
      * a nullable uuid field
diff --git a/lang/java/compiler/src/test/idl/output/import.avpr 
b/lang/java/compiler/src/test/idl/output/import.avpr
index 1cb9539..e6701ad 100644
--- a/lang/java/compiler/src/test/idl/output/import.avpr
+++ b/lang/java/compiler/src/test/idl/output/import.avpr
@@ -90,6 +90,26 @@
       "request" : [ ],
       "response" : "null"
     },
+    "idl" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "import" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "oneway" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "null" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "local_timestamp_ms" : {
+      "request" : [ ],
+      "response" : "null"
+    },
     "bar" : {
       "request" : [ ],
       "response" : "null"
diff --git a/lang/java/compiler/src/test/idl/output/nestedimport.avpr 
b/lang/java/compiler/src/test/idl/output/nestedimport.avpr
index d421da4..8027362 100644
--- a/lang/java/compiler/src/test/idl/output/nestedimport.avpr
+++ b/lang/java/compiler/src/test/idl/output/nestedimport.avpr
@@ -45,6 +45,26 @@
       "request" : [ ],
       "response" : "null"
     },
+    "idl" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "import" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "oneway" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "null" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "local_timestamp_ms" : {
+      "request" : [ ],
+      "response" : "null"
+    },
     "bar" : {
       "request" : [ ],
       "response" : "null"
diff --git a/lang/java/compiler/src/test/idl/output/reservedwords.avpr 
b/lang/java/compiler/src/test/idl/output/reservedwords.avpr
index 7982720..96f5b0f 100644
--- a/lang/java/compiler/src/test/idl/output/reservedwords.avpr
+++ b/lang/java/compiler/src/test/idl/output/reservedwords.avpr
@@ -11,6 +11,26 @@
     "void" : {
       "request" : [ ],
       "response" : "null"
+    },
+    "idl" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "import" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "oneway" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "null" : {
+      "request" : [ ],
+      "response" : "null"
+    },
+    "local_timestamp_ms" : {
+      "request" : [ ],
+      "response" : "null"
     }
   }
 }
diff --git a/lang/java/compiler/src/test/idl/output/uuid.avpr 
b/lang/java/compiler/src/test/idl/output/uuid.avpr
index c7a1e72..4c2b08d 100644
--- a/lang/java/compiler/src/test/idl/output/uuid.avpr
+++ b/lang/java/compiler/src/test/idl/output/uuid.avpr
@@ -13,6 +13,10 @@
       },
       "doc" : "Documentation must be provided for each attribute"
     }, {
+      "name" : "uuid",
+      "type" : "string",
+      "doc" : "* A string field with a special name"
+    }, {
       "name" : "optionalString",
       "type" : [ "null", {
         "type" : "string",

Reply via email to