diff --git storage-api/src/java/org/apache/hadoop/hive/common/type/FastHiveDecimalImpl.java storage-api/src/java/org/apache/hadoop/hive/common/type/FastHiveDecimalImpl.java index 5a16a30d68..b241b9550d 100644 --- storage-api/src/java/org/apache/hadoop/hive/common/type/FastHiveDecimalImpl.java +++ storage-api/src/java/org/apache/hadoop/hive/common/type/FastHiveDecimalImpl.java @@ -2535,6 +2535,10 @@ public static int fastBigIntegerBytesUnscaled( long word1 = scratchLongs[1]; long word2 = scratchLongs[2]; + if (byteIndex == 0 && word0 == 0 && word1 == 0 && word2 == 0) { + return 0; + } + if (!isNegative) { // Positive number. @@ -9463,4 +9467,4 @@ public static String displayBytes(byte[] bytes, int start, int length) { } return sb.toString(); } -} \ No newline at end of file +}