This is an automated email from the ASF dual-hosted git repository.
rskraba pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/avro.git
The following commit(s) were added to refs/heads/master by this push:
new d97e81f AVRO-3251: AVDL files containing fields called "uuid" no
longer compile. (#1395)
d97e81f is described below
commit d97e81f96e11cf0b550234d7c76045bea1734ab3
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",