Repository: phoenix Updated Branches: refs/heads/master 5e64eb3b9 -> 743da6ee8
PHOENIX-2952 Addendum to fix test case failure (Ram) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/743da6ee Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/743da6ee Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/743da6ee Branch: refs/heads/master Commit: 743da6ee8d3b0e18047c24ae19f679f89fe3eb8c Parents: 5e64eb3 Author: Ramkrishna <ramkrishna.s.vasude...@intel.com> Authored: Mon Jun 20 14:00:43 2016 +0530 Committer: Ramkrishna <ramkrishna.s.vasude...@intel.com> Committed: Mon Jun 20 14:00:43 2016 +0530 ---------------------------------------------------------------------- .../apache/phoenix/expression/function/ArrayLengthFunction.java | 2 +- .../main/java/org/apache/phoenix/schema/types/PArrayDataType.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/743da6ee/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayLengthFunction.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayLengthFunction.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayLengthFunction.java index 242ca0f..3f7fe22 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayLengthFunction.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayLengthFunction.java @@ -53,7 +53,7 @@ public class ArrayLengthFunction extends ScalarFunction { PDataType baseType = PDataType.fromTypeId(children.get(0).getDataType() .getSqlType() - PDataType.ARRAY_TYPE_BASE); - int length = PArrayDataType.getArrayLength(ptr, baseType, arrayExpr.getMaxLength()); + int length = Math.abs(PArrayDataType.getArrayLength(ptr, baseType, arrayExpr.getMaxLength())); byte[] lengthBuf = new byte[PInteger.INSTANCE.getByteSize()]; PInteger.INSTANCE.getCodec().encodeInt(length, lengthBuf, 0); ptr.set(lengthBuf); http://git-wip-us.apache.org/repos/asf/phoenix/blob/743da6ee/phoenix-core/src/main/java/org/apache/phoenix/schema/types/PArrayDataType.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/types/PArrayDataType.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/types/PArrayDataType.java index e666a7a..eb1a7ff 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/types/PArrayDataType.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/types/PArrayDataType.java @@ -1185,8 +1185,7 @@ public abstract class PArrayDataType<T> extends PDataType<T> { } // In case where the number of elements is greater than SHORT.MAX_VALUE we do negate the number of // elements. So it is always better to return the absolute value - return Math - .abs(Bytes.toInt(bytes, (ptr.getOffset() + ptr.getLength() - (Bytes.SIZEOF_BYTE + Bytes.SIZEOF_INT)))); + return (Bytes.toInt(bytes, (ptr.getOffset() + ptr.getLength() - (Bytes.SIZEOF_BYTE + Bytes.SIZEOF_INT)))); } public static int estimateSize(int size, PDataType baseType) {