Repository: phoenix Updated Branches: refs/heads/4.x-HBase-0.98 eedfb63cf -> 615fc0243
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/615fc024 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/615fc024 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/615fc024 Branch: refs/heads/4.x-HBase-0.98 Commit: 615fc02431800d8f5388b7215cf499e6ab89adde Parents: eedfb63 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:02:52 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/615fc024/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/615fc024/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) {