Yingyi Bu has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/1901
Change subject: [ASTERIXDB-2000][RT] Fix roundtrip-ability for INF.
......................................................................
[ASTERIXDB-2000][RT] Fix roundtrip-ability for INF.
Change-Id: I13687822433744afe1ad3439029b2c0887563f9b
---
M
asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/non-finite/non-finite.1.json
M
asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADoublePrinterFactory.java
2 files changed, 4 insertions(+), 3 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/01/1901/1
diff --git
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/non-finite/non-finite.1.json
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/non-finite/non-finite.1.json
index db5a90c..66e3f84 100644
---
a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/non-finite/non-finite.1.json
+++
b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/non-finite/non-finite.1.json
@@ -1,2 +1,2 @@
-[ { "NaN": "NaN", "Infinity": "Infinity", "-Infinity": "-Infinity" }
+[ { "NaN": "NaN", "Infinity": "INF", "-Infinity": "-INF" }
]
diff --git
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADoublePrinterFactory.java
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADoublePrinterFactory.java
index abf9ced..00fbff4 100644
---
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADoublePrinterFactory.java
+++
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/printers/json/clean/ADoublePrinterFactory.java
@@ -31,11 +31,12 @@
public static final IPrinter PRINTER = (byte[] b, int s, int l,
PrintStream ps) -> {
final double d = ADoubleSerializerDeserializer.getDouble(b, s + 1);
- if (Double.isFinite(d)) {
+ if (Double.isFinite(d) && !Double.isNaN(d)) {
ps.print(d);
} else {
ps.append('"');
- ps.print(Double.toString(d));
+ ps.print(Double.compare(d, Double.NaN) == 0 ? "NaN"
+ : (Double.compare(d, Double.POSITIVE_INFINITY) == 0 ?
"INF" : "-INF"));
ps.append('"');
}
};
--
To view, visit https://asterix-gerrit.ics.uci.edu/1901
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I13687822433744afe1ad3439029b2c0887563f9b
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Yingyi Bu <[email protected]>