You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Dmitry Lychagin (Code Review)" <do...@asterixdb.incubator.apache.org> on 2018/07/25 22:04:25 UTC
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Dmitry Lychagin has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/2813
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
[ASTERIXDB-2423][RT] Division by zero should return NULL
- user model changes: yes
- storage format changes: no
- interface changes: no
Details:
- Make DIV, /, MOD operators return NULL if the divisor is 0
- Add test case for if_inf() function
Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
---
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
43 files changed, 339 insertions(+), 175 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/13/2813/1
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql
index 62b1112..f86aae9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c6/$c1,"result2": $c6/$c2,"result3": $c6/$c3,"result4": $c6/$c4,"result5": $c6/$c5, "result6": $c6/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c6/$c1,"result2": $c6/$c2,"result3": $c6/$c3,"result4": $c6/$c4,"result5": $c6/$c5, "result6": $c6/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql
index 0f938e3..dde8291 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c5/$c1,"result2": $c5/$c2,"result3": $c5/$c3,"result4": $c5/$c4,"result5": $c5/$c5, "result6": $c5/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c5/$c1,"result2": $c5/$c2,"result3": $c5/$c3,"result4": $c5/$c4,"result5": $c5/$c5, "result6": $c5/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql
index 17f19c0..e4993d4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c2/$c1,"result2": $c2/$c2,"result3": $c2/$c3,"result4": $c2/$c4,"result5": $c2/$c5, "result6": $c2/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c2/$c1,"result2": $c2/$c2,"result3": $c2/$c3,"result4": $c2/$c4,"result5": $c2/$c5, "result6": $c2/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql
index b59be3b..1771d70 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c2 div $c1,"result2": $c2 div $c2,"result3": $c2 div $c3,"result4": $c2 div $c4,"result5": $c2 div $c5, "result6": $c2 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1]}
+return {"result1": $c2 div $c1,"result2": $c2 div $c2,"result3": $c2 div $c3,"result4": $c2 div $c4,"result5": $c2 div $c5, "result6": $c2 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql
index 0026e24..e9adbc2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c3/$c1,"result2": $c3/$c2,"result3": $c3/$c3,"result4": $c3/$c4,"result5": $c3/$c5, "result6": $c3/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c3/$c1,"result2": $c3/$c2,"result3": $c3/$c3,"result4": $c3/$c4,"result5": $c3/$c5, "result6": $c3/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql
index d8ad04a..349211a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c3 div $c1,"result2": $c3 div $c2,"result3": $c3 div $c3,"result4": $c3 div $c4,"result5": $c3 div $c5, "result6": $c3 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1]}
+return {"result1": $c3 div $c1,"result2": $c3 div $c2,"result3": $c3 div $c3,"result4": $c3 div $c4,"result5": $c3 div $c5, "result6": $c3 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql
index b3e11be..b7b99a7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c4/$c1,"result2": $c4/$c2,"result3": $c4/$c3,"result4": $c4/$c4,"result5": $c4/$c5, "result6": $c4/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c4/$c1,"result2": $c4/$c2,"result3": $c4/$c3,"result4": $c4/$c4,"result5": $c4/$c5, "result6": $c4/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql
index 32c72ed..c6694a6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c4 div $c1,"result2": $c4 div $c2,"result3": $c4 div $c3,"result4": $c4 div $c4,"result5": $c4 div $c5, "result6": $c4 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1]}
+return {"result1": $c4 div $c1,"result2": $c4 div $c2,"result3": $c4 div $c3,"result4": $c4 div $c4,"result5": $c4 div $c5, "result6": $c4 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql
index a3cf2ee..afb1488 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c1/$c1,"result2": $c1/$c2,"result3": $c1/$c3,"result4": $c1/$c4,"result5": $c1/$c5, "result6": $c1/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c1/$c1,"result2": $c1/$c2,"result3": $c1/$c3,"result4": $c1/$c4,"result5": $c1/$c5, "result6": $c1/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql
index 5adb1b4..07a1910 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c1 div $c1,"result2": $c1 div $c2,"result3": $c1 div $c3,"result4": $c1 div $c4,"result5": $c1 div $c5, "result6": $c1 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1]}
+return {"result1": $c1 div $c1,"result2": $c1 div $c2,"result3": $c1 div $c3,"result4": $c1 div $c4,"result5": $c1 div $c5, "result6": $c1 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp
index 901be61..31e2399 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp
@@ -18,4 +18,4 @@
*/
-{'result1':(double('-6.5d') / tinyint('+1')),'result2':(double('-6.5d') / smallint('2')),'result3':(double('-6.5d') / integer('+3')),'result4':(double('-6.5d') / bigint('-4')),'result5':(double('-6.5d') / float('-5.5f')),'result6':(double('-6.5d') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(double('-6.5d') / tinyint('+1')),'result2':(double('-6.5d') / smallint('2')),'result3':(double('-6.5d') / integer('+3')),'result4':(double('-6.5d') / bigint('-4')),'result5':(double('-6.5d') / float('-5.5f')),'result6':(double('-6.5d') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a, 'result9':double('1') / 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp
index 7dfdcd2..107fed1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp
@@ -17,4 +17,4 @@
* under the License.
*/
-{'result1':(float('-5.5f') / tinyint('+1')),'result2':(float('-5.5f') / smallint('2')),'result3':(float('-5.5f') / integer('+3')),'result4':(float('-5.5f') / bigint('-4')),'result5':(float('-5.5f') / float('-5.5f')),'result6':(float('-5.5f') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(float('-5.5f') / tinyint('+1')),'result2':(float('-5.5f') / smallint('2')),'result3':(float('-5.5f') / integer('+3')),'result4':(float('-5.5f') / bigint('-4')),'result5':(float('-5.5f') / float('-5.5f')),'result6':(float('-5.5f') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a, 'result9':double('1') / 0 };
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp
index b0f315d..1e1237d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp
@@ -17,4 +17,4 @@
* under the License.
*/
-{'result1':(smallint('2') / tinyint('+1')),'result2':(smallint('2') / smallint('2')),'result3':(smallint('2') / integer('+3')),'result4':(smallint('2') / bigint('-4')),'result5':(smallint('2') / float('-5.5f')),'result6':(smallint('2') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(smallint('2') / tinyint('+1')),'result2':(smallint('2') / smallint('2')),'result3':(smallint('2') / integer('+3')),'result4':(smallint('2') / bigint('-4')),'result5':(smallint('2') / float('-5.5f')),'result6':(smallint('2') / double('-6.5d')),'result7':(smallint('-6') / null), 'result8':smallint('-6') / {}.a, 'result9': smallint('1') / 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp
index cca3dcf..f5bf6fe 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp
@@ -17,4 +17,4 @@
* under the License.
*/
-{'result1':(smallint('2') div tinyint('+1')),'result2':(smallint('2') div smallint('2')),'result3':(smallint('2') div integer('+3')),'result4':(smallint('2') div bigint('-4')),'result5':(smallint('2') div float('-5.5f')),'result6':(smallint('2') div double('-6.5d')),'result7':(double('-6.5d') div null), 'result8':double('-6.5d') div {}.a};
+{'result1':(smallint('2') div tinyint('+1')),'result2':(smallint('2') div smallint('2')),'result3':(smallint('2') div integer('+3')),'result4':(smallint('2') div bigint('-4')),'result5':(smallint('2') div float('-5.5f')),'result6':(smallint('2') div double('-6.5d')),'result7':(smallint('-6') div null), 'result8':smallint('-6') div {}.a, 'result9': smallint('1') div 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp
index 4a9810d..3e22be1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp
@@ -18,4 +18,4 @@
*/
-{'result1':(integer('+3') / tinyint('+1')),'result2':(integer('+3') / smallint('2')),'result3':(integer('+3') / integer('+3')),'result4':(integer('+3') / bigint('-4')),'result5':(integer('+3') / float('-5.5f')),'result6':(integer('+3') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(integer('+3') / tinyint('+1')),'result2':(integer('+3') / smallint('2')),'result3':(integer('+3') / integer('+3')),'result4':(integer('+3') / bigint('-4')),'result5':(integer('+3') / float('-5.5f')),'result6':(integer('+3') / double('-6.5d')),'result7':(integer('-6') / null), 'result8':integer('-6') / {}.a, 'result9': integer('1') / 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp
index 7ce0f9e..dec8444 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp
@@ -18,4 +18,4 @@
*/
-{'result1':(integer('+3') div tinyint('+1')),'result2':(integer('+3') div smallint('2')),'result3':(integer('+3') div integer('+3')),'result4':(integer('+3') div bigint('-4')),'result5':(integer('+3') div float('-5.5f')),'result6':(integer('+3') div double('-6.5d')),'result7':(double('-6.5d') div null), 'result8':double('-6.5d') div {}.a};
+{'result1':(integer('+3') div tinyint('+1')),'result2':(integer('+3') div smallint('2')),'result3':(integer('+3') div integer('+3')),'result4':(integer('+3') div bigint('-4')),'result5':(integer('+3') div float('-5.5f')),'result6':(integer('+3') div double('-6.5d')),'result7':(integer('-6') div null), 'result8':integer('-6') div {}.a, 'result9': integer('1') div 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp
index 5b7d8f5..abdbe08 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp
@@ -17,4 +17,4 @@
* under the License.
*/
-{'result1':(bigint('-4') / tinyint('+1')),'result2':(bigint('-4') / smallint('2')),'result3':(bigint('-4') / integer('+3')),'result4':(bigint('-4') / bigint('-4')),'result5':(bigint('-4') / float('-5.5f')),'result6':(bigint('-4') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(bigint('-4') / tinyint('+1')),'result2':(bigint('-4') / smallint('2')),'result3':(bigint('-4') / integer('+3')),'result4':(bigint('-4') / bigint('-4')),'result5':(bigint('-4') / float('-5.5f')),'result6':(bigint('-4') / double('-6.5d')),'result7':(bigint('-6') / null), 'result8':bigint('-6') / {}.a, 'result9': bigint('1') / 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp
index 2f850c2..d3bb58c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp
@@ -17,4 +17,4 @@
* under the License.
*/
-{'result1':(bigint('-4') div tinyint('+1')),'result2':(bigint('-4') div smallint('2')),'result3':(bigint('-4') div integer('+3')),'result4':(bigint('-4') div bigint('-4')),'result5':(bigint('-4') div float('-5.5f')),'result6':(bigint('-4') div double('-6.5d')),'result7':(double('-6.5d') div null), 'result8':double('-6.5d') div {}.a};
+{'result1':(bigint('-4') div tinyint('+1')),'result2':(bigint('-4') div smallint('2')),'result3':(bigint('-4') div integer('+3')),'result4':(bigint('-4') div bigint('-4')),'result5':(bigint('-4') div float('-5.5f')),'result6':(bigint('-4') div double('-6.5d')),'result7':(bigint('-6') div null), 'result8':bigint('-6') div {}.a, 'result9': bigint('1') div 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp
index dd6917d..a4049ae 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp
@@ -18,4 +18,4 @@
*/
-{'result1':(tinyint('+1') / tinyint('+1')),'result2':(tinyint('+1') / smallint('2')),'result3':(tinyint('+1') / integer('+3')),'result4':(tinyint('+1') / bigint('-4')),'result5':(tinyint('+1') / float('-5.5f')),'result6':(tinyint('+1') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(tinyint('+1') / tinyint('+1')),'result2':(tinyint('+1') / smallint('2')),'result3':(tinyint('+1') / integer('+3')),'result4':(tinyint('+1') / bigint('-4')),'result5':(tinyint('+1') / float('-5.5f')),'result6':(tinyint('+1') / double('-6.5d')),'result7':(tinyint('-6') / null), 'result8':tinyint('-6') / {}.a, 'result9': tinyint('1') / 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp
index 5cf4b1b..5d577a9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp
@@ -18,4 +18,4 @@
*/
-{'result1':(tinyint('+1') div tinyint('+1')),'result2':(tinyint('+1') div smallint('2')),'result3':(tinyint('+1') div integer('+3')),'result4':(tinyint('+1') div bigint('-4')),'result5':(tinyint('+1') div float('-5.5f')),'result6':(tinyint('+1') div double('-6.5d')),'result7':(double('-6.5d') div null), 'result8':double('-6.5d') div {}.a};
+{'result1':(tinyint('+1') div tinyint('+1')),'result2':(tinyint('+1') div smallint('2')),'result3':(tinyint('+1') div integer('+3')),'result4':(tinyint('+1') div bigint('-4')),'result5':(tinyint('+1') div float('-5.5f')),'result6':(tinyint('+1') div double('-6.5d')),'result7':(tinyint('-6') div null), 'result8':tinyint('-6') div {}.a, 'result9': tinyint('1') div 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp
index 3b395bc..479e290 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp
@@ -40,6 +40,7 @@
[ 18, isnull(ifinf(double("INF"), double("-INF"), [], 2)) ],
[ 19, ismissing(if_inf(double("INF"), double("-INF"), missing, 2)) ],
[ 20, tostring(ifinf(float("INF"), float("NaN"), 2)) ],
- [ 21, if_inf(2, 1/0) ]
+ [ 21, if_inf(2, 1/0) ],
+ [ 22, if_inf(1/0, 2) ]
] t
order by t[0]
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
index b371d5b..3f20110 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
@@ -1 +1 @@
-{ "result1": -6.5, "result2": -3.25, "result3": -2.1666666666666665, "result4": 1.625, "result5": 1.1818181818181819, "result6": 1.0, "result7": null }
+{ "result1": -6.5, "result2": -3.25, "result3": -2.1666666666666665, "result4": 1.625, "result5": 1.1818181818181819, "result6": 1.0, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
index ccbe5be..560f641 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
@@ -1 +1 @@
-{ "result1": -5.5, "result2": -2.75, "result3": -1.8333334, "result4": 1.375, "result5": 1.0, "result6": 0.8461538461538461, "result7": null }
+{ "result1": -5.5, "result2": -2.75, "result3": -1.8333334, "result4": 1.375, "result5": 1.0, "result6": 0.8461538461538461, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
index 775745b..0e5450b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
@@ -1 +1 @@
-{ "result1": 2.0, "result2": 1.0, "result3": 0.6666666666666666, "result4": -0.5, "result5": -0.36363637, "result6": -0.3076923076923077, "result7": null }
+{ "result1": 2.0, "result2": 1.0, "result3": 0.6666666666666666, "result4": -0.5, "result5": -0.36363637, "result6": -0.3076923076923077, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm
index c3d22c3..c25ec67 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm
@@ -1 +1 @@
-{ "result1": 2, "result2": 1, "result3": 0, "result4": 0, "result5": -0.36363637, "result6": -0.3076923076923077, "result7": null }
\ No newline at end of file
+{ "result1": 2, "result2": 1, "result3": 0, "result4": 0, "result5": -0.36363637, "result6": -0.3076923076923077, "result7": null, "result9": null }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
index 890417b..96e5114 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
@@ -1 +1 @@
-{ "result1": 3.0, "result2": 1.5, "result3": 1.0, "result4": -0.75, "result5": -0.54545456, "result6": -0.46153846153846156, "result7": null }
+{ "result1": 3.0, "result2": 1.5, "result3": 1.0, "result4": -0.75, "result5": -0.54545456, "result6": -0.46153846153846156, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm
index 788a291..9d8efd9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm
@@ -1 +1 @@
-{ "result1": 3, "result2": 1, "result3": 1, "result4": 0, "result5": -0.54545456, "result6": -0.46153846153846156, "result7": null }
\ No newline at end of file
+{ "result1": 3, "result2": 1, "result3": 1, "result4": 0, "result5": -0.54545456, "result6": -0.46153846153846156, "result7": null, "result9": null }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
index 582b44d..5e8ec2c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
@@ -1 +1 @@
-{ "result1": -4.0, "result2": -2.0, "result3": -1.3333333333333333, "result4": 1.0, "result5": 0.72727275, "result6": 0.6153846153846154, "result7": null }
+{ "result1": -4.0, "result2": -2.0, "result3": -1.3333333333333333, "result4": 1.0, "result5": 0.72727275, "result6": 0.6153846153846154, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm
index af75a4e..79799d5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm
@@ -1 +1 @@
-{ "result1": -4, "result2": -2, "result3": -1, "result4": 1, "result5": 0.72727275, "result6": 0.6153846153846154, "result7": null }
\ No newline at end of file
+{ "result1": -4, "result2": -2, "result3": -1, "result4": 1, "result5": 0.72727275, "result6": 0.6153846153846154, "result7": null, "result9": null }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
index 591ed6d..4309a1a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
@@ -1 +1 @@
-{ "result1": 1.0, "result2": 0.5, "result3": 0.3333333333333333, "result4": -0.25, "result5": -0.18181819, "result6": -0.15384615384615385, "result7": null }
+{ "result1": 1.0, "result2": 0.5, "result3": 0.3333333333333333, "result4": -0.25, "result5": -0.18181819, "result6": -0.15384615384615385, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm
index f232ecf..9233e8c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm
@@ -1 +1 @@
-{ "result1": 1, "result2": 0, "result3": 0, "result4": 0, "result5": -0.18181819, "result6": -0.15384615384615385, "result7": null }
\ No newline at end of file
+{ "result1": 1, "result2": 0, "result3": 0, "result4": 0, "result5": -0.18181819, "result6": -0.15384615384615385, "result7": null, "result9": null }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm
index 9f56be4..852db4b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm
@@ -19,4 +19,5 @@
[ 18, true ]
[ 19, true ]
[ 20, "NaN" ]
-[ 21, 2 ]
\ No newline at end of file
+[ 21, 2 ]
+[ 22, null ]
\ No newline at end of file
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
index 4afeef1..d2c8269 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
@@ -1210,8 +1210,8 @@
addPrivateFunction(NUMERIC_SUBTRACT, NumericAddSubMulDivTypeComputer.INSTANCE, true);
addPrivateFunction(NUMERIC_MULTIPLY, NumericAddSubMulDivTypeComputer.INSTANCE, true);
addPrivateFunction(NUMERIC_DIVIDE, NumericDivideTypeComputer.INSTANCE, true);
- addPrivateFunction(NUMERIC_MOD, NumericAddSubMulDivTypeComputer.INSTANCE, true);
- addPrivateFunction(NUMERIC_DIV, NumericAddSubMulDivTypeComputer.INSTANCE, true);
+ addPrivateFunction(NUMERIC_MOD, NumericAddSubMulDivTypeComputer.INSTANCE_NULLABLE, true);
+ addPrivateFunction(NUMERIC_DIV, NumericAddSubMulDivTypeComputer.INSTANCE_NULLABLE, true);
addFunction(NUMERIC_ABS, NumericUnaryFunctionTypeComputer.INSTANCE, true);
addFunction(NUMERIC_ACOS, NumericDoubleOutputFunctionTypeComputer.INSTANCE, true);
addFunction(NUMERIC_ASIN, NumericDoubleOutputFunctionTypeComputer.INSTANCE, true);
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java
index b311b6e..47ad411 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java
@@ -21,6 +21,7 @@
import org.apache.asterix.om.exceptions.IncompatibleTypeException;
import org.apache.asterix.om.typecomputer.base.AbstractResultTypeComputer;
import org.apache.asterix.om.types.ATypeTag;
+import org.apache.asterix.om.types.AUnionType;
import org.apache.asterix.om.types.BuiltinType;
import org.apache.asterix.om.types.IAType;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -28,10 +29,20 @@
import org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression;
public class NumericAddSubMulDivTypeComputer extends AbstractResultTypeComputer {
+ /**
+ * For those functions that do not return NULL if both arguments are not NULL
+ */
+ public static final NumericAddSubMulDivTypeComputer INSTANCE = new NumericAddSubMulDivTypeComputer(false);
- public static final NumericAddSubMulDivTypeComputer INSTANCE = new NumericAddSubMulDivTypeComputer();
+ /**
+ * For those functions that may return NULL even if both arguments are not NULL (e.g. division by zero)
+ */
+ public static final NumericAddSubMulDivTypeComputer INSTANCE_NULLABLE = new NumericAddSubMulDivTypeComputer(true);
- private NumericAddSubMulDivTypeComputer() {
+ private final boolean nullable;
+
+ private NumericAddSubMulDivTypeComputer(boolean nullable) {
+ this.nullable = nullable;
}
@Override
@@ -303,6 +314,11 @@
default:
throw new IncompatibleTypeException(funcExpr.getSourceLocation(), funcName, tag1, tag2);
}
+
+ if (nullable && type.getTypeTag() != ATypeTag.ANY) {
+ type = AUnionType.createNullableType(type);
+ }
+
return type;
}
}
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java
index 5e2ebae..c94a22b 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java
@@ -22,6 +22,7 @@
import org.apache.asterix.om.exceptions.IncompatibleTypeException;
import org.apache.asterix.om.typecomputer.base.AbstractResultTypeComputer;
import org.apache.asterix.om.types.ATypeTag;
+import org.apache.asterix.om.types.AUnionType;
import org.apache.asterix.om.types.BuiltinType;
import org.apache.asterix.om.types.IAType;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -232,6 +233,12 @@
default:
throw new IncompatibleTypeException(funcExpr.getSourceLocation(), funcName, tag1, tag2);
}
+
+ if (type.getTypeTag() != ATypeTag.ANY) {
+ // returns NULL if division by 0
+ type = AUnionType.createNullableType(type);
+ }
+
return type;
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java
index b6cec11..64543da 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java
@@ -43,6 +43,7 @@
import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.base.AMutableInt8;
import org.apache.asterix.om.base.AMutableTime;
+import org.apache.asterix.om.base.ANull;
import org.apache.asterix.om.base.temporal.GregorianCalendarSystem;
import org.apache.asterix.om.types.ATypeTag;
import org.apache.asterix.om.types.BuiltinType;
@@ -66,32 +67,50 @@
@SuppressWarnings("serial")
public abstract class AbstractNumericArithmeticEval extends AbstractScalarFunctionDynamicDescriptor {
- abstract protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException;
+ /**
+ * abstract method for arithmetic operation between two integer values
+ *
+ * @param lhs first operand
+ * @param rhs second operand
+ * @param result result holder
+ * @return {@code false} if the result is {@code NULL}, otherwise {@code true}
+ */
+ abstract protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException;
- abstract protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException;
+ /**
+ * abstract method for arithmetic operation between two floating point values
+
+ * @param lhs first operand
+ * @param rhs second operand
+ * @param result result holder
+ * @return {@code false} if the result is {@code NULL}, otherwise {@code true}
+ */
+ abstract protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result)
+ throws HyracksDataException;
/**
* abstract method for arithmetic operation between a time instance (date/time/datetime)
* and a duration (duration/year-month-duration/day-time-duration)
*
- * @param chronon
- * @param yearMonth
- * @param dayTime
- * @return
- * @throws HyracksDataException
+ * @param chronon first operand
+ * @param yearMonth year-month component of the second operand
+ * @param dayTime day-time component of the second operand
+ * @param result result holder
+ * @return {@code false} if the result is {@code NULL}, otherwise {@code true}
*/
- abstract protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime,
- boolean isTimeOnly) throws HyracksDataException;
+ abstract protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime,
+ boolean isTimeOnly, AMutableInt64 result) throws HyracksDataException;
/**
* abstract method for arithmetic operation between two time instances (date/time/datetime)
*
- * @param chronon0
- * @param chronon1
- * @return
- * @throws HyracksDataException
+ * @param chronon0 first operand
+ * @param chronon1 second operand
+ * @param result result holder
+ * @return {@code false} if the result is {@code NULL}, otherwise {@code true}
*/
- abstract protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException;
+ abstract protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException;
@Override
public IScalarEvaluatorFactory createEvaluatorFactory(final IScalarEvaluatorFactory[] args) {
@@ -153,6 +172,9 @@
@SuppressWarnings("rawtypes")
private final ISerializerDeserializer durationSerde =
SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.ADURATION);
+ @SuppressWarnings("rawtypes")
+ private final ISerializerDeserializer nullSerde =
+ SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.ANULL);
@Override
@SuppressWarnings("unchecked")
@@ -232,58 +254,78 @@
double dres;
switch (resultType) {
case TINYINT:
- lres = evaluateInteger(operandsInteger[0], operandsInteger[1]);
- if (lres > Byte.MAX_VALUE) {
- throw new OverflowException(sourceLoc, getIdentifier());
+ if (evaluateInteger(operandsInteger[0], operandsInteger[1], aInt64)) {
+ lres = aInt64.getLongValue();
+ if (lres > Byte.MAX_VALUE) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
+ if (lres < Byte.MIN_VALUE) {
+ throw new UnderflowException(sourceLoc, getIdentifier());
+ }
+ aInt8.setValue((byte) lres);
+ int8Serde.serialize(aInt8, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
}
- if (lres < Byte.MIN_VALUE) {
- throw new UnderflowException(sourceLoc, getIdentifier());
- }
- aInt8.setValue((byte) lres);
- int8Serde.serialize(aInt8, out);
break;
case SMALLINT:
- lres = evaluateInteger(operandsInteger[0], operandsInteger[1]);
- if (lres > Short.MAX_VALUE) {
- throw new OverflowException(sourceLoc, getIdentifier());
+ if (evaluateInteger(operandsInteger[0], operandsInteger[1], aInt64)) {
+ lres = aInt64.getLongValue();
+ if (lres > Short.MAX_VALUE) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
+ if (lres < Short.MIN_VALUE) {
+ throw new UnderflowException(sourceLoc, getIdentifier());
+ }
+ aInt16.setValue((short) lres);
+ int16Serde.serialize(aInt16, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
}
- if (lres < Short.MIN_VALUE) {
- throw new UnderflowException(sourceLoc, getIdentifier());
- }
- aInt16.setValue((short) lres);
- int16Serde.serialize(aInt16, out);
break;
case INTEGER:
- lres = evaluateInteger(operandsInteger[0], operandsInteger[1]);
- if (lres > Integer.MAX_VALUE) {
- throw new OverflowException(sourceLoc, getIdentifier());
+ if (evaluateInteger(operandsInteger[0], operandsInteger[1], aInt64)) {
+ lres = aInt64.getLongValue();
+ if (lres > Integer.MAX_VALUE) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
+ if (lres < Integer.MIN_VALUE) {
+ throw new UnderflowException(sourceLoc, getIdentifier());
+ }
+ aInt32.setValue((int) lres);
+ int32Serde.serialize(aInt32, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
}
- if (lres < Integer.MIN_VALUE) {
- throw new UnderflowException(sourceLoc, getIdentifier());
- }
- aInt32.setValue((int) lres);
- int32Serde.serialize(aInt32, out);
break;
case BIGINT:
- lres = evaluateInteger(operandsInteger[0], operandsInteger[1]);
- aInt64.setValue(lres);
- int64Serde.serialize(aInt64, out);
+ if (evaluateInteger(operandsInteger[0], operandsInteger[1], aInt64)) {
+ int64Serde.serialize(aInt64, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
+ }
break;
case FLOAT:
- dres = evaluateDouble(operandsFloating[0], operandsFloating[1]);
- if (dres > Float.MAX_VALUE) {
- throw new OverflowException(sourceLoc, getIdentifier());
+ if (evaluateDouble(operandsFloating[0], operandsFloating[1], aDouble)) {
+ dres = aDouble.getDoubleValue();
+ if (dres > Float.MAX_VALUE) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
+ if (dres < -Float.MAX_VALUE) {
+ throw new UnderflowException(sourceLoc, getIdentifier());
+ }
+ aFloat.setValue((float) dres);
+ floatSerde.serialize(aFloat, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
}
- if (dres < -Float.MAX_VALUE) {
- throw new UnderflowException(sourceLoc, getIdentifier());
- }
- aFloat.setValue((float) dres);
- floatSerde.serialize(aFloat, out);
break;
case DOUBLE:
- dres = evaluateDouble(operandsFloating[0], operandsFloating[1]);
- aDouble.setValue(dres);
- doubleSerde.serialize(aDouble, out);
+ if (evaluateDouble(operandsFloating[0], operandsFloating[1], aDouble)) {
+ doubleSerde.serialize(aDouble, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
+ }
break;
}
result.set(resultStorage);
@@ -298,10 +340,9 @@
int offset0 = argPtr0.getStartOffset();
if (rightType == leftType) {
-
- long leftChronon = 0, rightChronon = 0, dayTime;
-
+ long leftChronon = 0, rightChronon = 0, dayTime = 0;
int yearMonth = 0;
+ boolean yearMonthIsNull = false, dayTimeIsNull = false;
switch (leftType) {
case DATE:
@@ -319,9 +360,14 @@
rightChronon = ADateTimeSerializerDeserializer.getChronon(bytes1, offset1 + 1);
break;
case YEARMONTHDURATION:
- yearMonth = (int) evaluateTimeInstanceArithmetic(
+ if (evaluateTimeInstanceArithmetic(
AYearMonthDurationSerializerDeserializer.getYearMonth(bytes0, offset0 + 1),
- AYearMonthDurationSerializerDeserializer.getYearMonth(bytes1, offset1 + 1));
+ AYearMonthDurationSerializerDeserializer.getYearMonth(bytes1, offset1 + 1),
+ aInt64)) {
+ yearMonth = (int) aInt64.getLongValue();
+ } else {
+ yearMonthIsNull = true;
+ }
break;
case DAYTIMEDURATION:
leftChronon =
@@ -333,10 +379,18 @@
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), bytes1[offset1]);
}
- dayTime = evaluateTimeInstanceArithmetic(leftChronon, rightChronon);
+ if (evaluateTimeInstanceArithmetic(leftChronon, rightChronon, aInt64)) {
+ dayTime = aInt64.getLongValue();
+ } else {
+ dayTimeIsNull = true;
+ }
- aDuration.setValue(yearMonth, dayTime);
- durationSerde.serialize(aDuration, out);
+ if (yearMonthIsNull || dayTimeIsNull) {
+ nullSerde.serialize(ANull.NULL, out);
+ } else {
+ aDuration.setValue(yearMonth, dayTime);
+ durationSerde.serialize(aDuration, out);
+ }
} else {
long chronon = 0, dayTime = 0;
@@ -455,29 +509,34 @@
bytes1[offset1]);
}
- chronon = evaluateTimeDurationArithmetic(chronon, yearMonth, dayTime, isTimeOnly);
-
- switch (resultType) {
- case DATE:
- if (chronon < 0 && chronon % GregorianCalendarSystem.CHRONON_OF_DAY != 0) {
- chronon = chronon / GregorianCalendarSystem.CHRONON_OF_DAY - 1;
- } else {
- chronon = chronon / GregorianCalendarSystem.CHRONON_OF_DAY;
- }
- aDate.setValue((int) chronon);
- serde.serialize(aDate, out);
- break;
- case TIME:
- aTime.setValue((int) chronon);
- serde.serialize(aTime, out);
- break;
- case DATETIME:
- aDatetime.setValue(chronon);
- serde.serialize(aDatetime, out);
- break;
- default:
- throw new IncompatibleTypeException(sourceLoc, getIdentifier(), bytes0[offset0],
- bytes1[offset1]);
+ boolean eres =
+ evaluateTimeDurationArithmetic(chronon, yearMonth, dayTime, isTimeOnly, aInt64);
+ if (eres) {
+ chronon = aInt64.getLongValue();
+ switch (resultType) {
+ case DATE:
+ if (chronon < 0 && chronon % GregorianCalendarSystem.CHRONON_OF_DAY != 0) {
+ chronon = chronon / GregorianCalendarSystem.CHRONON_OF_DAY - 1;
+ } else {
+ chronon = chronon / GregorianCalendarSystem.CHRONON_OF_DAY;
+ }
+ aDate.setValue((int) chronon);
+ serde.serialize(aDate, out);
+ break;
+ case TIME:
+ aTime.setValue((int) chronon);
+ serde.serialize(aTime, out);
+ break;
+ case DATETIME:
+ aDatetime.setValue(chronon);
+ serde.serialize(aDatetime, out);
+ break;
+ default:
+ throw new IncompatibleTypeException(sourceLoc, getIdentifier(), bytes0[offset0],
+ bytes1[offset1]);
+ }
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
}
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
index f64b829..9b8ffeb 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
@@ -18,11 +18,14 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.base.temporal.DurationArithmeticOperations;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
import org.apache.asterix.om.types.ATypeTag;
+import org.apache.asterix.runtime.exceptions.OverflowException;
import org.apache.asterix.runtime.exceptions.UnsupportedTypeException;
import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -42,23 +45,34 @@
}
@Override
- protected long evaluateInteger(long x, long y) throws HyracksDataException {
- return Math.addExact(x, y);
+ protected boolean evaluateInteger(long x, long y, AMutableInt64 result) throws HyracksDataException {
+ try {
+ long res = Math.addExact(x, y);
+ result.setValue(res);
+ return true;
+ } catch (ArithmeticException e) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
}
@Override
- protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- return lhs + rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) throws HyracksDataException {
+ double res = lhs + rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly)
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) throws HyracksDataException {
+ long res = DurationArithmeticOperations.addDuration(chronon, yearMonth, dayTime, isTimeOnly);
+ result.setValue(res);
+ return true;
+ }
+
+ @Override
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
throws HyracksDataException {
- return DurationArithmeticOperations.addDuration(chronon, yearMonth, dayTime, isTimeOnly);
- }
-
- @Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java
index 56d90f7..2eeefe8 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java
@@ -19,8 +19,8 @@
package org.apache.asterix.runtime.evaluators.functions;
-import org.apache.asterix.common.exceptions.ErrorCode;
-import org.apache.asterix.common.exceptions.RuntimeDataException;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
@@ -46,28 +46,37 @@
}
@Override
- protected double evaluateDouble(double lhs, double rhs) {
- return lhs / rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) {
+ if (rhs == 0) {
+ return false; // result = NULL
+ }
+ double res = lhs / rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException {
if (rhs == 0) {
- throw new RuntimeDataException(ErrorCode.DIVISION_BY_ZERO);
+ return false; // result = NULL
}
if ((lhs == Long.MIN_VALUE) && (rhs == -1L)) {
throw new OverflowException(sourceLoc, getIdentifier());
}
- return lhs / rhs;
+ long res = lhs / rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly) {
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) {
throw new NotImplementedException("Divide operation is not defined for temporal types");
}
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
index 0c1a3eb..6e6b5a8 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
@@ -18,6 +18,8 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
@@ -47,22 +49,29 @@
}
@Override
- protected double evaluateDouble(double lhs, double rhs) {
- return lhs / rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) {
+ if (rhs == 0) {
+ return false; // result = NULL
+ }
+ double res = lhs / rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateInteger(long lhs, long rhs) {
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) {
throw new IllegalStateException();
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly) {
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) {
throw new NotImplementedException("Divide operation is not defined for temporal types");
}
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java
index a967162..e737841 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java
@@ -18,6 +18,8 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
@@ -43,23 +45,34 @@
}
@Override
- protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- return lhs % rhs;
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException {
+ if (rhs == 0) {
+ return false; // result = NULL
+ }
+ long res = lhs % rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- return lhs % rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) throws HyracksDataException {
+ if (rhs == 0) {
+ return false; // result = NULL
+ }
+ double res = lhs % rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly)
- throws HyracksDataException {
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_DURATION_TYPE_TAG);
}
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
index 57de132..64fa2b2 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
@@ -18,10 +18,13 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
import org.apache.asterix.om.types.ATypeTag;
+import org.apache.asterix.runtime.exceptions.OverflowException;
import org.apache.asterix.runtime.exceptions.UnsupportedTypeException;
import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -41,23 +44,32 @@
}
@Override
- protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- return Math.multiplyExact(lhs, rhs);
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException {
+ try {
+ long res = Math.multiplyExact(lhs, rhs);
+ result.setValue(res);
+ return true;
+ } catch (ArithmeticException e) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
}
@Override
- protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- return lhs * rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) throws HyracksDataException {
+ double res = lhs * rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly)
- throws HyracksDataException {
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_DURATION_TYPE_TAG);
}
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java
index a5312b9..68ed6e8 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java
@@ -18,6 +18,8 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
@@ -43,19 +45,27 @@
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateInteger(long, long)
*/
@Override
- protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException {
if (rhs > Integer.MAX_VALUE) {
throw new OverflowException(sourceLoc, getIdentifier());
}
- return LongMath.checkedPow(lhs, (int) rhs);
+ try {
+ long res = LongMath.checkedPow(lhs, (int) rhs);
+ result.setValue(res);
+ return true;
+ } catch (ArithmeticException e) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
}
/* (non-Javadoc)
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateDouble(double, double)
*/
@Override
- protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- return Math.pow(lhs, rhs);
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) throws HyracksDataException {
+ double res = Math.pow(lhs, rhs);
+ result.setValue(res);
+ return true;
}
/* (non-Javadoc)
@@ -67,14 +77,14 @@
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly)
- throws HyracksDataException {
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier().getName(), ATypeTag.SERIALIZED_DURATION_TYPE_TAG);
}
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier().getName(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
-
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
index f694226..30f6dda 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
@@ -18,10 +18,13 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.base.temporal.DurationArithmeticOperations;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.exceptions.OverflowException;
import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -43,33 +46,43 @@
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateInteger(long, long)
*/
@Override
- protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- return Math.subtractExact(lhs, rhs);
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException {
+ try {
+ long res = Math.subtractExact(lhs, rhs);
+ result.setValue(res);
+ return true;
+ } catch (ArithmeticException e) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
}
/* (non-Javadoc)
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateDouble(double, double)
*/
@Override
- protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- return lhs - rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) throws HyracksDataException {
+ double res = lhs - rhs;
+ result.setValue(res);
+ return true;
}
/* (non-Javadoc)
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateTimeDurationArithmetic(long, int, long, boolean)
*/
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly)
- throws HyracksDataException {
- return DurationArithmeticOperations.addDuration(chronon, -1 * yearMonth, -1 * dayTime, isTimeOnly);
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) throws HyracksDataException {
+ long res = DurationArithmeticOperations.addDuration(chronon, -1 * yearMonth, -1 * dayTime, isTimeOnly);
+ result.setValue(res);
+ return true;
}
/* (non-Javadoc)
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateTimeInstanceArithmetic(long, long)
*/
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
- return evaluateInteger(chronon0, chronon1);
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
+ return evaluateInteger(chronon0, chronon1, result);
}
-
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/9595/ (2/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/4502/ (13/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6979/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/4655/ (8/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/4090/ (3/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/4120/ (7/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/4067/ (2/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/4311/ (9/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/9562/ (3/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Till Westmann (Code Review)" <do...@asterixdb.incubator.apache.org>.
Till Westmann has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7: Code-Review+2
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/2116/ (5/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Dmitry Lychagin (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Anon. E. Moose #1000171, Jenkins,
I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/2813
to look at the new patch set (#3).
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
[ASTERIXDB-2423][RT] Division by zero should return NULL
- user model changes: yes
- storage format changes: no
- interface changes: no
Details:
- Make DIV, /, MOD operators return NULL if the divisor is 0
- Add test case for if_inf() function
Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
---
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_double/divide_double.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_float/divide_float.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.2.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.2.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.2.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.2.ast
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
53 files changed, 479 insertions(+), 207 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/13/2813/3
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/9576/ (3/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage-jre10/371/ (6/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3471/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2: Integration-Tests+1
Integration Tests Successful
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6952/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/4053/ (1/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1: Contrib-2
Analytics Compatibility Tests Failed
https://goo.gl/5Y9AQP : UNSTABLE
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/9563/ (6/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/4645/ (3/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/4092/ (1/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage-jre10/386/ (7/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/4033/ (9/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage-jre10/378/ (6/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/4639/ (10/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/4017/ (3/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/4322/ (6/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/4106/ (1/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5: Contrib+1
Analytics Compatibility Tests Successful
https://goo.gl/xC9U11 : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6: Contrib-2
Analytics Compatibility Compilation Failed
https://goo.gl/MPtbN3 : UNSTABLE
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/4016/ (9/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/8042/ (4/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/4089/ (8/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/4651/ (1/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/4091/ (10/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/8028/ (5/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Analytics Compatibility Tests Failed
https://goo.gl/gdc2NS : UNSTABLE
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/4098/ (10/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6957/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/4085/ (3/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6963/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/2108/ (5/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/4104/ (2/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage-jre10/382/ (4/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/4534/ (12/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/2101/ (5/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Dmitry Lychagin (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,
I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/2813
to look at the new patch set (#2).
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
[ASTERIXDB-2423][RT] Division by zero should return NULL
- user model changes: yes
- storage format changes: no
- interface changes: no
Details:
- Make DIV, /, MOD operators return NULL if the divisor is 0
- Add test case for if_inf() function
Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
---
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
43 files changed, 337 insertions(+), 175 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/13/2813/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7: Contrib+1
BAD Compatibility Tests Successful
https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3478/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6966/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/8041/ (5/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Analytics Compatibility Compilation Successful
https://goo.gl/1sJXnd : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7: Contrib-2
Analytics Compatibility Compilation Failed
https://goo.gl/YqsHvx : UNSTABLE
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/4105/ (1/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/9577/ (6/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6: Contrib+1
BAD Compatibility Tests Successful
https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3473/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/2115/ (6/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6967/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/2112/ (9/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Analytics Compatibility Tests Failed
https://goo.gl/kB3VkK : UNSTABLE
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage-jre10/385/ (7/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/4676/ (13/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/4553/ (12/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/8027/ (2/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6: Integration-Tests+1
Integration Tests Successful
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6967/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/8058/ (1/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-java10/355/ (11/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3: Contrib-2
Analytics Compatibility Tests Failed
https://goo.gl/FEo6zi : UNSTABLE
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/4068/ (9/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Analytics Compatibility Compilation Successful
https://goo.gl/YBQvi8 : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/4654/ (4/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/4312/ (9/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-java10/367/ (11/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3: Integration-Tests+1
Integration Tests Successful
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6957/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/4096/ (7/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/4003/ (4/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/8038/ (2/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/4054/ (2/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/4648/ (13/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/4342/ (8/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Analytics Compatibility Compilation Failed
https://goo.gl/nW6YW8 : UNSTABLE
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/4526/ (13/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/2132/ (5/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-java10/352/ (11/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/4541/ (12/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6951/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/4507/ (13/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7: -Contrib
Analytics Compatibility Compilation Successful
https://goo.gl/Fxbd8J : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Dmitry Lychagin (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Anon. E. Moose #1000171, Jenkins,
I'd like you to reexamine a change. Please visit
https://asterix-gerrit.ics.uci.edu/2813
to look at the new patch set (#4).
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
[ASTERIXDB-2423][RT] Division by zero should return NULL
- user model changes: yes
- storage format changes: no
- interface changes: no
Details:
- Make DIV, /, MOD operators return NULL if the divisor is 0
- Add test case for if_inf() function
Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
---
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_double/divide_double.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_float/divide_float.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.2.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.2.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.2.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.2.ast
M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
55 files changed, 479 insertions(+), 209 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/13/2813/4
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/4326/ (10/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Analytics Compatibility Compilation Successful
https://goo.gl/Lg7GWs : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5: Contrib-2
Analytics Compatibility Tests Failed
https://goo.gl/o49b4d : UNSTABLE
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/4002/ (7/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/4064/ (10/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2: Contrib-2
Analytics Compatibility Tests Failed
https://goo.gl/E3NLXv : UNSTABLE
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/4672/ (4/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/4013/ (8/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3: Contrib+1
BAD Compatibility Tests Successful
https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3471/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/4009/ (9/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage-jre10/402/ (6/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/4103/ (8/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/4123/ (10/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/9569/ (2/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/4060/ (1/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/9573/ (3/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 5:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/4325/ (10/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6952/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Analytics Compatibility Compilation Successful
https://goo.gl/RopPJB : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Analytics Compatibility Compilation Successful
https://goo.gl/JhRTbQ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-java10/348/ (11/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/4102/ (5/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3473/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Dmitry Lychagin (Code Review)" <do...@asterixdb.incubator.apache.org>.
Dmitry Lychagin has submitted this change and it was merged.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
[ASTERIXDB-2423][RT] Division by zero should return NULL
- user model changes: yes
- storage format changes: no
- interface changes: no
Details:
- Make DIV, /, MOD operators return NULL if the divisor is 0
- Add test case for if_inf() function
Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2813
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <ti...@apache.org>
---
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_double/divide_double.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_float/divide_float.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.2.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.2.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.2.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.1.ast
M asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.2.ast
M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
M asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
55 files changed, 479 insertions(+), 209 deletions(-)
Approvals:
Anon. E. Moose #1000171:
Till Westmann: Looks good to me, approved
Jenkins: Verified; ; Verified
Objections:
Jenkins: Violations found
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql
index 62b1112..f86aae9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_double/divide_double.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c6/$c1,"result2": $c6/$c2,"result3": $c6/$c3,"result4": $c6/$c4,"result5": $c6/$c5, "result6": $c6/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c6/$c1,"result2": $c6/$c2,"result3": $c6/$c3,"result4": $c6/$c4,"result5": $c6/$c5, "result6": $c6/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql
index 0f938e3..dde8291 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_float/divide_float.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c5/$c1,"result2": $c5/$c2,"result3": $c5/$c3,"result4": $c5/$c4,"result5": $c5/$c5, "result6": $c5/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c5/$c1,"result2": $c5/$c2,"result3": $c5/$c3,"result4": $c5/$c4,"result5": $c5/$c5, "result6": $c5/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql
index 17f19c0..e4993d4 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c2/$c1,"result2": $c2/$c2,"result3": $c2/$c3,"result4": $c2/$c4,"result5": $c2/$c5, "result6": $c2/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c2/$c1,"result2": $c2/$c2,"result3": $c2/$c3,"result4": $c2/$c4,"result5": $c2/$c5, "result6": $c2/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql
index b59be3b..1771d70 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int16/divide_int16.2.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c2 div $c1,"result2": $c2 div $c2,"result3": $c2 div $c3,"result4": $c2 div $c4,"result5": $c2 div $c5, "result6": $c2 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1]}
+return {"result1": $c2 div $c1,"result2": $c2 div $c2,"result3": $c2 div $c3,"result4": $c2 div $c4,"result5": $c2 div $c5, "result6": $c2 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql
index 0026e24..e9adbc2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c3/$c1,"result2": $c3/$c2,"result3": $c3/$c3,"result4": $c3/$c4,"result5": $c3/$c5, "result6": $c3/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c3/$c1,"result2": $c3/$c2,"result3": $c3/$c3,"result4": $c3/$c4,"result5": $c3/$c5, "result6": $c3/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql
index d8ad04a..349211a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int32/divide_int32.2.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c3 div $c1,"result2": $c3 div $c2,"result3": $c3 div $c3,"result4": $c3 div $c4,"result5": $c3 div $c5, "result6": $c3 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1]}
+return {"result1": $c3 div $c1,"result2": $c3 div $c2,"result3": $c3 div $c3,"result4": $c3 div $c4,"result5": $c3 div $c5, "result6": $c3 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql
index b3e11be..b7b99a7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c4/$c1,"result2": $c4/$c2,"result3": $c4/$c3,"result4": $c4/$c4,"result5": $c4/$c5, "result6": $c4/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c4/$c1,"result2": $c4/$c2,"result3": $c4/$c3,"result4": $c4/$c4,"result5": $c4/$c5, "result6": $c4/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql
index 32c72ed..c6694a6 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int64/divide_int64.2.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c4 div $c1,"result2": $c4 div $c2,"result3": $c4 div $c3,"result4": $c4 div $c4,"result5": $c4 div $c5, "result6": $c4 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1]}
+return {"result1": $c4 div $c1,"result2": $c4 div $c2,"result3": $c4 div $c3,"result4": $c4 div $c4,"result5": $c4 div $c5, "result6": $c4 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql
index a3cf2ee..afb1488 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.1.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c1/$c1,"result2": $c1/$c2,"result3": $c1/$c3,"result4": $c1/$c4,"result5": $c1/$c5, "result6": $c1/$c6, "result7": $c6/$c8, "result8": $c6/[1][1]}
+return {"result1": $c1/$c1,"result2": $c1/$c2,"result3": $c1/$c3,"result4": $c1/$c4,"result5": $c1/$c5, "result6": $c1/$c6, "result7": $c6/$c8, "result8": $c6/[1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql
index 5adb1b4..07a1910 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries/numeric/divide_int8/divide_int8.2.query.aql
@@ -24,4 +24,4 @@
let $c5 := float("-5.5f")
let $c6 := double("-6.5d")
let $c8 := null
-return {"result1": $c1 div $c1,"result2": $c1 div $c2,"result3": $c1 div $c3,"result4": $c1 div $c4,"result5": $c1 div $c5, "result6": $c1 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1]}
+return {"result1": $c1 div $c1,"result2": $c1 div $c2,"result3": $c1 div $c3,"result4": $c1 div $c4,"result5": $c1 div $c5, "result6": $c1 div $c6, "result7": $c6 div $c8, "result8": $c6 div [1][1], "result9": $c6/0}
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp
index 901be61..31e2399 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_double/divide_double.1.query.sqlpp
@@ -18,4 +18,4 @@
*/
-{'result1':(double('-6.5d') / tinyint('+1')),'result2':(double('-6.5d') / smallint('2')),'result3':(double('-6.5d') / integer('+3')),'result4':(double('-6.5d') / bigint('-4')),'result5':(double('-6.5d') / float('-5.5f')),'result6':(double('-6.5d') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(double('-6.5d') / tinyint('+1')),'result2':(double('-6.5d') / smallint('2')),'result3':(double('-6.5d') / integer('+3')),'result4':(double('-6.5d') / bigint('-4')),'result5':(double('-6.5d') / float('-5.5f')),'result6':(double('-6.5d') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a, 'result9':double('1') / 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp
index 7dfdcd2..107fed1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_float/divide_float.1.query.sqlpp
@@ -17,4 +17,4 @@
* under the License.
*/
-{'result1':(float('-5.5f') / tinyint('+1')),'result2':(float('-5.5f') / smallint('2')),'result3':(float('-5.5f') / integer('+3')),'result4':(float('-5.5f') / bigint('-4')),'result5':(float('-5.5f') / float('-5.5f')),'result6':(float('-5.5f') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(float('-5.5f') / tinyint('+1')),'result2':(float('-5.5f') / smallint('2')),'result3':(float('-5.5f') / integer('+3')),'result4':(float('-5.5f') / bigint('-4')),'result5':(float('-5.5f') / float('-5.5f')),'result6':(float('-5.5f') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a, 'result9':double('1') / 0 };
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp
index b0f315d..1e1237d7 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.1.query.sqlpp
@@ -17,4 +17,4 @@
* under the License.
*/
-{'result1':(smallint('2') / tinyint('+1')),'result2':(smallint('2') / smallint('2')),'result3':(smallint('2') / integer('+3')),'result4':(smallint('2') / bigint('-4')),'result5':(smallint('2') / float('-5.5f')),'result6':(smallint('2') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(smallint('2') / tinyint('+1')),'result2':(smallint('2') / smallint('2')),'result3':(smallint('2') / integer('+3')),'result4':(smallint('2') / bigint('-4')),'result5':(smallint('2') / float('-5.5f')),'result6':(smallint('2') / double('-6.5d')),'result7':(smallint('-6') / null), 'result8':smallint('-6') / {}.a, 'result9': smallint('1') / 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp
index cca3dcf..f5bf6fe 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int16/divide_int16.2.query.sqlpp
@@ -17,4 +17,4 @@
* under the License.
*/
-{'result1':(smallint('2') div tinyint('+1')),'result2':(smallint('2') div smallint('2')),'result3':(smallint('2') div integer('+3')),'result4':(smallint('2') div bigint('-4')),'result5':(smallint('2') div float('-5.5f')),'result6':(smallint('2') div double('-6.5d')),'result7':(double('-6.5d') div null), 'result8':double('-6.5d') div {}.a};
+{'result1':(smallint('2') div tinyint('+1')),'result2':(smallint('2') div smallint('2')),'result3':(smallint('2') div integer('+3')),'result4':(smallint('2') div bigint('-4')),'result5':(smallint('2') div float('-5.5f')),'result6':(smallint('2') div double('-6.5d')),'result7':(smallint('-6') div null), 'result8':smallint('-6') div {}.a, 'result9': smallint('1') div 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp
index 4a9810d..3e22be1 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.1.query.sqlpp
@@ -18,4 +18,4 @@
*/
-{'result1':(integer('+3') / tinyint('+1')),'result2':(integer('+3') / smallint('2')),'result3':(integer('+3') / integer('+3')),'result4':(integer('+3') / bigint('-4')),'result5':(integer('+3') / float('-5.5f')),'result6':(integer('+3') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(integer('+3') / tinyint('+1')),'result2':(integer('+3') / smallint('2')),'result3':(integer('+3') / integer('+3')),'result4':(integer('+3') / bigint('-4')),'result5':(integer('+3') / float('-5.5f')),'result6':(integer('+3') / double('-6.5d')),'result7':(integer('-6') / null), 'result8':integer('-6') / {}.a, 'result9': integer('1') / 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp
index 7ce0f9e..dec8444 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int32/divide_int32.2.query.sqlpp
@@ -18,4 +18,4 @@
*/
-{'result1':(integer('+3') div tinyint('+1')),'result2':(integer('+3') div smallint('2')),'result3':(integer('+3') div integer('+3')),'result4':(integer('+3') div bigint('-4')),'result5':(integer('+3') div float('-5.5f')),'result6':(integer('+3') div double('-6.5d')),'result7':(double('-6.5d') div null), 'result8':double('-6.5d') div {}.a};
+{'result1':(integer('+3') div tinyint('+1')),'result2':(integer('+3') div smallint('2')),'result3':(integer('+3') div integer('+3')),'result4':(integer('+3') div bigint('-4')),'result5':(integer('+3') div float('-5.5f')),'result6':(integer('+3') div double('-6.5d')),'result7':(integer('-6') div null), 'result8':integer('-6') div {}.a, 'result9': integer('1') div 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp
index 5b7d8f5..abdbe08 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.1.query.sqlpp
@@ -17,4 +17,4 @@
* under the License.
*/
-{'result1':(bigint('-4') / tinyint('+1')),'result2':(bigint('-4') / smallint('2')),'result3':(bigint('-4') / integer('+3')),'result4':(bigint('-4') / bigint('-4')),'result5':(bigint('-4') / float('-5.5f')),'result6':(bigint('-4') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(bigint('-4') / tinyint('+1')),'result2':(bigint('-4') / smallint('2')),'result3':(bigint('-4') / integer('+3')),'result4':(bigint('-4') / bigint('-4')),'result5':(bigint('-4') / float('-5.5f')),'result6':(bigint('-4') / double('-6.5d')),'result7':(bigint('-6') / null), 'result8':bigint('-6') / {}.a, 'result9': bigint('1') / 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp
index 2f850c2..d3bb58c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int64/divide_int64.2.query.sqlpp
@@ -17,4 +17,4 @@
* under the License.
*/
-{'result1':(bigint('-4') div tinyint('+1')),'result2':(bigint('-4') div smallint('2')),'result3':(bigint('-4') div integer('+3')),'result4':(bigint('-4') div bigint('-4')),'result5':(bigint('-4') div float('-5.5f')),'result6':(bigint('-4') div double('-6.5d')),'result7':(double('-6.5d') div null), 'result8':double('-6.5d') div {}.a};
+{'result1':(bigint('-4') div tinyint('+1')),'result2':(bigint('-4') div smallint('2')),'result3':(bigint('-4') div integer('+3')),'result4':(bigint('-4') div bigint('-4')),'result5':(bigint('-4') div float('-5.5f')),'result6':(bigint('-4') div double('-6.5d')),'result7':(bigint('-6') div null), 'result8':bigint('-6') div {}.a, 'result9': bigint('1') div 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp
index dd6917d..a4049ae 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.1.query.sqlpp
@@ -18,4 +18,4 @@
*/
-{'result1':(tinyint('+1') / tinyint('+1')),'result2':(tinyint('+1') / smallint('2')),'result3':(tinyint('+1') / integer('+3')),'result4':(tinyint('+1') / bigint('-4')),'result5':(tinyint('+1') / float('-5.5f')),'result6':(tinyint('+1') / double('-6.5d')),'result7':(double('-6.5d') / null), 'result8':double('-6.5d') / {}.a};
+{'result1':(tinyint('+1') / tinyint('+1')),'result2':(tinyint('+1') / smallint('2')),'result3':(tinyint('+1') / integer('+3')),'result4':(tinyint('+1') / bigint('-4')),'result5':(tinyint('+1') / float('-5.5f')),'result6':(tinyint('+1') / double('-6.5d')),'result7':(tinyint('-6') / null), 'result8':tinyint('-6') / {}.a, 'result9': tinyint('1') / 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp
index 5cf4b1b..5d577a9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/divide_int8/divide_int8.2.query.sqlpp
@@ -18,4 +18,4 @@
*/
-{'result1':(tinyint('+1') div tinyint('+1')),'result2':(tinyint('+1') div smallint('2')),'result3':(tinyint('+1') div integer('+3')),'result4':(tinyint('+1') div bigint('-4')),'result5':(tinyint('+1') div float('-5.5f')),'result6':(tinyint('+1') div double('-6.5d')),'result7':(double('-6.5d') div null), 'result8':double('-6.5d') div {}.a};
+{'result1':(tinyint('+1') div tinyint('+1')),'result2':(tinyint('+1') div smallint('2')),'result3':(tinyint('+1') div integer('+3')),'result4':(tinyint('+1') div bigint('-4')),'result5':(tinyint('+1') div float('-5.5f')),'result6':(tinyint('+1') div double('-6.5d')),'result7':(tinyint('-6') div null), 'result8':tinyint('-6') div {}.a, 'result9': tinyint('1') div 0 };
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp
index 3b395bc..479e290 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/numeric/ifinf/ifinf.1.query.sqlpp
@@ -40,6 +40,7 @@
[ 18, isnull(ifinf(double("INF"), double("-INF"), [], 2)) ],
[ 19, ismissing(if_inf(double("INF"), double("-INF"), missing, 2)) ],
[ 20, tostring(ifinf(float("INF"), float("NaN"), 2)) ],
- [ 21, if_inf(2, 1/0) ]
+ [ 21, if_inf(2, 1/0) ],
+ [ 22, if_inf(1/0, 2) ]
] t
order by t[0]
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
index b371d5b..3f20110 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_double/divide_double.1.adm
@@ -1 +1 @@
-{ "result1": -6.5, "result2": -3.25, "result3": -2.1666666666666665, "result4": 1.625, "result5": 1.1818181818181819, "result6": 1.0, "result7": null }
+{ "result1": -6.5, "result2": -3.25, "result3": -2.1666666666666665, "result4": 1.625, "result5": 1.1818181818181819, "result6": 1.0, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
index ccbe5be..560f641 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_float/divide_float.1.adm
@@ -1 +1 @@
-{ "result1": -5.5, "result2": -2.75, "result3": -1.8333334, "result4": 1.375, "result5": 1.0, "result6": 0.8461538461538461, "result7": null }
+{ "result1": -5.5, "result2": -2.75, "result3": -1.8333334, "result4": 1.375, "result5": 1.0, "result6": 0.8461538461538461, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
index 775745b..0e5450b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.1.adm
@@ -1 +1 @@
-{ "result1": 2.0, "result2": 1.0, "result3": 0.6666666666666666, "result4": -0.5, "result5": -0.36363637, "result6": -0.3076923076923077, "result7": null }
+{ "result1": 2.0, "result2": 1.0, "result3": 0.6666666666666666, "result4": -0.5, "result5": -0.36363637, "result6": -0.3076923076923077, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm
index c3d22c3..c25ec67 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int16/divide_int16.2.adm
@@ -1 +1 @@
-{ "result1": 2, "result2": 1, "result3": 0, "result4": 0, "result5": -0.36363637, "result6": -0.3076923076923077, "result7": null }
\ No newline at end of file
+{ "result1": 2, "result2": 1, "result3": 0, "result4": 0, "result5": -0.36363637, "result6": -0.3076923076923077, "result7": null, "result9": null }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
index 890417b..96e5114 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.1.adm
@@ -1 +1 @@
-{ "result1": 3.0, "result2": 1.5, "result3": 1.0, "result4": -0.75, "result5": -0.54545456, "result6": -0.46153846153846156, "result7": null }
+{ "result1": 3.0, "result2": 1.5, "result3": 1.0, "result4": -0.75, "result5": -0.54545456, "result6": -0.46153846153846156, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm
index 788a291..9d8efd9 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int32/divide_int32.2.adm
@@ -1 +1 @@
-{ "result1": 3, "result2": 1, "result3": 1, "result4": 0, "result5": -0.54545456, "result6": -0.46153846153846156, "result7": null }
\ No newline at end of file
+{ "result1": 3, "result2": 1, "result3": 1, "result4": 0, "result5": -0.54545456, "result6": -0.46153846153846156, "result7": null, "result9": null }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
index 582b44d..5e8ec2c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.1.adm
@@ -1 +1 @@
-{ "result1": -4.0, "result2": -2.0, "result3": -1.3333333333333333, "result4": 1.0, "result5": 0.72727275, "result6": 0.6153846153846154, "result7": null }
+{ "result1": -4.0, "result2": -2.0, "result3": -1.3333333333333333, "result4": 1.0, "result5": 0.72727275, "result6": 0.6153846153846154, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm
index af75a4e..79799d5 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int64/divide_int64.2.adm
@@ -1 +1 @@
-{ "result1": -4, "result2": -2, "result3": -1, "result4": 1, "result5": 0.72727275, "result6": 0.6153846153846154, "result7": null }
\ No newline at end of file
+{ "result1": -4, "result2": -2, "result3": -1, "result4": 1, "result5": 0.72727275, "result6": 0.6153846153846154, "result7": null, "result9": null }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
index 591ed6d..4309a1a 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.1.adm
@@ -1 +1 @@
-{ "result1": 1.0, "result2": 0.5, "result3": 0.3333333333333333, "result4": -0.25, "result5": -0.18181819, "result6": -0.15384615384615385, "result7": null }
+{ "result1": 1.0, "result2": 0.5, "result3": 0.3333333333333333, "result4": -0.25, "result5": -0.18181819, "result6": -0.15384615384615385, "result7": null, "result9": null }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm
index f232ecf..9233e8c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/divide_int8/divide_int8.2.adm
@@ -1 +1 @@
-{ "result1": 1, "result2": 0, "result3": 0, "result4": 0, "result5": -0.18181819, "result6": -0.15384615384615385, "result7": null }
\ No newline at end of file
+{ "result1": 1, "result2": 0, "result3": 0, "result4": 0, "result5": -0.18181819, "result6": -0.15384615384615385, "result7": null, "result9": null }
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm
index 9f56be4..852db4b 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/numeric/ifinf/ifinf.1.adm
@@ -19,4 +19,5 @@
[ 18, true ]
[ 19, true ]
[ 20, "NaN" ]
-[ 21, 2 ]
\ No newline at end of file
+[ 21, 2 ]
+[ 22, null ]
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_double/divide_double.1.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_double/divide_double.1.ast
index a2c5adc..67d0694 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_double/divide_double.1.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_double/divide_double.1.ast
@@ -104,4 +104,15 @@
]
]
)
+ (
+ LiteralExpr [STRING] [result9]
+ :
+ OperatorExpr [
+ FunctionCall null.double@1[
+ LiteralExpr [STRING] [1]
+ ]
+ /
+ LiteralExpr [LONG] [0]
+ ]
+ )
]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_float/divide_float.1.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_float/divide_float.1.ast
index 928fc8e..958937c 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_float/divide_float.1.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_float/divide_float.1.ast
@@ -104,4 +104,15 @@
]
]
)
+ (
+ LiteralExpr [STRING] [result9]
+ :
+ OperatorExpr [
+ FunctionCall null.double@1[
+ LiteralExpr [STRING] [1]
+ ]
+ /
+ LiteralExpr [LONG] [0]
+ ]
+ )
]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.1.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.1.ast
index aa1ac9a..21f2d7f 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.1.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.1.ast
@@ -82,8 +82,8 @@
LiteralExpr [STRING] [result7]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int16@1[
+ LiteralExpr [STRING] [-6]
]
/
LiteralExpr [NULL]
@@ -93,8 +93,8 @@
LiteralExpr [STRING] [result8]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int16@1[
+ LiteralExpr [STRING] [-6]
]
/
FieldAccessor [
@@ -104,4 +104,15 @@
]
]
)
+ (
+ LiteralExpr [STRING] [result9]
+ :
+ OperatorExpr [
+ FunctionCall null.int16@1[
+ LiteralExpr [STRING] [1]
+ ]
+ /
+ LiteralExpr [LONG] [0]
+ ]
+ )
]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.2.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.2.ast
index 90fd039..f92b4c2 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.2.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int16/divide_int16.2.ast
@@ -82,8 +82,8 @@
LiteralExpr [STRING] [result7]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int16@1[
+ LiteralExpr [STRING] [-6]
]
div
LiteralExpr [NULL]
@@ -93,8 +93,8 @@
LiteralExpr [STRING] [result8]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int16@1[
+ LiteralExpr [STRING] [-6]
]
div
FieldAccessor [
@@ -104,4 +104,15 @@
]
]
)
+ (
+ LiteralExpr [STRING] [result9]
+ :
+ OperatorExpr [
+ FunctionCall null.int16@1[
+ LiteralExpr [STRING] [1]
+ ]
+ div
+ LiteralExpr [LONG] [0]
+ ]
+ )
]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.1.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.1.ast
index 3b24726..37785cf 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.1.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.1.ast
@@ -82,8 +82,8 @@
LiteralExpr [STRING] [result7]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int32@1[
+ LiteralExpr [STRING] [-6]
]
/
LiteralExpr [NULL]
@@ -93,8 +93,8 @@
LiteralExpr [STRING] [result8]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int32@1[
+ LiteralExpr [STRING] [-6]
]
/
FieldAccessor [
@@ -104,4 +104,15 @@
]
]
)
+ (
+ LiteralExpr [STRING] [result9]
+ :
+ OperatorExpr [
+ FunctionCall null.int32@1[
+ LiteralExpr [STRING] [1]
+ ]
+ /
+ LiteralExpr [LONG] [0]
+ ]
+ )
]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.2.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.2.ast
index 05bd4a7..75eb726 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.2.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int32/divide_int32.2.ast
@@ -82,8 +82,8 @@
LiteralExpr [STRING] [result7]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int32@1[
+ LiteralExpr [STRING] [-6]
]
div
LiteralExpr [NULL]
@@ -93,8 +93,8 @@
LiteralExpr [STRING] [result8]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int32@1[
+ LiteralExpr [STRING] [-6]
]
div
FieldAccessor [
@@ -104,4 +104,15 @@
]
]
)
+ (
+ LiteralExpr [STRING] [result9]
+ :
+ OperatorExpr [
+ FunctionCall null.int32@1[
+ LiteralExpr [STRING] [1]
+ ]
+ div
+ LiteralExpr [LONG] [0]
+ ]
+ )
]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.1.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.1.ast
index 1570f6b..22a3401 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.1.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.1.ast
@@ -82,8 +82,8 @@
LiteralExpr [STRING] [result7]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int64@1[
+ LiteralExpr [STRING] [-6]
]
/
LiteralExpr [NULL]
@@ -93,8 +93,8 @@
LiteralExpr [STRING] [result8]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int64@1[
+ LiteralExpr [STRING] [-6]
]
/
FieldAccessor [
@@ -104,4 +104,15 @@
]
]
)
+ (
+ LiteralExpr [STRING] [result9]
+ :
+ OperatorExpr [
+ FunctionCall null.int64@1[
+ LiteralExpr [STRING] [1]
+ ]
+ /
+ LiteralExpr [LONG] [0]
+ ]
+ )
]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.2.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.2.ast
index 5e1007a..8f295f3 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.2.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int64/divide_int64.2.ast
@@ -82,8 +82,8 @@
LiteralExpr [STRING] [result7]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int64@1[
+ LiteralExpr [STRING] [-6]
]
div
LiteralExpr [NULL]
@@ -93,8 +93,8 @@
LiteralExpr [STRING] [result8]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int64@1[
+ LiteralExpr [STRING] [-6]
]
div
FieldAccessor [
@@ -104,4 +104,15 @@
]
]
)
+ (
+ LiteralExpr [STRING] [result9]
+ :
+ OperatorExpr [
+ FunctionCall null.int64@1[
+ LiteralExpr [STRING] [1]
+ ]
+ div
+ LiteralExpr [LONG] [0]
+ ]
+ )
]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.1.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.1.ast
index 96b5942..2243ace 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.1.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.1.ast
@@ -82,8 +82,8 @@
LiteralExpr [STRING] [result7]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int8@1[
+ LiteralExpr [STRING] [-6]
]
/
LiteralExpr [NULL]
@@ -93,8 +93,8 @@
LiteralExpr [STRING] [result8]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int8@1[
+ LiteralExpr [STRING] [-6]
]
/
FieldAccessor [
@@ -104,4 +104,15 @@
]
]
)
+ (
+ LiteralExpr [STRING] [result9]
+ :
+ OperatorExpr [
+ FunctionCall null.int8@1[
+ LiteralExpr [STRING] [1]
+ ]
+ /
+ LiteralExpr [LONG] [0]
+ ]
+ )
]
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.2.ast b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.2.ast
index 6442d38..f1e7dab 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.2.ast
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results_parser_sqlpp/numeric/divide_int8/divide_int8.2.ast
@@ -82,8 +82,8 @@
LiteralExpr [STRING] [result7]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int8@1[
+ LiteralExpr [STRING] [-6]
]
div
LiteralExpr [NULL]
@@ -93,8 +93,8 @@
LiteralExpr [STRING] [result8]
:
OperatorExpr [
- FunctionCall null.double@1[
- LiteralExpr [STRING] [-6.5d]
+ FunctionCall null.int8@1[
+ LiteralExpr [STRING] [-6]
]
div
FieldAccessor [
@@ -104,4 +104,15 @@
]
]
)
+ (
+ LiteralExpr [STRING] [result9]
+ :
+ OperatorExpr [
+ FunctionCall null.int8@1[
+ LiteralExpr [STRING] [1]
+ ]
+ div
+ LiteralExpr [LONG] [0]
+ ]
+ )
]
diff --git a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
index d8f3f7d..8af1ec7 100644
--- a/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
+++ b/asterixdb/asterix-common/src/main/java/org/apache/asterix/common/exceptions/ErrorCode.java
@@ -74,7 +74,6 @@
public static final int INVALID_TYPE_CASTING_MATH_FUNCTION = 31;
public static final int REJECT_BAD_CLUSTER_STATE = 32;
public static final int REJECT_NODE_UNREGISTERED = 33;
- public static final int DIVISION_BY_ZERO = 34;
public static final int UNSUPPORTED_MULTIPLE_STATEMENTS = 35;
public static final int CANNOT_COMPARE_COMPLEX = 36;
public static final int TYPE_MISMATCH_GENERIC = 37;
diff --git a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
index 4adf979..ee88010 100644
--- a/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
+++ b/asterixdb/asterix-common/src/main/resources/asx_errormsg/en.properties
@@ -69,7 +69,6 @@
31 = Invalid type-casting math function: %1$s for converting %2$s to %3$s
32 = Cannot execute request, cluster is %1$s
33 = Node is not registered with the CC
-34 = Division by zero.
35 = Unsupported multiple statements.
36 = Cannot compare non-primitive values
38 = Input contains different list types
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
index 4afeef1..d2c8269 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
@@ -1210,8 +1210,8 @@
addPrivateFunction(NUMERIC_SUBTRACT, NumericAddSubMulDivTypeComputer.INSTANCE, true);
addPrivateFunction(NUMERIC_MULTIPLY, NumericAddSubMulDivTypeComputer.INSTANCE, true);
addPrivateFunction(NUMERIC_DIVIDE, NumericDivideTypeComputer.INSTANCE, true);
- addPrivateFunction(NUMERIC_MOD, NumericAddSubMulDivTypeComputer.INSTANCE, true);
- addPrivateFunction(NUMERIC_DIV, NumericAddSubMulDivTypeComputer.INSTANCE, true);
+ addPrivateFunction(NUMERIC_MOD, NumericAddSubMulDivTypeComputer.INSTANCE_NULLABLE, true);
+ addPrivateFunction(NUMERIC_DIV, NumericAddSubMulDivTypeComputer.INSTANCE_NULLABLE, true);
addFunction(NUMERIC_ABS, NumericUnaryFunctionTypeComputer.INSTANCE, true);
addFunction(NUMERIC_ACOS, NumericDoubleOutputFunctionTypeComputer.INSTANCE, true);
addFunction(NUMERIC_ASIN, NumericDoubleOutputFunctionTypeComputer.INSTANCE, true);
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java
index b311b6e..47ad411 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericAddSubMulDivTypeComputer.java
@@ -21,6 +21,7 @@
import org.apache.asterix.om.exceptions.IncompatibleTypeException;
import org.apache.asterix.om.typecomputer.base.AbstractResultTypeComputer;
import org.apache.asterix.om.types.ATypeTag;
+import org.apache.asterix.om.types.AUnionType;
import org.apache.asterix.om.types.BuiltinType;
import org.apache.asterix.om.types.IAType;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -28,10 +29,20 @@
import org.apache.hyracks.algebricks.core.algebra.expressions.AbstractFunctionCallExpression;
public class NumericAddSubMulDivTypeComputer extends AbstractResultTypeComputer {
+ /**
+ * For those functions that do not return NULL if both arguments are not NULL
+ */
+ public static final NumericAddSubMulDivTypeComputer INSTANCE = new NumericAddSubMulDivTypeComputer(false);
- public static final NumericAddSubMulDivTypeComputer INSTANCE = new NumericAddSubMulDivTypeComputer();
+ /**
+ * For those functions that may return NULL even if both arguments are not NULL (e.g. division by zero)
+ */
+ public static final NumericAddSubMulDivTypeComputer INSTANCE_NULLABLE = new NumericAddSubMulDivTypeComputer(true);
- private NumericAddSubMulDivTypeComputer() {
+ private final boolean nullable;
+
+ private NumericAddSubMulDivTypeComputer(boolean nullable) {
+ this.nullable = nullable;
}
@Override
@@ -303,6 +314,11 @@
default:
throw new IncompatibleTypeException(funcExpr.getSourceLocation(), funcName, tag1, tag2);
}
+
+ if (nullable && type.getTypeTag() != ATypeTag.ANY) {
+ type = AUnionType.createNullableType(type);
+ }
+
return type;
}
}
diff --git a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java
index 5e2ebae..c94a22b 100644
--- a/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java
+++ b/asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/NumericDivideTypeComputer.java
@@ -22,6 +22,7 @@
import org.apache.asterix.om.exceptions.IncompatibleTypeException;
import org.apache.asterix.om.typecomputer.base.AbstractResultTypeComputer;
import org.apache.asterix.om.types.ATypeTag;
+import org.apache.asterix.om.types.AUnionType;
import org.apache.asterix.om.types.BuiltinType;
import org.apache.asterix.om.types.IAType;
import org.apache.hyracks.algebricks.common.exceptions.AlgebricksException;
@@ -232,6 +233,12 @@
default:
throw new IncompatibleTypeException(funcExpr.getSourceLocation(), funcName, tag1, tag2);
}
+
+ if (type.getTypeTag() != ATypeTag.ANY) {
+ // returns NULL if division by 0
+ type = AUnionType.createNullableType(type);
+ }
+
return type;
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java
index b6cec11..746273f 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/AbstractNumericArithmeticEval.java
@@ -43,6 +43,7 @@
import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.base.AMutableInt8;
import org.apache.asterix.om.base.AMutableTime;
+import org.apache.asterix.om.base.ANull;
import org.apache.asterix.om.base.temporal.GregorianCalendarSystem;
import org.apache.asterix.om.types.ATypeTag;
import org.apache.asterix.om.types.BuiltinType;
@@ -66,32 +67,50 @@
@SuppressWarnings("serial")
public abstract class AbstractNumericArithmeticEval extends AbstractScalarFunctionDynamicDescriptor {
- abstract protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException;
+ /**
+ * abstract method for arithmetic operation between two integer values
+ *
+ * @param lhs first operand
+ * @param rhs second operand
+ * @param result result holder
+ * @return {@code false} if the result is {@code NULL}, otherwise {@code true}
+ */
+ abstract protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException;
- abstract protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException;
+ /**
+ * abstract method for arithmetic operation between two floating point values
+ *
+ * @param lhs first operand
+ * @param rhs second operand
+ * @param result result holder
+ * @return {@code false} if the result is {@code NULL}, otherwise {@code true}
+ */
+ abstract protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result)
+ throws HyracksDataException;
/**
* abstract method for arithmetic operation between a time instance (date/time/datetime)
* and a duration (duration/year-month-duration/day-time-duration)
*
- * @param chronon
- * @param yearMonth
- * @param dayTime
- * @return
- * @throws HyracksDataException
+ * @param chronon first operand
+ * @param yearMonth year-month component of the second operand
+ * @param dayTime day-time component of the second operand
+ * @param result result holder
+ * @return {@code false} if the result is {@code NULL}, otherwise {@code true}
*/
- abstract protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime,
- boolean isTimeOnly) throws HyracksDataException;
+ abstract protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime,
+ boolean isTimeOnly, AMutableInt64 result) throws HyracksDataException;
/**
* abstract method for arithmetic operation between two time instances (date/time/datetime)
*
- * @param chronon0
- * @param chronon1
- * @return
- * @throws HyracksDataException
+ * @param chronon0 first operand
+ * @param chronon1 second operand
+ * @param result result holder
+ * @return {@code false} if the result is {@code NULL}, otherwise {@code true}
*/
- abstract protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException;
+ abstract protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException;
@Override
public IScalarEvaluatorFactory createEvaluatorFactory(final IScalarEvaluatorFactory[] args) {
@@ -153,6 +172,9 @@
@SuppressWarnings("rawtypes")
private final ISerializerDeserializer durationSerde =
SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.ADURATION);
+ @SuppressWarnings("rawtypes")
+ private final ISerializerDeserializer nullSerde =
+ SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(BuiltinType.ANULL);
@Override
@SuppressWarnings("unchecked")
@@ -232,58 +254,78 @@
double dres;
switch (resultType) {
case TINYINT:
- lres = evaluateInteger(operandsInteger[0], operandsInteger[1]);
- if (lres > Byte.MAX_VALUE) {
- throw new OverflowException(sourceLoc, getIdentifier());
+ if (evaluateInteger(operandsInteger[0], operandsInteger[1], aInt64)) {
+ lres = aInt64.getLongValue();
+ if (lres > Byte.MAX_VALUE) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
+ if (lres < Byte.MIN_VALUE) {
+ throw new UnderflowException(sourceLoc, getIdentifier());
+ }
+ aInt8.setValue((byte) lres);
+ int8Serde.serialize(aInt8, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
}
- if (lres < Byte.MIN_VALUE) {
- throw new UnderflowException(sourceLoc, getIdentifier());
- }
- aInt8.setValue((byte) lres);
- int8Serde.serialize(aInt8, out);
break;
case SMALLINT:
- lres = evaluateInteger(operandsInteger[0], operandsInteger[1]);
- if (lres > Short.MAX_VALUE) {
- throw new OverflowException(sourceLoc, getIdentifier());
+ if (evaluateInteger(operandsInteger[0], operandsInteger[1], aInt64)) {
+ lres = aInt64.getLongValue();
+ if (lres > Short.MAX_VALUE) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
+ if (lres < Short.MIN_VALUE) {
+ throw new UnderflowException(sourceLoc, getIdentifier());
+ }
+ aInt16.setValue((short) lres);
+ int16Serde.serialize(aInt16, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
}
- if (lres < Short.MIN_VALUE) {
- throw new UnderflowException(sourceLoc, getIdentifier());
- }
- aInt16.setValue((short) lres);
- int16Serde.serialize(aInt16, out);
break;
case INTEGER:
- lres = evaluateInteger(operandsInteger[0], operandsInteger[1]);
- if (lres > Integer.MAX_VALUE) {
- throw new OverflowException(sourceLoc, getIdentifier());
+ if (evaluateInteger(operandsInteger[0], operandsInteger[1], aInt64)) {
+ lres = aInt64.getLongValue();
+ if (lres > Integer.MAX_VALUE) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
+ if (lres < Integer.MIN_VALUE) {
+ throw new UnderflowException(sourceLoc, getIdentifier());
+ }
+ aInt32.setValue((int) lres);
+ int32Serde.serialize(aInt32, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
}
- if (lres < Integer.MIN_VALUE) {
- throw new UnderflowException(sourceLoc, getIdentifier());
- }
- aInt32.setValue((int) lres);
- int32Serde.serialize(aInt32, out);
break;
case BIGINT:
- lres = evaluateInteger(operandsInteger[0], operandsInteger[1]);
- aInt64.setValue(lres);
- int64Serde.serialize(aInt64, out);
+ if (evaluateInteger(operandsInteger[0], operandsInteger[1], aInt64)) {
+ int64Serde.serialize(aInt64, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
+ }
break;
case FLOAT:
- dres = evaluateDouble(operandsFloating[0], operandsFloating[1]);
- if (dres > Float.MAX_VALUE) {
- throw new OverflowException(sourceLoc, getIdentifier());
+ if (evaluateDouble(operandsFloating[0], operandsFloating[1], aDouble)) {
+ dres = aDouble.getDoubleValue();
+ if (dres > Float.MAX_VALUE) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
+ if (dres < -Float.MAX_VALUE) {
+ throw new UnderflowException(sourceLoc, getIdentifier());
+ }
+ aFloat.setValue((float) dres);
+ floatSerde.serialize(aFloat, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
}
- if (dres < -Float.MAX_VALUE) {
- throw new UnderflowException(sourceLoc, getIdentifier());
- }
- aFloat.setValue((float) dres);
- floatSerde.serialize(aFloat, out);
break;
case DOUBLE:
- dres = evaluateDouble(operandsFloating[0], operandsFloating[1]);
- aDouble.setValue(dres);
- doubleSerde.serialize(aDouble, out);
+ if (evaluateDouble(operandsFloating[0], operandsFloating[1], aDouble)) {
+ doubleSerde.serialize(aDouble, out);
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
+ }
break;
}
result.set(resultStorage);
@@ -298,10 +340,9 @@
int offset0 = argPtr0.getStartOffset();
if (rightType == leftType) {
-
- long leftChronon = 0, rightChronon = 0, dayTime;
-
+ long leftChronon = 0, rightChronon = 0, dayTime = 0;
int yearMonth = 0;
+ boolean yearMonthIsNull = false, dayTimeIsNull = false;
switch (leftType) {
case DATE:
@@ -319,9 +360,14 @@
rightChronon = ADateTimeSerializerDeserializer.getChronon(bytes1, offset1 + 1);
break;
case YEARMONTHDURATION:
- yearMonth = (int) evaluateTimeInstanceArithmetic(
+ if (evaluateTimeInstanceArithmetic(
AYearMonthDurationSerializerDeserializer.getYearMonth(bytes0, offset0 + 1),
- AYearMonthDurationSerializerDeserializer.getYearMonth(bytes1, offset1 + 1));
+ AYearMonthDurationSerializerDeserializer.getYearMonth(bytes1, offset1 + 1),
+ aInt64)) {
+ yearMonth = (int) aInt64.getLongValue();
+ } else {
+ yearMonthIsNull = true;
+ }
break;
case DAYTIMEDURATION:
leftChronon =
@@ -333,10 +379,18 @@
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), bytes1[offset1]);
}
- dayTime = evaluateTimeInstanceArithmetic(leftChronon, rightChronon);
+ if (evaluateTimeInstanceArithmetic(leftChronon, rightChronon, aInt64)) {
+ dayTime = aInt64.getLongValue();
+ } else {
+ dayTimeIsNull = true;
+ }
- aDuration.setValue(yearMonth, dayTime);
- durationSerde.serialize(aDuration, out);
+ if (yearMonthIsNull || dayTimeIsNull) {
+ nullSerde.serialize(ANull.NULL, out);
+ } else {
+ aDuration.setValue(yearMonth, dayTime);
+ durationSerde.serialize(aDuration, out);
+ }
} else {
long chronon = 0, dayTime = 0;
@@ -455,29 +509,32 @@
bytes1[offset1]);
}
- chronon = evaluateTimeDurationArithmetic(chronon, yearMonth, dayTime, isTimeOnly);
-
- switch (resultType) {
- case DATE:
- if (chronon < 0 && chronon % GregorianCalendarSystem.CHRONON_OF_DAY != 0) {
- chronon = chronon / GregorianCalendarSystem.CHRONON_OF_DAY - 1;
- } else {
- chronon = chronon / GregorianCalendarSystem.CHRONON_OF_DAY;
- }
- aDate.setValue((int) chronon);
- serde.serialize(aDate, out);
- break;
- case TIME:
- aTime.setValue((int) chronon);
- serde.serialize(aTime, out);
- break;
- case DATETIME:
- aDatetime.setValue(chronon);
- serde.serialize(aDatetime, out);
- break;
- default:
- throw new IncompatibleTypeException(sourceLoc, getIdentifier(), bytes0[offset0],
- bytes1[offset1]);
+ if (evaluateTimeDurationArithmetic(chronon, yearMonth, dayTime, isTimeOnly, aInt64)) {
+ chronon = aInt64.getLongValue();
+ switch (resultType) {
+ case DATE:
+ if (chronon < 0 && chronon % GregorianCalendarSystem.CHRONON_OF_DAY != 0) {
+ chronon = chronon / GregorianCalendarSystem.CHRONON_OF_DAY - 1;
+ } else {
+ chronon = chronon / GregorianCalendarSystem.CHRONON_OF_DAY;
+ }
+ aDate.setValue((int) chronon);
+ serde.serialize(aDate, out);
+ break;
+ case TIME:
+ aTime.setValue((int) chronon);
+ serde.serialize(aTime, out);
+ break;
+ case DATETIME:
+ aDatetime.setValue(chronon);
+ serde.serialize(aDatetime, out);
+ break;
+ default:
+ throw new IncompatibleTypeException(sourceLoc, getIdentifier(), bytes0[offset0],
+ bytes1[offset1]);
+ }
+ } else {
+ nullSerde.serialize(ANull.NULL, out);
}
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
index f64b829..9b8ffeb 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
@@ -18,11 +18,14 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.base.temporal.DurationArithmeticOperations;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
import org.apache.asterix.om.types.ATypeTag;
+import org.apache.asterix.runtime.exceptions.OverflowException;
import org.apache.asterix.runtime.exceptions.UnsupportedTypeException;
import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -42,23 +45,34 @@
}
@Override
- protected long evaluateInteger(long x, long y) throws HyracksDataException {
- return Math.addExact(x, y);
+ protected boolean evaluateInteger(long x, long y, AMutableInt64 result) throws HyracksDataException {
+ try {
+ long res = Math.addExact(x, y);
+ result.setValue(res);
+ return true;
+ } catch (ArithmeticException e) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
}
@Override
- protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- return lhs + rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) throws HyracksDataException {
+ double res = lhs + rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly)
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) throws HyracksDataException {
+ long res = DurationArithmeticOperations.addDuration(chronon, yearMonth, dayTime, isTimeOnly);
+ result.setValue(res);
+ return true;
+ }
+
+ @Override
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
throws HyracksDataException {
- return DurationArithmeticOperations.addDuration(chronon, yearMonth, dayTime, isTimeOnly);
- }
-
- @Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java
index 56d90f7..2eeefe8 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivDescriptor.java
@@ -19,8 +19,8 @@
package org.apache.asterix.runtime.evaluators.functions;
-import org.apache.asterix.common.exceptions.ErrorCode;
-import org.apache.asterix.common.exceptions.RuntimeDataException;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
@@ -46,28 +46,37 @@
}
@Override
- protected double evaluateDouble(double lhs, double rhs) {
- return lhs / rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) {
+ if (rhs == 0) {
+ return false; // result = NULL
+ }
+ double res = lhs / rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException {
if (rhs == 0) {
- throw new RuntimeDataException(ErrorCode.DIVISION_BY_ZERO);
+ return false; // result = NULL
}
if ((lhs == Long.MIN_VALUE) && (rhs == -1L)) {
throw new OverflowException(sourceLoc, getIdentifier());
}
- return lhs / rhs;
+ long res = lhs / rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly) {
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) {
throw new NotImplementedException("Divide operation is not defined for temporal types");
}
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
index 0c1a3eb..6e6b5a8 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
@@ -18,6 +18,8 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
@@ -47,22 +49,29 @@
}
@Override
- protected double evaluateDouble(double lhs, double rhs) {
- return lhs / rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) {
+ if (rhs == 0) {
+ return false; // result = NULL
+ }
+ double res = lhs / rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateInteger(long lhs, long rhs) {
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) {
throw new IllegalStateException();
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly) {
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) {
throw new NotImplementedException("Divide operation is not defined for temporal types");
}
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java
index a967162..e737841 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericModuloDescriptor.java
@@ -18,6 +18,8 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
@@ -43,23 +45,34 @@
}
@Override
- protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- return lhs % rhs;
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException {
+ if (rhs == 0) {
+ return false; // result = NULL
+ }
+ long res = lhs % rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- return lhs % rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) throws HyracksDataException {
+ if (rhs == 0) {
+ return false; // result = NULL
+ }
+ double res = lhs % rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly)
- throws HyracksDataException {
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_DURATION_TYPE_TAG);
}
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
index 57de132..64fa2b2 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
@@ -18,10 +18,13 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
import org.apache.asterix.om.types.ATypeTag;
+import org.apache.asterix.runtime.exceptions.OverflowException;
import org.apache.asterix.runtime.exceptions.UnsupportedTypeException;
import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -41,23 +44,32 @@
}
@Override
- protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- return Math.multiplyExact(lhs, rhs);
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException {
+ try {
+ long res = Math.multiplyExact(lhs, rhs);
+ result.setValue(res);
+ return true;
+ } catch (ArithmeticException e) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
}
@Override
- protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- return lhs * rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) throws HyracksDataException {
+ double res = lhs * rhs;
+ result.setValue(res);
+ return true;
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly)
- throws HyracksDataException {
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_DURATION_TYPE_TAG);
}
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java
index a5312b9..68ed6e8 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericPowerDescriptor.java
@@ -18,6 +18,8 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
@@ -43,19 +45,27 @@
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateInteger(long, long)
*/
@Override
- protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException {
if (rhs > Integer.MAX_VALUE) {
throw new OverflowException(sourceLoc, getIdentifier());
}
- return LongMath.checkedPow(lhs, (int) rhs);
+ try {
+ long res = LongMath.checkedPow(lhs, (int) rhs);
+ result.setValue(res);
+ return true;
+ } catch (ArithmeticException e) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
}
/* (non-Javadoc)
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateDouble(double, double)
*/
@Override
- protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- return Math.pow(lhs, rhs);
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) throws HyracksDataException {
+ double res = Math.pow(lhs, rhs);
+ result.setValue(res);
+ return true;
}
/* (non-Javadoc)
@@ -67,14 +77,14 @@
}
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly)
- throws HyracksDataException {
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier().getName(), ATypeTag.SERIALIZED_DURATION_TYPE_TAG);
}
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
throw new UnsupportedTypeException(sourceLoc, getIdentifier().getName(), ATypeTag.SERIALIZED_TIME_TYPE_TAG);
}
-
}
diff --git a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
index f694226..30f6dda 100644
--- a/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
+++ b/asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
@@ -18,10 +18,13 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import org.apache.asterix.om.base.AMutableDouble;
+import org.apache.asterix.om.base.AMutableInt64;
import org.apache.asterix.om.base.temporal.DurationArithmeticOperations;
import org.apache.asterix.om.functions.BuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
+import org.apache.asterix.runtime.exceptions.OverflowException;
import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.api.exceptions.HyracksDataException;
@@ -43,33 +46,43 @@
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateInteger(long, long)
*/
@Override
- protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- return Math.subtractExact(lhs, rhs);
+ protected boolean evaluateInteger(long lhs, long rhs, AMutableInt64 result) throws HyracksDataException {
+ try {
+ long res = Math.subtractExact(lhs, rhs);
+ result.setValue(res);
+ return true;
+ } catch (ArithmeticException e) {
+ throw new OverflowException(sourceLoc, getIdentifier());
+ }
}
/* (non-Javadoc)
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateDouble(double, double)
*/
@Override
- protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- return lhs - rhs;
+ protected boolean evaluateDouble(double lhs, double rhs, AMutableDouble result) throws HyracksDataException {
+ double res = lhs - rhs;
+ result.setValue(res);
+ return true;
}
/* (non-Javadoc)
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateTimeDurationArithmetic(long, int, long, boolean)
*/
@Override
- protected long evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly)
- throws HyracksDataException {
- return DurationArithmeticOperations.addDuration(chronon, -1 * yearMonth, -1 * dayTime, isTimeOnly);
+ protected boolean evaluateTimeDurationArithmetic(long chronon, int yearMonth, long dayTime, boolean isTimeOnly,
+ AMutableInt64 result) throws HyracksDataException {
+ long res = DurationArithmeticOperations.addDuration(chronon, -1 * yearMonth, -1 * dayTime, isTimeOnly);
+ result.setValue(res);
+ return true;
}
/* (non-Javadoc)
* @see org.apache.asterix.runtime.evaluators.functions.AbstractNumericArithmeticEval#evaluateTimeInstanceArithmetic(long, long)
*/
@Override
- protected long evaluateTimeInstanceArithmetic(long chronon0, long chronon1) throws HyracksDataException {
- return evaluateInteger(chronon0, chronon1);
+ protected boolean evaluateTimeInstanceArithmetic(long chronon0, long chronon1, AMutableInt64 result)
+ throws HyracksDataException {
+ return evaluateInteger(chronon0, chronon1, result);
}
-
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 8
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/4514/ (13/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage-jre10/372/ (8/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-java10/343/ (11/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/2102/ (7/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7:
BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3478/
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/4318/ (8/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/4529/ (12/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7: Integration-Tests+1
Integration Tests Successful
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6979/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 7: Contrib+1
Analytics Compatibility Tests Successful
https://goo.gl/iDphbH : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/4100/ (7/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/8034/ (4/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: [ASTERIXDB-2423][RT] Division by zero should return NULL
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: [ASTERIXDB-2423][RT] Division by zero should return NULL
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/4638/ (4/13)
--
To view, visit https://asterix-gerrit.ics.uci.edu/2813
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: If2a45e842b840f721435b0715945a209e55b9dd4
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Dmitry Lychagin <dm...@couchbase.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No