You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Ian Maxon (Code Review)" <do...@asterixdb.incubator.apache.org> on 2015/11/09 22:30:26 UTC
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Ian Maxon has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/478
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
ASTERIXDB-1166: Fix numeric overflow guarding
This should stop the issues with numerics acting funny.
Instead of reinventing the wheel here and trying to detect when an overflow may happen,
I opted to use the new methods in Java 8 that are intended to guard against overflow
where it's not desired.
Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
---
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
5 files changed, 16 insertions(+), 39 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/78/478/1
diff --git a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
index 226dd8d..e54e23f 100644
--- a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
+++ b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
@@ -24,6 +24,7 @@
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.api.exceptions.HyracksDataException;
+import java.lang.Math;
public class NumericAddDescriptor extends AbstractNumericArithmeticEval {
@@ -41,13 +42,7 @@
@Override
protected long evaluateInteger(long x, long y) throws HyracksDataException {
- long z = x + y;
- if (x > 0) {
- if (y > 0 && z < 0)
- throw new ArithmeticException("Overflow adding " + x + " + " + y);
- } else if (y < 0 && z > 0)
- throw new ArithmeticException("Underflow adding " + x + " + " + y);
- return z;
+ return Math.addExact(x,y);
}
@Override
diff --git a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
index 2412ddc..80e2b55 100644
--- a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
+++ b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
@@ -18,6 +18,7 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import com.google.common.math.LongMath;
import org.apache.asterix.om.functions.AsterixBuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
@@ -40,14 +41,10 @@
*/
@Override
protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- double result = Math.pow(lhs, rhs);
- if (result > Long.MAX_VALUE) {
- throw new ArithmeticException("Overflow of caret operation: " + lhs + " ^ " + rhs);
+ if(rhs>Integer.MAX_VALUE){
+ throw new ArithmeticException("Exponent cannot be larger than 2^31-1");
}
- if (result < Long.MIN_VALUE) {
- throw new ArithmeticException("Underflow of caret operation: " + lhs + " ^ " + rhs);
- }
- return (long) result;
+ return LongMath.checkedPow(lhs, (int)rhs);
}
/* (non-Javadoc)
diff --git a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
index b4265c7..91228a6 100644
--- a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
+++ b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
@@ -41,8 +41,12 @@
@Override
protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- if (rhs == 0)
- throw new HyracksDataException("Divide by Zero.");
+ if (rhs == 0) {
+ throw new ArithmeticException("Division by Zero.");
+ }
+ if((lhs == Long.MIN_VALUE) && (rhs == -1L)){
+ throw new ArithmeticException(("Overflow in integer division"));
+ }
return lhs / rhs;
}
diff --git a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
index 4bb29e7..4a5e4dc4 100644
--- a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
+++ b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
@@ -24,6 +24,7 @@
import org.apache.hyracks.algebricks.common.exceptions.NotImplementedException;
import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.api.exceptions.HyracksDataException;
+import java.lang.Math;
public class NumericMultiplyDescriptor extends AbstractNumericArithmeticEval {
@@ -41,26 +42,12 @@
@Override
protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- int signLhs = lhs > 0 ? 1 : (lhs < 0 ? -1 : 0);
- int signRhs = rhs > 0 ? 1 : (rhs < 0 ? -1 : 0);
- long maximum = signLhs == signRhs ? Long.MAX_VALUE : Long.MIN_VALUE;
-
- if (lhs != 0 && (rhs > 0 && rhs > maximum / lhs || rhs < 0 && rhs < maximum / lhs))
- throw new HyracksDataException("Overflow Happened.");
-
- return lhs * rhs;
+ return Math.multiplyExact(lhs,rhs);
}
@Override
protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- int signLhs = lhs > 0 ? 1 : (lhs < 0 ? -1 : 0);
- int signRhs = rhs > 0 ? 1 : (rhs < 0 ? -1 : 0);
- double maximum = signLhs == signRhs ? Double.MAX_VALUE : -Double.MAX_VALUE;
-
- if (lhs != 0 && (rhs > 0 && rhs > maximum / lhs || rhs < 0 && rhs < maximum / lhs))
- throw new HyracksDataException("Overflow Happened.");
-
- return lhs * rhs;
+ return lhs*rhs;
}
@Override
diff --git a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
index 6c67b53..dba5037 100644
--- a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
+++ b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
@@ -44,13 +44,7 @@
*/
@Override
protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- long res = lhs - rhs;
- if (lhs > 0) {
- if (rhs < 0 && res < 0)
- throw new HyracksDataException("Overflow adding " + lhs + " + " + rhs);
- } else if (rhs > 0 && res > 0)
- throw new HyracksDataException("Underflow adding " + lhs + " + " + rhs);
- return res;
+ return Math.subtractExact(lhs,rhs);
}
/* (non-Javadoc)
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Cameron Samak (Code Review)" <do...@asterixdb.incubator.apache.org>.
Cameron Samak has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 3:
I'm not too familiar with how the tests get executed, but is creating "dataverse test" necessary or can the expressions be evaluated without it?
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Ian Maxon (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/478
to look at the new patch set (#5).
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
ASTERIXDB-1166: Fix numeric overflow guarding
This should stop the issues with numerics acting funny.
Instead of reinventing the wheel here and trying to detect when an overflow may happen,
I opted to use the new methods in Java 8 that are intended to guard against overflow
where it's not desired.
Also, fix the docker image to use Java 8.
Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
---
A asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.1.query.aql
A asterix-app/src/test/resources/runtimets/results/numeric/issue_1166/issue_1166.1.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-docker/docker/Dockerfile
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
9 files changed, 47 insertions(+), 41 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/78/478/5
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Cameron Samak (Code Review)" <do...@asterixdb.incubator.apache.org>.
Cameron Samak has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 6: Code-Review+1
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Ian Maxon (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ian Maxon has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 6:
(1 comment)
https://asterix-gerrit.ics.uci.edu/#/c/478/6/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
File asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java:
Line 44: protected long evaluateInteger(long x, long y) throws HyracksDataException {
> What happens to the exception thrown?
That function throws an RTE, "ArithmeticException".
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Ian Maxon (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ian Maxon has submitted this change and it was merged.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
ASTERIXDB-1166: Fix numeric overflow guarding
This should stop the issues with numerics acting funny.
Instead of reinventing the wheel here and trying to detect when an overflow may happen,
I opted to use the new methods in Java 8 that are intended to guard against overflow
where it's not desired.
Also, fix the docker image to use Java 8.
Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Reviewed-on: https://asterix-gerrit.ics.uci.edu/478
Reviewed-by: Cameron Samak <cs...@apache.org>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Reviewed-by: Till Westmann <ti...@apache.org>
---
A asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.1.query.aql
A asterix-app/src/test/resources/runtimets/results/numeric/issue_1166/issue_1166.1.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-docker/docker/Dockerfile
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
9 files changed, 46 insertions(+), 40 deletions(-)
Approvals:
Cameron Samak: Looks good to me, but someone else must approve
Till Westmann: Looks good to me, approved
Jenkins: Verified
diff --git a/asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.1.query.aql b/asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.1.query.aql
new file mode 100644
index 0000000..bd73cce
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.1.query.aql
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+(-0.999 * 5)
+(-1.001 * 5)
+(-1 * 5)
diff --git a/asterix-app/src/test/resources/runtimets/results/numeric/issue_1166/issue_1166.1.adm b/asterix-app/src/test/resources/runtimets/results/numeric/issue_1166/issue_1166.1.adm
new file mode 100644
index 0000000..06a5b6d
--- /dev/null
+++ b/asterix-app/src/test/resources/runtimets/results/numeric/issue_1166/issue_1166.1.adm
@@ -0,0 +1,3 @@
+-4.995d
+-5.004999999999999d
+-5
diff --git a/asterix-app/src/test/resources/runtimets/testsuite.xml b/asterix-app/src/test/resources/runtimets/testsuite.xml
index 563163b..4d35ac0 100644
--- a/asterix-app/src/test/resources/runtimets/testsuite.xml
+++ b/asterix-app/src/test/resources/runtimets/testsuite.xml
@@ -3887,6 +3887,11 @@
</compilation-unit>
</test-case>
<test-case FilePath="numeric">
+ <compilation-unit name="issue_1166">
+ <output-dir compare="Text">issue_1166</output-dir>
+ </compilation-unit>
+ </test-case>
+ <test-case FilePath="numeric">
<compilation-unit name="multiply_int8">
<output-dir compare="Text">multiply_int8</output-dir>
</compilation-unit>
diff --git a/asterix-docker/docker/Dockerfile b/asterix-docker/docker/Dockerfile
index 9303bce..4e11474 100644
--- a/asterix-docker/docker/Dockerfile
+++ b/asterix-docker/docker/Dockerfile
@@ -21,7 +21,7 @@
RUN echo 'LANG="en_US.UTF-8"' > /etc/sysconfig/i18n ;echo 'ZONE="America/Los_Angeles"' > /etc/sysconfig/clock ;cp -a /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
RUN echo "include_only=.us" >> /etc/yum/pluginconf.d/fastestmirror.conf
-RUN yum install -y unzip java-1.7.0-openjdk openssh-server openssh-clients python-setuptools wget curl
+RUN yum install -y unzip java-1.8.0-openjdk openssh-server openssh-clients python-setuptools wget curl
RUN easy_install supervisor
RUN mkdir /asterixdb
COPY asterix-server*.zip .
@@ -34,7 +34,7 @@
COPY fbm.adm /asterixdb/fbm.adm
WORKDIR /asterixdb/bin
-ENV JAVA_HOME /usr/lib/jvm/jre-1.7.0
+ENV JAVA_HOME /usr/lib/jvm/jre-1.8.0
ENV JAVA_OPTS -Xmx1536m
EXPOSE 19001 19002 8888 19003 50031
diff --git a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
index 226dd8d..265f68e 100644
--- a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
+++ b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
@@ -24,6 +24,7 @@
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.api.exceptions.HyracksDataException;
+import java.lang.Math;
public class NumericAddDescriptor extends AbstractNumericArithmeticEval {
@@ -41,13 +42,7 @@
@Override
protected long evaluateInteger(long x, long y) throws HyracksDataException {
- long z = x + y;
- if (x > 0) {
- if (y > 0 && z < 0)
- throw new ArithmeticException("Overflow adding " + x + " + " + y);
- } else if (y < 0 && z > 0)
- throw new ArithmeticException("Underflow adding " + x + " + " + y);
- return z;
+ return Math.addExact(x, y);
}
@Override
diff --git a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
index 2412ddc..60f1233 100644
--- a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
+++ b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
@@ -18,6 +18,7 @@
*/
package org.apache.asterix.runtime.evaluators.functions;
+import com.google.common.math.LongMath;
import org.apache.asterix.om.functions.AsterixBuiltinFunctions;
import org.apache.asterix.om.functions.IFunctionDescriptor;
import org.apache.asterix.om.functions.IFunctionDescriptorFactory;
@@ -40,14 +41,10 @@
*/
@Override
protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- double result = Math.pow(lhs, rhs);
- if (result > Long.MAX_VALUE) {
- throw new ArithmeticException("Overflow of caret operation: " + lhs + " ^ " + rhs);
+ if(rhs > Integer.MAX_VALUE){
+ throw new ArithmeticException("Exponent cannot be larger than 2^31-1");
}
- if (result < Long.MIN_VALUE) {
- throw new ArithmeticException("Underflow of caret operation: " + lhs + " ^ " + rhs);
- }
- return (long) result;
+ return LongMath.checkedPow(lhs, (int) rhs);
}
/* (non-Javadoc)
diff --git a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
index b4265c7..1c5cb9c 100644
--- a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
+++ b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
@@ -41,8 +41,12 @@
@Override
protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- if (rhs == 0)
- throw new HyracksDataException("Divide by Zero.");
+ if (rhs == 0) {
+ throw new ArithmeticException("Division by Zero.");
+ }
+ if ( (lhs == Long.MIN_VALUE) && (rhs == -1L) ) {
+ throw new ArithmeticException(("Overflow in integer division"));
+ }
return lhs / rhs;
}
diff --git a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
index 4bb29e7..c3f6580 100644
--- a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
+++ b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
@@ -24,6 +24,7 @@
import org.apache.hyracks.algebricks.common.exceptions.NotImplementedException;
import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier;
import org.apache.hyracks.api.exceptions.HyracksDataException;
+import java.lang.Math;
public class NumericMultiplyDescriptor extends AbstractNumericArithmeticEval {
@@ -41,25 +42,11 @@
@Override
protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- int signLhs = lhs > 0 ? 1 : (lhs < 0 ? -1 : 0);
- int signRhs = rhs > 0 ? 1 : (rhs < 0 ? -1 : 0);
- long maximum = signLhs == signRhs ? Long.MAX_VALUE : Long.MIN_VALUE;
-
- if (lhs != 0 && (rhs > 0 && rhs > maximum / lhs || rhs < 0 && rhs < maximum / lhs))
- throw new HyracksDataException("Overflow Happened.");
-
- return lhs * rhs;
+ return Math.multiplyExact(lhs, rhs);
}
@Override
protected double evaluateDouble(double lhs, double rhs) throws HyracksDataException {
- int signLhs = lhs > 0 ? 1 : (lhs < 0 ? -1 : 0);
- int signRhs = rhs > 0 ? 1 : (rhs < 0 ? -1 : 0);
- double maximum = signLhs == signRhs ? Double.MAX_VALUE : -Double.MAX_VALUE;
-
- if (lhs != 0 && (rhs > 0 && rhs > maximum / lhs || rhs < 0 && rhs < maximum / lhs))
- throw new HyracksDataException("Overflow Happened.");
-
return lhs * rhs;
}
diff --git a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
index 6c67b53..2cb4411 100644
--- a/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
+++ b/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
@@ -44,13 +44,7 @@
*/
@Override
protected long evaluateInteger(long lhs, long rhs) throws HyracksDataException {
- long res = lhs - rhs;
- if (lhs > 0) {
- if (rhs < 0 && res < 0)
- throw new HyracksDataException("Overflow adding " + lhs + " + " + rhs);
- } else if (rhs > 0 && res > 0)
- throw new HyracksDataException("Underflow adding " + lhs + " + " + rhs);
- return res;
+ return Math.subtractExact(lhs, rhs);
}
/* (non-Javadoc)
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Till Westmann (Code Review)" <do...@asterixdb.incubator.apache.org>.
Till Westmann has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 6: Code-Review+2
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Ian Maxon (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/478
to look at the new patch set (#3).
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
ASTERIXDB-1166: Fix numeric overflow guarding
This should stop the issues with numerics acting funny.
Instead of reinventing the wheel here and trying to detect when an overflow may happen,
I opted to use the new methods in Java 8 that are intended to guard against overflow
where it's not desired.
Also, fix the docker image to use Java 8.
Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
---
A asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.2.update.aql
A asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.3.query.aql
A asterix-app/src/test/resources/runtimets/results/numeric/issue_1166/issue_1166.1.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-docker/docker/Dockerfile
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
11 files changed, 88 insertions(+), 41 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/78/478/3
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 2: Verified-1
Build Failed
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/485/ : ABORTED
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Ian Maxon (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ian Maxon has uploaded a new patch set (#2).
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
ASTERIXDB-1166: Fix numeric overflow guarding
This should stop the issues with numerics acting funny.
Instead of reinventing the wheel here and trying to detect when an overflow may happen,
I opted to use the new methods in Java 8 that are intended to guard against overflow
where it's not desired.
Also, fix the docker image to use Java 8.
Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
---
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-docker/docker/Dockerfile
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
7 files changed, 23 insertions(+), 41 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/78/478/2
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 3:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/486/
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Ian Maxon (Code Review)" <do...@asterixdb.incubator.apache.org>.
Ian Maxon has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 6:
OK, whitespace should be fixed. And you're right, I really couldn't think of a reason why there needs to be the ddl/update steps here, I was just following the example of the other numeric tests, but I see no reason for it here.
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Ian Maxon (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/478
to look at the new patch set (#6).
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
ASTERIXDB-1166: Fix numeric overflow guarding
This should stop the issues with numerics acting funny.
Instead of reinventing the wheel here and trying to detect when an overflow may happen,
I opted to use the new methods in Java 8 that are intended to guard against overflow
where it's not desired.
Also, fix the docker image to use Java 8.
Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
---
A asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.1.query.aql
A asterix-app/src/test/resources/runtimets/results/numeric/issue_1166/issue_1166.1.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-docker/docker/Dockerfile
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
9 files changed, 46 insertions(+), 40 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/78/478/6
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 4: Verified-1
Build Failed
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/487/ : ABORTED
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 5: Verified-1
Build Failed
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/488/ : ABORTED
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 4:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/487/
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 2:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/485/
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 6:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/489/
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Ian Maxon (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/478
to look at the new patch set (#4).
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
ASTERIXDB-1166: Fix numeric overflow guarding
This should stop the issues with numerics acting funny.
Instead of reinventing the wheel here and trying to detect when an overflow may happen,
I opted to use the new methods in Java 8 that are intended to guard against overflow
where it's not desired.
Also, fix the docker image to use Java 8.
Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
---
A asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.1.ddl.aql
A asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.2.update.aql
A asterix-app/src/test/resources/runtimets/queries/numeric/issue_1166/issue_1166.3.query.aql
A asterix-app/src/test/resources/runtimets/results/numeric/issue_1166/issue_1166.1.adm
M asterix-app/src/test/resources/runtimets/testsuite.xml
M asterix-docker/docker/Dockerfile
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericCaretDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericDivideDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericMultiplyDescriptor.java
M asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericSubDescriptor.java
11 files changed, 88 insertions(+), 41 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/78/478/4
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Preston Carman (Code Review)" <do...@asterixdb.incubator.apache.org>.
Preston Carman has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 6:
(1 comment)
https://asterix-gerrit.ics.uci.edu/#/c/478/6/asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java
File asterix-runtime/src/main/java/org/apache/asterix/runtime/evaluators/functions/NumericAddDescriptor.java:
Line 44: protected long evaluateInteger(long x, long y) throws HyracksDataException {
What happens to the exception thrown?
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: Yes
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 6: Verified+1
Build Successful
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/489/ : SUCCESS
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 1:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/484/
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 3: Verified-1
Build Failed
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/486/ : ABORTED
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 1: Verified-1
Build Failed
https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/484/ : ABORTED
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Cameron Samak (Code Review)" <do...@asterixdb.incubator.apache.org>.
Cameron Samak has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 3:
(minor) Whitespace formatting for consistency with surrounding code (spaces between operands/operators, after casts, and after commas in method calls).
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No
Change in asterixdb[master]: ASTERIXDB-1166: Fix numeric overflow guarding
Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.
Change subject: ASTERIXDB-1166: Fix numeric overflow guarding
......................................................................
Patch Set 5:
Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/488/
--
To view, visit https://asterix-gerrit.ics.uci.edu/478
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: comment
Gerrit-Change-Id: I520b22861a76346caca646122bc736e66c8d8b1f
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Ian Maxon <im...@apache.org>
Gerrit-Reviewer: Cameron Samak <cs...@apache.org>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-HasComments: No