Ian Maxon has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/932

Change subject: Update adm.grammar and printers for double/float
......................................................................

Update adm.grammar and printers for double/float

adm.grammar was not accepting suffixed doubles. This was breaking
a lot of round-trip ADM cases. I also changed the default print for
float and double to not have a suffix, because this makes the output
very odd (NaNd, NaNf, -Infinityf).

Change-Id: I6164d74f6c286fa160a30cff9ad47e97a30e0770
---
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/float_01/float_01.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/abs2/abs2.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/abs3/abs3.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/caret0/caret0.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ceiling2/ceiling2.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ceiling3/ceiling3.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/floor2/floor2.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/floor3/floor3.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even2/round-half-to-even2.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even22/round-half-to-even22.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even23/round-half-to-even23.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even3/round-half-to-even3.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/unary-minus_double_02/unary-minus_double_02.1.adm
M 
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/unary-minus_float_02/unary-minus_float_02.1.adm
M asterixdb/asterix-external-data/src/main/resources/adm.grammar
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADoublePrinterFactory.java
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AFloatPrinterFactory.java
18 files changed, 26 insertions(+), 17 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/32/932/1

diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm
index 30da9ee..0e90fe0 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/double_01/double_01.1.adm
@@ -1 +1 @@
-{ "double1": NaNd, "double2": Infinityd, "double3": -Infinityd, "double4": 
-80.2d, "double5": -2.056E-29d, "double6": -2.056E-299d }
+{ "double1": NaN, "double2": Infinity, "double3": -Infinity, "double4": -80.2, 
"double5": -2.056E-29, "double6": -2.056E-299 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/float_01/float_01.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/float_01/float_01.1.adm
index 16ba1f3..9dfb94a 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/float_01/float_01.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/constructor/float_01/float_01.1.adm
@@ -1 +1 @@
-{ "float1": NaNf, "float2": Infinityf, "float3": -Infinityf, "float4": -80.2f, 
"float5": -2.056E-29f }
+{ "float1": NaN, "float2": Infinity, "float3": -Infinity, "float4": -80.2, 
"float5": -2.056E-29 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/abs2/abs2.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/abs2/abs2.1.adm
index a4bcbe8..22e50da 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/abs2/abs2.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/abs2/abs2.1.adm
@@ -1 +1 @@
-{ "f0": 20.1f, "f1": 2.056E-29f, "f2": NaNf, "f3": Infinityf, "f4": Infinityf, 
"f5": 0.0f, "f6": 0.0f }
+{ "f0": 20.1, "f1": 2.056E-29, "f2": NaN, "f3": Infinity, "f4": Infinity, 
"f5": 0.0, "f6": 0.0 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/abs3/abs3.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/abs3/abs3.1.adm
index 4da3272..f938327 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/abs3/abs3.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/abs3/abs3.1.adm
@@ -1 +1 @@
-{ "d0": 20.1d, "d1": 2.056E-29d, "d2": NaNd, "d3": Infinityd, "d4": Infinityd, 
"d5": 0.0d, "d6": 0.0d }
+{ "d0": 20.1, "d1": 2.056E-29, "d2": NaN, "d3": Infinity, "d4": Infinity, 
"d5": 0.0, "d6": 0.0 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/caret0/caret0.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/caret0/caret0.1.adm
index 1edec8a..3d2b01c 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/caret0/caret0.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/caret0/caret0.1.adm
@@ -1 +1 @@
-{ "c1": Infinityd, "c2": 1.6777216E7d, "c3": 9 }
+{ "c1": Infinity, "c2": 1.6777216E7, "c3": 9 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ceiling2/ceiling2.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ceiling2/ceiling2.1.adm
index 96e5d3d..0d2c59f 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ceiling2/ceiling2.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ceiling2/ceiling2.1.adm
@@ -1 +1 @@
-{ "f0": 21.0f, "f1": -0.0f, "f2": NaNf, "f3": Infinityf, "f4": -Infinityf, 
"f5": -0.0f, "f6": 0.0f }
+{ "f0": 21.0, "f1": -0.0, "f2": NaN, "f3": Infinity, "f4": -Infinity, "f5": 
-0.0, "f6": 0.0 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ceiling3/ceiling3.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ceiling3/ceiling3.1.adm
index bf497d4..6d944b9 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ceiling3/ceiling3.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ceiling3/ceiling3.1.adm
@@ -1 +1 @@
-{ "d0": 21.0d, "d1": -0.0d, "d2": NaNd, "d3": Infinityd, "d4": -Infinityd, 
"d5": -0.0d, "d6": 0.0d }
+{ "d0": 21.0, "d1": -0.0, "d2": NaN, "d3": Infinity, "d4": -Infinity, "d5": 
-0.0, "d6": 0.0 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/floor2/floor2.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/floor2/floor2.1.adm
index 078d159..9366300 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/floor2/floor2.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/floor2/floor2.1.adm
@@ -1 +1 @@
-{ "f0": 20.0f, "f1": -1.0f, "f2": NaNf, "f3": Infinityf, "f4": -Infinityf, 
"f5": -0.0f, "f6": 0.0f }
+{ "f0": 20.0, "f1": -1.0, "f2": NaN, "f3": Infinity, "f4": -Infinity, "f5": 
-0.0, "f6": 0.0 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/floor3/floor3.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/floor3/floor3.1.adm
index 58bdd79..cb452ad 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/floor3/floor3.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/floor3/floor3.1.adm
@@ -1 +1 @@
-{ "d0": 20.0d, "d1": -1.0d, "d2": NaNd, "d3": Infinityd, "d4": -Infinityd, 
"d5": -0.0d, "d6": 0.0d }
+{ "d0": 20.0, "d1": -1.0, "d2": NaN, "d3": Infinity, "d4": -Infinity, "d5": 
-0.0, "d6": 0.0 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even2/round-half-to-even2.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even2/round-half-to-even2.1.adm
index f5f9e3f..2371813 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even2/round-half-to-even2.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even2/round-half-to-even2.1.adm
@@ -1 +1 @@
-{ "f0": 0.0f, "f1": -20.0f, "f2": NaNf, "f3": Infinityf, "f4": -Infinityf, 
"f5": -0.0f, "f6": 0.0f }
+{ "f0": 0.0, "f1": -20.0, "f2": NaN, "f3": Infinity, "f4": -Infinity, "f5": 
-0.0, "f6": 0.0 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even22/round-half-to-even22.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even22/round-half-to-even22.1.adm
index 3f0cead..ddc981b 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even22/round-half-to-even22.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even22/round-half-to-even22.1.adm
@@ -1 +1 @@
-{ "d0": 0.56f, "d1": 0.32f, "d2": NaNf, "d3": Infinityf, "d4": -Infinityf, 
"d5": -0.0f, "d6": 0.0f }
+{ "d0": 0.56, "d1": 0.32, "d2": NaN, "d3": Infinity, "d4": -Infinity, "d5": 
-0.0, "d6": 0.0 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even23/round-half-to-even23.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even23/round-half-to-even23.1.adm
index 914a79e..ddc981b 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even23/round-half-to-even23.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even23/round-half-to-even23.1.adm
@@ -1 +1 @@
-{ "d0": 0.56d, "d1": 0.32d, "d2": NaNd, "d3": Infinityd, "d4": -Infinityd, 
"d5": -0.0d, "d6": 0.0d }
+{ "d0": 0.56, "d1": 0.32, "d2": NaN, "d3": Infinity, "d4": -Infinity, "d5": 
-0.0, "d6": 0.0 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even3/round-half-to-even3.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even3/round-half-to-even3.1.adm
index 60b7c52..8b67144 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even3/round-half-to-even3.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/round-half-to-even3/round-half-to-even3.1.adm
@@ -1 +1 @@
-{ "d0": 0.0d, "d1": -20.0d, "d2": NaNd, "d3": Infinityd, "d4": -Infinityd, 
"d5": -0.0d, "d6": 0.0d }
+{ "d0": 0.0, "d1": -20.0, "d2": NaN, "d3": Infinity, "d4": -Infinity, "d5": 
-0.0, "d6": 0.0 }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/unary-minus_double_02/unary-minus_double_02.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/unary-minus_double_02/unary-minus_double_02.1.adm
index 3a72bb8..399b39c 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/unary-minus_double_02/unary-minus_double_02.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/unary-minus_double_02/unary-minus_double_02.1.adm
@@ -1 +1 @@
-{ "double1": 2.056E-29d, "double2": NaNd, "double3": -Infinityd, "double4": 
Infinityd }
+{ "double1": 2.056E-29, "double2": NaN, "double3": -Infinity, "double4": 
Infinity }
diff --git 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/unary-minus_float_02/unary-minus_float_02.1.adm
 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/unary-minus_float_02/unary-minus_float_02.1.adm
index e6541ae..d47edae 100644
--- 
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/unary-minus_float_02/unary-minus_float_02.1.adm
+++ 
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/unary-minus_float_02/unary-minus_float_02.1.adm
@@ -1 +1 @@
-{ "float1": 80.2f, "float2": NaNf, "float3": -Infinityf, "float4": Infinityf }
+{ "float1": 80.2, "float2": NaN, "float3": -Infinity, "float4": Infinity }
diff --git a/asterixdb/asterix-external-data/src/main/resources/adm.grammar 
b/asterixdb/asterix-external-data/src/main/resources/adm.grammar
index 2626a31..174c459 100644
--- a/asterixdb/asterix-external-data/src/main/resources/adm.grammar
+++ b/asterixdb/asterix-external-data/src/main/resources/adm.grammar
@@ -82,4 +82,13 @@
 DOUBLE_LITERAL          = signOrNothing(), digitSequence(), char(.), 
digitSequence(), token(@EXPONENT)
 DOUBLE_LITERAL          = signOrNothing(), digitSequence(), token(@EXPONENT)
 
+DOUBLE_LITERAL          = signOrNothing(), char(.), digitSequence(), 
caseInsensitiveChar(d)
+DOUBLE_LITERAL          = signOrNothing(), digitSequence(), char(.), 
digitSequence() , caseInsensitiveChar(d)
+DOUBLE_LITERAL          = signOrNothing(), digitSequence(), char(.), 
digitSequence(), token(@EXPONENT), caseInsensitiveChar(d)
+DOUBLE_LITERAL          = signOrNothing(), digitSequence(), token(@EXPONENT), 
caseInsensitiveChar(d)
+
+DOUBLE_LITERAL          = string(NaN)
+DOUBLE_LITERAL          = string(Infinity)
+DOUBLE_LITERAL          = string(-Infinity)
+
 FLOAT_LITERAL           = token(DOUBLE_LITERAL), caseInsensitiveChar(f)
diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADoublePrinterFactory.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADoublePrinterFactory.java
index 6103f7c..15dbbbc 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADoublePrinterFactory.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/ADoublePrinterFactory.java
@@ -30,7 +30,7 @@
     public static final ADoublePrinterFactory INSTANCE = new 
ADoublePrinterFactory();
 
     public static final IPrinter PRINTER = (byte[] b, int s, int l, 
PrintStream ps) -> ps
-            .print(ADoubleSerializerDeserializer.getDouble(b, s + 1) + "d");
+            .print(ADoubleSerializerDeserializer.getDouble(b, s + 1));
 
     @Override
     public IPrinter createPrinter() {
diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AFloatPrinterFactory.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AFloatPrinterFactory.java
index 372a027..edf1e1d 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AFloatPrinterFactory.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/adm/AFloatPrinterFactory.java
@@ -30,7 +30,7 @@
     public static final AFloatPrinterFactory INSTANCE = new 
AFloatPrinterFactory();
 
     public static final IPrinter PRINTER = (byte[] b, int s, int l, 
PrintStream ps) -> ps
-            .print(AFloatSerializerDeserializer.getFloat(b, s + 1) + "f");
+            .print(AFloatSerializerDeserializer.getFloat(b, s + 1));
 
     @Override
     public IPrinter createPrinter() {

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/932
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6164d74f6c286fa160a30cff9ad47e97a30e0770
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <[email protected]>

Reply via email to