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]>