You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2013/04/16 22:12:36 UTC
svn commit: r1468588 - in /hive/trunk:
common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java
data/files/kv8.txt ql/src/test/results/clientpositive/decimal_precision.q.out
ql/src/test/results/clientpositive/decimal_udf.q.out
Author: hashutosh
Date: Tue Apr 16 20:12:35 2013
New Revision: 1468588
URL: http://svn.apache.org/r1468588
Log:
HIVE-4320 : Consider extending max limit for precision to 38 (Gunther Hagleitner via Ashutosh Chauhan)
Modified:
hive/trunk/common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java
hive/trunk/data/files/kv8.txt
hive/trunk/ql/src/test/results/clientpositive/decimal_precision.q.out
hive/trunk/ql/src/test/results/clientpositive/decimal_udf.q.out
Modified: hive/trunk/common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java
URL: http://svn.apache.org/viewvc/hive/trunk/common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java?rev=1468588&r1=1468587&r2=1468588&view=diff
==============================================================================
--- hive/trunk/common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java (original)
+++ hive/trunk/common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java Tue Apr 16 20:12:35 2013
@@ -31,7 +31,7 @@ public class HiveDecimal implements Comp
public static final HiveDecimal ZERO = new HiveDecimal(BigDecimal.ZERO);
- public static final int MAX_PRECISION = 36; // multiple of 9 for compact representation
+ public static final int MAX_PRECISION = 38; // fits into 128 bits
public static final HiveDecimal ONE = new HiveDecimal(BigDecimal.ONE);
Modified: hive/trunk/data/files/kv8.txt
URL: http://svn.apache.org/viewvc/hive/trunk/data/files/kv8.txt?rev=1468588&r1=1468587&r2=1468588&view=diff
==============================================================================
--- hive/trunk/data/files/kv8.txt (original)
+++ hive/trunk/data/files/kv8.txt Tue Apr 16 20:12:35 2013
@@ -1,60 +1,62 @@
-1234567890123456789012345678901234567
-1.234567890123456789012345678901234567
-12.34567890123456789012345678901234567
-123.4567890123456789012345678901234567
-1234.567890123456789012345678901234567
-123456789012345678901234567890123456
-0.12345678901234567890123456789012345
-1.23456789012345678901234567890123456
-12.3456789012345678901234567890123456
-123.456789012345678901234567890123456
-1234.56789012345678901234567890123456
-12345.6789012345678901234567890123456
-123456.789012345678901234567890123456
-1234567.89012345678901234567890123456
-12345678.9012345678901234567890123456
-123456789.012345678901234567890123456
-1234567890.12345678901234567890123456
-12345678901.2345678901234567890123456
-123456789012.345678901234567890123456
-1234567890123.45678901234567890123456
-12345678901234.5678901234567890123456
-123456789012345.678901234567890123456
-1234567890123456.78901234567890123456
-12345678901234567.8901234567890123456
-123456789012345678.901234567890123456
-1234567890123456789.01234567890123456
-12345678901234567890.1234567890123456
-123456789012345678901.234567890123456
-1234567890123456789012.34567890123456
-12345678901234567890123.4567890123456
-123456789012345678901234.567890123456
-1234567890123456789012345.67890123456
-12345678901234567890123456.7890123456
-123456789012345678901234567.890123456
-1234567890123456789012345678.90123456
-12345678901234567890123456789.0123456
-123456789012345678901234567890.123456
-1234567890123456789012345678901.23456
-12345678901234567890123456789012.3456
-123456789012345678901234567890123.456
-1234567890123456789012345678901234.56
-12345678901234567890123456789012345.6
-123456789012345678901234567890123456.0
-123456789012345678901234567890123456.00
-123456789012345678901234567890123456.000
-000123456789012345678901234567890123456.000
+123456789012345678901234567890123456789
+1.23456789012345678901234567890123456789
+12.3456789012345678901234567890123456789
+123.456789012345678901234567890123456789
+1234.56789012345678901234567890123456789
+12345678901234567890123456789012345678
+0.1234567890123456789012345678901234578
+1.2345678901234567890123456789012345678
+12.345678901234567890123456789012345678
+123.45678901234567890123456789012345678
+1234.5678901234567890123456789012345678
+12345.678901234567890123456789012345678
+123456.78901234567890123456789012345678
+1234567.8901234567890123456789012345678
+12345678.901234567890123456789012345678
+123456789.01234567890123456789012345678
+1234567890.1234567890123456789012345678
+12345678901.234567890123456789012345678
+123456789012.34567890123456789012345678
+1234567890123.4567890123456789012345678
+12345678901234.567890123456789012345678
+123456789012345.67890123456789012345678
+1234567890123456.7890123456789012345678
+12345678901234567.890123456789012345678
+123456789012345678.90123456789012345678
+1234567890123456789.0123456789012345678
+12345678901234567890.123456789012345678
+123456789012345678901.23456789012345678
+1234567890123456789012.3456789012345678
+12345678901234567890123.456789012345678
+123456789012345678901234.56789012345678
+1234567890123456789012345.6789012345678
+12345678901234567890123456.789012345678
+123456789012345678901234567.89012345678
+1234567890123456789012345678.9012345678
+12345678901234567890123456789.012345678
+123456789012345678901234567890.12345678
+1234567890123456789012345678901.2345678
+12345678901234567890123456789012.345678
+123456789012345678901234567890123.45678
+1234567890123456789012345678901234.5678
+12345678901234567890123456789012345.678
+123456789012345678901234567890123456.78
+12345678901234567890123456789012345.67.8
+12345678901234567890123456789012345678.0
+12345678901234567890123456789012345678.00
+12345678901234567890123456789012345678.000
+00012345678901234567890123456789012345678.000
+99999999999999999999999999999999999999
999999999999999999999999999999999999
-9999999999999999999999999999999999
-999999999999999999999999999999999
+99999999999999999999999999999999999
+-99999999999999999999999999999999999999
-999999999999999999999999999999999999
--9999999999999999999999999999999999
--999999999999999999999999999999999
-0000000000000000000000000000000000000000000
-0.00000000000000000000000000000000001
--0.00000000000000000000000000000000001
-0.000000000000000000000000000000000001
--0.000000000000000000000000000000000001
+-99999999999999999999999999999999999
+000000000000000000000000000000000000000000000
+0.0000000000000000000000000000000000001
+-0.0000000000000000000000000000000000001
+0.00000000000000000000000000000000000001
+-0.00000000000000000000000000000000000001
0.123456789012345
1.234567890123456
12.34567890123456
Modified: hive/trunk/ql/src/test/results/clientpositive/decimal_precision.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/decimal_precision.q.out?rev=1468588&r1=1468587&r2=1468588&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/decimal_precision.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/decimal_precision.q.out Tue Apr 16 20:12:35 2013
@@ -34,72 +34,74 @@ NULL
NULL
NULL
NULL
+NULL
+-99999999999999999999999999999999999999
-999999999999999999999999999999999999
--9999999999999999999999999999999999
--999999999999999999999999999999999
--0.00000000000000000000000000000000001
+-99999999999999999999999999999999999
+-0.0000000000000000000000000000000000001
0
-0.00000000000000000000000000000000001
+0.0000000000000000000000000000000000001
0.123456789012345
-0.12345678901234567890123456789012345
+0.1234567890123456789012345678901234578
1.234567890123456
-1.23456789012345678901234567890123456
+1.2345678901234567890123456789012345678
12.34567890123456
-12.3456789012345678901234567890123456
+12.345678901234567890123456789012345678
123.4567890123456
-123.456789012345678901234567890123456
+123.45678901234567890123456789012345678
1234.567890123456
-1234.56789012345678901234567890123456
+1234.5678901234567890123456789012345678
12345.67890123456
-12345.6789012345678901234567890123456
+12345.678901234567890123456789012345678
123456.7890123456
-123456.789012345678901234567890123456
+123456.78901234567890123456789012345678
1234567.890123456
-1234567.89012345678901234567890123456
+1234567.8901234567890123456789012345678
12345678.90123456
-12345678.9012345678901234567890123456
+12345678.901234567890123456789012345678
123456789.0123456
-123456789.012345678901234567890123456
+123456789.01234567890123456789012345678
1234567890.123456
-1234567890.12345678901234567890123456
+1234567890.1234567890123456789012345678
12345678901.23456
-12345678901.2345678901234567890123456
+12345678901.234567890123456789012345678
123456789012.3456
-123456789012.345678901234567890123456
+123456789012.34567890123456789012345678
1234567890123.456
-1234567890123.45678901234567890123456
+1234567890123.4567890123456789012345678
12345678901234.56
-12345678901234.5678901234567890123456
+12345678901234.567890123456789012345678
123456789012345.6
-123456789012345.678901234567890123456
-1234567890123456.78901234567890123456
-12345678901234567.8901234567890123456
-123456789012345678.901234567890123456
-1234567890123456789.01234567890123456
-12345678901234567890.1234567890123456
-123456789012345678901.234567890123456
-1234567890123456789012.34567890123456
-12345678901234567890123.4567890123456
-123456789012345678901234.567890123456
-1234567890123456789012345.67890123456
-12345678901234567890123456.7890123456
-123456789012345678901234567.890123456
-1234567890123456789012345678.90123456
-12345678901234567890123456789.0123456
-123456789012345678901234567890.123456
-1234567890123456789012345678901.23456
-12345678901234567890123456789012.3456
-123456789012345678901234567890123.456
-999999999999999999999999999999999
-1234567890123456789012345678901234.56
-9999999999999999999999999999999999
-12345678901234567890123456789012345.6
-123456789012345678901234567890123456
-123456789012345678901234567890123456
-123456789012345678901234567890123456
-123456789012345678901234567890123456
-123456789012345678901234567890123456
+123456789012345.67890123456789012345678
+1234567890123456.7890123456789012345678
+12345678901234567.890123456789012345678
+123456789012345678.90123456789012345678
+1234567890123456789.0123456789012345678
+12345678901234567890.123456789012345678
+123456789012345678901.23456789012345678
+1234567890123456789012.3456789012345678
+12345678901234567890123.456789012345678
+123456789012345678901234.56789012345678
+1234567890123456789012345.6789012345678
+12345678901234567890123456.789012345678
+123456789012345678901234567.89012345678
+1234567890123456789012345678.9012345678
+12345678901234567890123456789.012345678
+123456789012345678901234567890.12345678
+1234567890123456789012345678901.2345678
+12345678901234567890123456789012.345678
+123456789012345678901234567890123.45678
+1234567890123456789012345678901234.5678
+12345678901234567890123456789012345.678
+99999999999999999999999999999999999
+123456789012345678901234567890123456.78
999999999999999999999999999999999999
+12345678901234567890123456789012345678
+12345678901234567890123456789012345678
+12345678901234567890123456789012345678
+12345678901234567890123456789012345678
+12345678901234567890123456789012345678
+99999999999999999999999999999999999999
PREHOOK: query: SELECT dec, dec + 1, dec - 1 FROM DECIMAL_PRECISION ORDER BY dec
PREHOOK: type: QUERY
PREHOOK: Input: default@decimal_precision
@@ -115,72 +117,74 @@ NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
--999999999999999999999999999999999999 -999999999999999999999999999999999998 NULL
--9999999999999999999999999999999999 -9999999999999999999999999999999998 -10000000000000000000000000000000000
--999999999999999999999999999999999 -999999999999999999999999999999998 -1000000000000000000000000000000000
--0.00000000000000000000000000000000001 0.99999999999999999999999999999999999 -1.00000000000000000000000000000000001
+NULL NULL NULL
+-99999999999999999999999999999999999999 -99999999999999999999999999999999999998 NULL
+-999999999999999999999999999999999999 -999999999999999999999999999999999998 -1000000000000000000000000000000000000
+-99999999999999999999999999999999999 -99999999999999999999999999999999998 -100000000000000000000000000000000000
+-0.0000000000000000000000000000000000001 0.9999999999999999999999999999999999999 -1.0000000000000000000000000000000000001
0 1 -1
-0.00000000000000000000000000000000001 1.00000000000000000000000000000000001 -0.99999999999999999999999999999999999
+0.0000000000000000000000000000000000001 1.0000000000000000000000000000000000001 -0.9999999999999999999999999999999999999
0.123456789012345 1.123456789012345 -0.876543210987655
-0.12345678901234567890123456789012345 1.12345678901234567890123456789012345 -0.87654321098765432109876543210987655
+0.1234567890123456789012345678901234578 1.1234567890123456789012345678901234578 -0.8765432109876543210987654321098765422
1.234567890123456 2.234567890123456 0.234567890123456
-1.23456789012345678901234567890123456 2.23456789012345678901234567890123456 0.23456789012345678901234567890123456
+1.2345678901234567890123456789012345678 2.2345678901234567890123456789012345678 0.2345678901234567890123456789012345678
12.34567890123456 13.34567890123456 11.34567890123456
-12.3456789012345678901234567890123456 13.3456789012345678901234567890123456 11.3456789012345678901234567890123456
+12.345678901234567890123456789012345678 13.345678901234567890123456789012345678 11.345678901234567890123456789012345678
123.4567890123456 124.4567890123456 122.4567890123456
-123.456789012345678901234567890123456 124.456789012345678901234567890123456 122.456789012345678901234567890123456
+123.45678901234567890123456789012345678 124.45678901234567890123456789012345678 122.45678901234567890123456789012345678
1234.567890123456 1235.567890123456 1233.567890123456
-1234.56789012345678901234567890123456 1235.56789012345678901234567890123456 1233.56789012345678901234567890123456
+1234.5678901234567890123456789012345678 1235.5678901234567890123456789012345678 1233.5678901234567890123456789012345678
12345.67890123456 12346.67890123456 12344.67890123456
-12345.6789012345678901234567890123456 12346.6789012345678901234567890123456 12344.6789012345678901234567890123456
+12345.678901234567890123456789012345678 12346.678901234567890123456789012345678 12344.678901234567890123456789012345678
123456.7890123456 123457.7890123456 123455.7890123456
-123456.789012345678901234567890123456 123457.789012345678901234567890123456 123455.789012345678901234567890123456
+123456.78901234567890123456789012345678 123457.78901234567890123456789012345678 123455.78901234567890123456789012345678
1234567.890123456 1234568.890123456 1234566.890123456
-1234567.89012345678901234567890123456 1234568.89012345678901234567890123456 1234566.89012345678901234567890123456
+1234567.8901234567890123456789012345678 1234568.8901234567890123456789012345678 1234566.8901234567890123456789012345678
12345678.90123456 12345679.90123456 12345677.90123456
-12345678.9012345678901234567890123456 12345679.9012345678901234567890123456 12345677.9012345678901234567890123456
+12345678.901234567890123456789012345678 12345679.901234567890123456789012345678 12345677.901234567890123456789012345678
123456789.0123456 123456790.0123456 123456788.0123456
-123456789.012345678901234567890123456 123456790.012345678901234567890123456 123456788.012345678901234567890123456
+123456789.01234567890123456789012345678 123456790.01234567890123456789012345678 123456788.01234567890123456789012345678
1234567890.123456 1234567891.123456 1234567889.123456
-1234567890.12345678901234567890123456 1234567891.12345678901234567890123456 1234567889.12345678901234567890123456
+1234567890.1234567890123456789012345678 1234567891.1234567890123456789012345678 1234567889.1234567890123456789012345678
12345678901.23456 12345678902.23456 12345678900.23456
-12345678901.2345678901234567890123456 12345678902.2345678901234567890123456 12345678900.2345678901234567890123456
+12345678901.234567890123456789012345678 12345678902.234567890123456789012345678 12345678900.234567890123456789012345678
123456789012.3456 123456789013.3456 123456789011.3456
-123456789012.345678901234567890123456 123456789013.345678901234567890123456 123456789011.345678901234567890123456
+123456789012.34567890123456789012345678 123456789013.34567890123456789012345678 123456789011.34567890123456789012345678
1234567890123.456 1234567890124.456 1234567890122.456
-1234567890123.45678901234567890123456 1234567890124.45678901234567890123456 1234567890122.45678901234567890123456
+1234567890123.4567890123456789012345678 1234567890124.4567890123456789012345678 1234567890122.4567890123456789012345678
12345678901234.56 12345678901235.56 12345678901233.56
-12345678901234.5678901234567890123456 12345678901235.5678901234567890123456 12345678901233.5678901234567890123456
+12345678901234.567890123456789012345678 12345678901235.567890123456789012345678 12345678901233.567890123456789012345678
123456789012345.6 123456789012346.6 123456789012344.6
-123456789012345.678901234567890123456 123456789012346.678901234567890123456 123456789012344.678901234567890123456
-1234567890123456.78901234567890123456 1234567890123457.78901234567890123456 1234567890123455.78901234567890123456
-12345678901234567.8901234567890123456 12345678901234568.8901234567890123456 12345678901234566.8901234567890123456
-123456789012345678.901234567890123456 123456789012345679.901234567890123456 123456789012345677.901234567890123456
-1234567890123456789.01234567890123456 1234567890123456790.01234567890123456 1234567890123456788.01234567890123456
-12345678901234567890.1234567890123456 12345678901234567891.1234567890123456 12345678901234567889.1234567890123456
-123456789012345678901.234567890123456 123456789012345678902.234567890123456 123456789012345678900.234567890123456
-1234567890123456789012.34567890123456 1234567890123456789013.34567890123456 1234567890123456789011.34567890123456
-12345678901234567890123.4567890123456 12345678901234567890124.4567890123456 12345678901234567890122.4567890123456
-123456789012345678901234.567890123456 123456789012345678901235.567890123456 123456789012345678901233.567890123456
-1234567890123456789012345.67890123456 1234567890123456789012346.67890123456 1234567890123456789012344.67890123456
-12345678901234567890123456.7890123456 12345678901234567890123457.7890123456 12345678901234567890123455.7890123456
-123456789012345678901234567.890123456 123456789012345678901234568.890123456 123456789012345678901234566.890123456
-1234567890123456789012345678.90123456 1234567890123456789012345679.90123456 1234567890123456789012345677.90123456
-12345678901234567890123456789.0123456 12345678901234567890123456790.0123456 12345678901234567890123456788.0123456
-123456789012345678901234567890.123456 123456789012345678901234567891.123456 123456789012345678901234567889.123456
-1234567890123456789012345678901.23456 1234567890123456789012345678902.23456 1234567890123456789012345678900.23456
-12345678901234567890123456789012.3456 12345678901234567890123456789013.3456 12345678901234567890123456789011.3456
-123456789012345678901234567890123.456 123456789012345678901234567890124.456 123456789012345678901234567890122.456
-999999999999999999999999999999999 1000000000000000000000000000000000 999999999999999999999999999999998
-1234567890123456789012345678901234.56 1234567890123456789012345678901235.56 1234567890123456789012345678901233.56
-9999999999999999999999999999999999 10000000000000000000000000000000000 9999999999999999999999999999999998
-12345678901234567890123456789012345.6 12345678901234567890123456789012346.6 12345678901234567890123456789012344.6
-123456789012345678901234567890123456 123456789012345678901234567890123457 123456789012345678901234567890123455
-123456789012345678901234567890123456 123456789012345678901234567890123457 123456789012345678901234567890123455
-123456789012345678901234567890123456 123456789012345678901234567890123457 123456789012345678901234567890123455
-123456789012345678901234567890123456 123456789012345678901234567890123457 123456789012345678901234567890123455
-123456789012345678901234567890123456 123456789012345678901234567890123457 123456789012345678901234567890123455
-999999999999999999999999999999999999 NULL 999999999999999999999999999999999998
+123456789012345.67890123456789012345678 123456789012346.67890123456789012345678 123456789012344.67890123456789012345678
+1234567890123456.7890123456789012345678 1234567890123457.7890123456789012345678 1234567890123455.7890123456789012345678
+12345678901234567.890123456789012345678 12345678901234568.890123456789012345678 12345678901234566.890123456789012345678
+123456789012345678.90123456789012345678 123456789012345679.90123456789012345678 123456789012345677.90123456789012345678
+1234567890123456789.0123456789012345678 1234567890123456790.0123456789012345678 1234567890123456788.0123456789012345678
+12345678901234567890.123456789012345678 12345678901234567891.123456789012345678 12345678901234567889.123456789012345678
+123456789012345678901.23456789012345678 123456789012345678902.23456789012345678 123456789012345678900.23456789012345678
+1234567890123456789012.3456789012345678 1234567890123456789013.3456789012345678 1234567890123456789011.3456789012345678
+12345678901234567890123.456789012345678 12345678901234567890124.456789012345678 12345678901234567890122.456789012345678
+123456789012345678901234.56789012345678 123456789012345678901235.56789012345678 123456789012345678901233.56789012345678
+1234567890123456789012345.6789012345678 1234567890123456789012346.6789012345678 1234567890123456789012344.6789012345678
+12345678901234567890123456.789012345678 12345678901234567890123457.789012345678 12345678901234567890123455.789012345678
+123456789012345678901234567.89012345678 123456789012345678901234568.89012345678 123456789012345678901234566.89012345678
+1234567890123456789012345678.9012345678 1234567890123456789012345679.9012345678 1234567890123456789012345677.9012345678
+12345678901234567890123456789.012345678 12345678901234567890123456790.012345678 12345678901234567890123456788.012345678
+123456789012345678901234567890.12345678 123456789012345678901234567891.12345678 123456789012345678901234567889.12345678
+1234567890123456789012345678901.2345678 1234567890123456789012345678902.2345678 1234567890123456789012345678900.2345678
+12345678901234567890123456789012.345678 12345678901234567890123456789013.345678 12345678901234567890123456789011.345678
+123456789012345678901234567890123.45678 123456789012345678901234567890124.45678 123456789012345678901234567890122.45678
+1234567890123456789012345678901234.5678 1234567890123456789012345678901235.5678 1234567890123456789012345678901233.5678
+12345678901234567890123456789012345.678 12345678901234567890123456789012346.678 12345678901234567890123456789012344.678
+99999999999999999999999999999999999 100000000000000000000000000000000000 99999999999999999999999999999999998
+123456789012345678901234567890123456.78 123456789012345678901234567890123457.78 123456789012345678901234567890123455.78
+999999999999999999999999999999999999 1000000000000000000000000000000000000 999999999999999999999999999999999998
+12345678901234567890123456789012345678 12345678901234567890123456789012345679 12345678901234567890123456789012345677
+12345678901234567890123456789012345678 12345678901234567890123456789012345679 12345678901234567890123456789012345677
+12345678901234567890123456789012345678 12345678901234567890123456789012345679 12345678901234567890123456789012345677
+12345678901234567890123456789012345678 12345678901234567890123456789012345679 12345678901234567890123456789012345677
+12345678901234567890123456789012345678 12345678901234567890123456789012345679 12345678901234567890123456789012345677
+99999999999999999999999999999999999999 NULL 99999999999999999999999999999999999998
PREHOOK: query: SELECT dec, dec * 2, dec / 3 FROM DECIMAL_PRECISION ORDER BY dec
PREHOOK: type: QUERY
PREHOOK: Input: default@decimal_precision
@@ -196,72 +200,74 @@ NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
NULL NULL NULL
--999999999999999999999999999999999999 NULL -333333333333333333333333333333333333
--9999999999999999999999999999999999 -19999999999999999999999999999999998 -3333333333333333333333333333333333
--999999999999999999999999999999999 -1999999999999999999999999999999998 -333333333333333333333333333333333
--0.00000000000000000000000000000000001 -0.00000000000000000000000000000000002 0
+NULL NULL NULL
+-99999999999999999999999999999999999999 NULL -33333333333333333333333333333333333333
+-999999999999999999999999999999999999 -1999999999999999999999999999999999998 -333333333333333333333333333333333333
+-99999999999999999999999999999999999 -199999999999999999999999999999999998 -33333333333333333333333333333333333
+-0.0000000000000000000000000000000000001 -0.0000000000000000000000000000000000002 0
0 0 0
-0.00000000000000000000000000000000001 0.00000000000000000000000000000000002 0
+0.0000000000000000000000000000000000001 0.0000000000000000000000000000000000002 0
0.123456789012345 0.24691357802469 0.041152263004115
-0.12345678901234567890123456789012345 0.2469135780246913578024691357802469 0.04115226300411522630041152263004115
+0.1234567890123456789012345678901234578 0.2469135780246913578024691357802469156 0.0411522630041152263004115226300411526
1.234567890123456 2.469135780246912 0.411522630041152
-1.23456789012345678901234567890123456 2.46913578024691357802469135780246912 0.41152263004115226300411522630041152
+1.2345678901234567890123456789012345678 2.4691357802469135780246913578024691356 0.4115226300411522630041152263004115226
12.34567890123456 24.69135780246912 4.11522630041152
-12.3456789012345678901234567890123456 24.6913578024691357802469135780246912 4.1152263004115226300411522630041152
+12.345678901234567890123456789012345678 24.691357802469135780246913578024691356 4.115226300411522630041152263004115226
123.4567890123456 246.9135780246912 41.1522630041152
-123.456789012345678901234567890123456 246.913578024691357802469135780246912 41.152263004115226300411522630041152
+123.45678901234567890123456789012345678 246.91357802469135780246913578024691356 41.15226300411522630041152263004115226
1234.567890123456 2469.135780246912 411.522630041152
-1234.56789012345678901234567890123456 2469.13578024691357802469135780246912 411.52263004115226300411522630041152
+1234.5678901234567890123456789012345678 2469.1357802469135780246913578024691356 411.5226300411522630041152263004115226
12345.67890123456 24691.35780246912 4115.22630041152
-12345.6789012345678901234567890123456 24691.3578024691357802469135780246912 4115.2263004115226300411522630041152
+12345.678901234567890123456789012345678 24691.357802469135780246913578024691356 4115.226300411522630041152263004115226
123456.7890123456 246913.5780246912 41152.2630041152
-123456.789012345678901234567890123456 246913.578024691357802469135780246912 41152.263004115226300411522630041152
+123456.78901234567890123456789012345678 246913.57802469135780246913578024691356 41152.26300411522630041152263004115226
1234567.890123456 2469135.780246912 411522.630041152
-1234567.89012345678901234567890123456 2469135.78024691357802469135780246912 411522.63004115226300411522630041152
+1234567.8901234567890123456789012345678 2469135.7802469135780246913578024691356 411522.6300411522630041152263004115226
12345678.90123456 24691357.80246912 4115226.30041152
-12345678.9012345678901234567890123456 24691357.8024691357802469135780246912 4115226.3004115226300411522630041152
+12345678.901234567890123456789012345678 24691357.802469135780246913578024691356 4115226.300411522630041152263004115226
123456789.0123456 246913578.0246912 41152263.0041152
-123456789.012345678901234567890123456 246913578.024691357802469135780246912 41152263.004115226300411522630041152
+123456789.01234567890123456789012345678 246913578.02469135780246913578024691356 41152263.00411522630041152263004115226
1234567890.123456 2469135780.246912 411522630.041152
-1234567890.12345678901234567890123456 2469135780.24691357802469135780246912 411522630.04115226300411522630041152
+1234567890.1234567890123456789012345678 2469135780.2469135780246913578024691356 411522630.0411522630041152263004115226
12345678901.23456 24691357802.46912 4115226300.41152
-12345678901.2345678901234567890123456 24691357802.4691357802469135780246912 4115226300.4115226300411522630041152
+12345678901.234567890123456789012345678 24691357802.469135780246913578024691356 4115226300.411522630041152263004115226
123456789012.3456 246913578024.6912 41152263004.1152
-123456789012.345678901234567890123456 246913578024.691357802469135780246912 41152263004.115226300411522630041152
+123456789012.34567890123456789012345678 246913578024.69135780246913578024691356 41152263004.11522630041152263004115226
1234567890123.456 2469135780246.912 411522630041.152
-1234567890123.45678901234567890123456 2469135780246.91357802469135780246912 411522630041.15226300411522630041152
+1234567890123.4567890123456789012345678 2469135780246.9135780246913578024691356 411522630041.1522630041152263004115226
12345678901234.56 24691357802469.12 4115226300411.52
-12345678901234.5678901234567890123456 24691357802469.1357802469135780246912 4115226300411.5226300411522630041152
+12345678901234.567890123456789012345678 24691357802469.135780246913578024691356 4115226300411.522630041152263004115226
123456789012345.6 246913578024691.2 41152263004115.2
-123456789012345.678901234567890123456 246913578024691.357802469135780246912 41152263004115.226300411522630041152
-1234567890123456.78901234567890123456 2469135780246913.57802469135780246912 411522630041152.26300411522630041152
-12345678901234567.8901234567890123456 24691357802469135.7802469135780246912 4115226300411522.6300411522630041152
-123456789012345678.901234567890123456 246913578024691357.802469135780246912 41152263004115226.300411522630041152
-1234567890123456789.01234567890123456 2469135780246913578.02469135780246912 411522630041152263.00411522630041152
-12345678901234567890.1234567890123456 24691357802469135780.2469135780246912 4115226300411522630.0411522630041152
-123456789012345678901.234567890123456 246913578024691357802.469135780246912 41152263004115226300.411522630041152
-1234567890123456789012.34567890123456 2469135780246913578024.69135780246912 411522630041152263004.11522630041152
-12345678901234567890123.4567890123456 24691357802469135780246.9135780246912 4115226300411522630041.1522630041152
-123456789012345678901234.567890123456 246913578024691357802469.135780246912 41152263004115226300411.522630041152
-1234567890123456789012345.67890123456 2469135780246913578024691.35780246912 411522630041152263004115.22630041152
-12345678901234567890123456.7890123456 24691357802469135780246913.5780246912 4115226300411522630041152.2630041152
-123456789012345678901234567.890123456 246913578024691357802469135.780246912 41152263004115226300411522.630041152
-1234567890123456789012345678.90123456 2469135780246913578024691357.80246912 411522630041152263004115226.30041152
-12345678901234567890123456789.0123456 24691357802469135780246913578.0246912 4115226300411522630041152263.0041152
-123456789012345678901234567890.123456 246913578024691357802469135780.246912 41152263004115226300411522630.041152
-1234567890123456789012345678901.23456 2469135780246913578024691357802.46912 411522630041152263004115226300.41152
-12345678901234567890123456789012.3456 24691357802469135780246913578024.6912 4115226300411522630041152263004.1152
-123456789012345678901234567890123.456 246913578024691357802469135780246.912 41152263004115226300411522630041.152
-999999999999999999999999999999999 1999999999999999999999999999999998 333333333333333333333333333333333
-1234567890123456789012345678901234.56 2469135780246913578024691357802469.12 411522630041152263004115226300411.52
-9999999999999999999999999999999999 19999999999999999999999999999999998 3333333333333333333333333333333333
-12345678901234567890123456789012345.6 24691357802469135780246913578024691.2 4115226300411522630041152263004115.2
-123456789012345678901234567890123456 246913578024691357802469135780246912 41152263004115226300411522630041152
-123456789012345678901234567890123456 246913578024691357802469135780246912 41152263004115226300411522630041152
-123456789012345678901234567890123456 246913578024691357802469135780246912 41152263004115226300411522630041152
-123456789012345678901234567890123456 246913578024691357802469135780246912 41152263004115226300411522630041152
-123456789012345678901234567890123456 246913578024691357802469135780246912 41152263004115226300411522630041152
-999999999999999999999999999999999999 NULL 333333333333333333333333333333333333
+123456789012345.67890123456789012345678 246913578024691.35780246913578024691356 41152263004115.22630041152263004115226
+1234567890123456.7890123456789012345678 2469135780246913.5780246913578024691356 411522630041152.2630041152263004115226
+12345678901234567.890123456789012345678 24691357802469135.780246913578024691356 4115226300411522.630041152263004115226
+123456789012345678.90123456789012345678 246913578024691357.80246913578024691356 41152263004115226.30041152263004115226
+1234567890123456789.0123456789012345678 2469135780246913578.0246913578024691356 411522630041152263.0041152263004115226
+12345678901234567890.123456789012345678 24691357802469135780.246913578024691356 4115226300411522630.041152263004115226
+123456789012345678901.23456789012345678 246913578024691357802.46913578024691356 41152263004115226300.41152263004115226
+1234567890123456789012.3456789012345678 2469135780246913578024.6913578024691356 411522630041152263004.1152263004115226
+12345678901234567890123.456789012345678 24691357802469135780246.913578024691356 4115226300411522630041.152263004115226
+123456789012345678901234.56789012345678 246913578024691357802469.13578024691356 41152263004115226300411.52263004115226
+1234567890123456789012345.6789012345678 2469135780246913578024691.3578024691356 411522630041152263004115.2263004115226
+12345678901234567890123456.789012345678 24691357802469135780246913.578024691356 4115226300411522630041152.263004115226
+123456789012345678901234567.89012345678 246913578024691357802469135.78024691356 41152263004115226300411522.63004115226
+1234567890123456789012345678.9012345678 2469135780246913578024691357.8024691356 411522630041152263004115226.3004115226
+12345678901234567890123456789.012345678 24691357802469135780246913578.024691356 4115226300411522630041152263.004115226
+123456789012345678901234567890.12345678 246913578024691357802469135780.24691356 41152263004115226300411522630.04115226
+1234567890123456789012345678901.2345678 2469135780246913578024691357802.4691356 411522630041152263004115226300.4115226
+12345678901234567890123456789012.345678 24691357802469135780246913578024.691356 4115226300411522630041152263004.115226
+123456789012345678901234567890123.45678 246913578024691357802469135780246.91356 41152263004115226300411522630041.15226
+1234567890123456789012345678901234.5678 2469135780246913578024691357802469.1356 411522630041152263004115226300411.5226
+12345678901234567890123456789012345.678 24691357802469135780246913578024691.356 4115226300411522630041152263004115.226
+99999999999999999999999999999999999 199999999999999999999999999999999998 33333333333333333333333333333333333
+123456789012345678901234567890123456.78 246913578024691357802469135780246913.56 41152263004115226300411522630041152.26
+999999999999999999999999999999999999 1999999999999999999999999999999999998 333333333333333333333333333333333333
+12345678901234567890123456789012345678 24691357802469135780246913578024691356 4115226300411522630041152263004115226
+12345678901234567890123456789012345678 24691357802469135780246913578024691356 4115226300411522630041152263004115226
+12345678901234567890123456789012345678 24691357802469135780246913578024691356 4115226300411522630041152263004115226
+12345678901234567890123456789012345678 24691357802469135780246913578024691356 4115226300411522630041152263004115226
+12345678901234567890123456789012345678 24691357802469135780246913578024691356 4115226300411522630041152263004115226
+99999999999999999999999999999999999999 NULL 33333333333333333333333333333333333333
PREHOOK: query: SELECT dec, dec / 9 FROM DECIMAL_PRECISION ORDER BY dec
PREHOOK: type: QUERY
PREHOOK: Input: default@decimal_precision
@@ -277,72 +283,74 @@ NULL NULL
NULL NULL
NULL NULL
NULL NULL
+NULL NULL
+-99999999999999999999999999999999999999 -11111111111111111111111111111111111111
-999999999999999999999999999999999999 -111111111111111111111111111111111111
--9999999999999999999999999999999999 -1111111111111111111111111111111111
--999999999999999999999999999999999 -111111111111111111111111111111111
--0.00000000000000000000000000000000001 0
+-99999999999999999999999999999999999 -11111111111111111111111111111111111
+-0.0000000000000000000000000000000000001 0
0 0
-0.00000000000000000000000000000000001 0
-0.123456789012345 0.01371742100137166666666666666666667
-0.12345678901234567890123456789012345 0.01371742100137174210013717421001372
-1.234567890123456 0.13717421001371733333333333333333333
-1.23456789012345678901234567890123456 0.13717421001371742100137174210013717
-12.34567890123456 1.37174210013717333333333333333333333
-12.3456789012345678901234567890123456 1.37174210013717421001371742100137173
-123.4567890123456 13.7174210013717333333333333333333333
-123.456789012345678901234567890123456 13.7174210013717421001371742100137173
-1234.567890123456 137.174210013717333333333333333333333
-1234.56789012345678901234567890123456 137.174210013717421001371742100137173
-12345.67890123456 1371.74210013717333333333333333333333
-12345.6789012345678901234567890123456 1371.74210013717421001371742100137173
-123456.7890123456 13717.4210013717333333333333333333333
-123456.789012345678901234567890123456 13717.4210013717421001371742100137173
-1234567.890123456 137174.210013717333333333333333333333
-1234567.89012345678901234567890123456 137174.210013717421001371742100137173
-12345678.90123456 1371742.10013717333333333333333333333
-12345678.9012345678901234567890123456 1371742.10013717421001371742100137173
-123456789.0123456 13717421.0013717333333333333333333333
-123456789.012345678901234567890123456 13717421.0013717421001371742100137173
-1234567890.123456 137174210.013717333333333333333333333
-1234567890.12345678901234567890123456 137174210.013717421001371742100137173
-12345678901.23456 1371742100.13717333333333333333333333
-12345678901.2345678901234567890123456 1371742100.13717421001371742100137173
-123456789012.3456 13717421001.3717333333333333333333333
-123456789012.345678901234567890123456 13717421001.3717421001371742100137173
-1234567890123.456 137174210013.717333333333333333333333
-1234567890123.45678901234567890123456 137174210013.717421001371742100137173
-12345678901234.56 1371742100137.17333333333333333333333
-12345678901234.5678901234567890123456 1371742100137.17421001371742100137173
-123456789012345.6 13717421001371.7333333333333333333333
-123456789012345.678901234567890123456 13717421001371.7421001371742100137173
-1234567890123456.78901234567890123456 137174210013717.421001371742100137173
-12345678901234567.8901234567890123456 1371742100137174.21001371742100137173
-123456789012345678.901234567890123456 13717421001371742.1001371742100137173
-1234567890123456789.01234567890123456 137174210013717421.001371742100137173
-12345678901234567890.1234567890123456 1371742100137174210.01371742100137173
-123456789012345678901.234567890123456 13717421001371742100.1371742100137173
-1234567890123456789012.34567890123456 137174210013717421001.371742100137173
-12345678901234567890123.4567890123456 1371742100137174210013.71742100137173
-123456789012345678901234.567890123456 13717421001371742100137.1742100137173
-1234567890123456789012345.67890123456 137174210013717421001371.742100137173
-12345678901234567890123456.7890123456 1371742100137174210013717.42100137173
-123456789012345678901234567.890123456 13717421001371742100137174.2100137173
-1234567890123456789012345678.90123456 137174210013717421001371742.100137173
-12345678901234567890123456789.0123456 1371742100137174210013717421.00137173
-123456789012345678901234567890.123456 13717421001371742100137174210.0137173
-1234567890123456789012345678901.23456 137174210013717421001371742100.137173
-12345678901234567890123456789012.3456 1371742100137174210013717421001.37173
-123456789012345678901234567890123.456 13717421001371742100137174210013.7173
-999999999999999999999999999999999 111111111111111111111111111111111
-1234567890123456789012345678901234.56 137174210013717421001371742100137.173
-9999999999999999999999999999999999 1111111111111111111111111111111111
-12345678901234567890123456789012345.6 1371742100137174210013717421001371.73
-123456789012345678901234567890123456 13717421001371742100137174210013717.3
-123456789012345678901234567890123456 13717421001371742100137174210013717.3
-123456789012345678901234567890123456 13717421001371742100137174210013717.3
-123456789012345678901234567890123456 13717421001371742100137174210013717.3
-123456789012345678901234567890123456 13717421001371742100137174210013717.3
+0.0000000000000000000000000000000000001 0
+0.123456789012345 0.0137174210013716666666666666666666667
+0.1234567890123456789012345678901234578 0.0137174210013717421001371742100137175
+1.234567890123456 0.1371742100137173333333333333333333333
+1.2345678901234567890123456789012345678 0.1371742100137174210013717421001371742
+12.34567890123456 1.3717421001371733333333333333333333333
+12.345678901234567890123456789012345678 1.371742100137174210013717421001371742
+123.4567890123456 13.717421001371733333333333333333333333
+123.45678901234567890123456789012345678 13.71742100137174210013717421001371742
+1234.567890123456 137.17421001371733333333333333333333333
+1234.5678901234567890123456789012345678 137.1742100137174210013717421001371742
+12345.67890123456 1371.7421001371733333333333333333333333
+12345.678901234567890123456789012345678 1371.742100137174210013717421001371742
+123456.7890123456 13717.421001371733333333333333333333333
+123456.78901234567890123456789012345678 13717.42100137174210013717421001371742
+1234567.890123456 137174.21001371733333333333333333333333
+1234567.8901234567890123456789012345678 137174.2100137174210013717421001371742
+12345678.90123456 1371742.1001371733333333333333333333333
+12345678.901234567890123456789012345678 1371742.100137174210013717421001371742
+123456789.0123456 13717421.001371733333333333333333333333
+123456789.01234567890123456789012345678 13717421.00137174210013717421001371742
+1234567890.123456 137174210.01371733333333333333333333333
+1234567890.1234567890123456789012345678 137174210.0137174210013717421001371742
+12345678901.23456 1371742100.1371733333333333333333333333
+12345678901.234567890123456789012345678 1371742100.137174210013717421001371742
+123456789012.3456 13717421001.371733333333333333333333333
+123456789012.34567890123456789012345678 13717421001.37174210013717421001371742
+1234567890123.456 137174210013.71733333333333333333333333
+1234567890123.4567890123456789012345678 137174210013.7174210013717421001371742
+12345678901234.56 1371742100137.1733333333333333333333333
+12345678901234.567890123456789012345678 1371742100137.174210013717421001371742
+123456789012345.6 13717421001371.733333333333333333333333
+123456789012345.67890123456789012345678 13717421001371.74210013717421001371742
+1234567890123456.7890123456789012345678 137174210013717.4210013717421001371742
+12345678901234567.890123456789012345678 1371742100137174.210013717421001371742
+123456789012345678.90123456789012345678 13717421001371742.10013717421001371742
+1234567890123456789.0123456789012345678 137174210013717421.0013717421001371742
+12345678901234567890.123456789012345678 1371742100137174210.013717421001371742
+123456789012345678901.23456789012345678 13717421001371742100.13717421001371742
+1234567890123456789012.3456789012345678 137174210013717421001.3717421001371742
+12345678901234567890123.456789012345678 1371742100137174210013.717421001371742
+123456789012345678901234.56789012345678 13717421001371742100137.17421001371742
+1234567890123456789012345.6789012345678 137174210013717421001371.7421001371742
+12345678901234567890123456.789012345678 1371742100137174210013717.421001371742
+123456789012345678901234567.89012345678 13717421001371742100137174.21001371742
+1234567890123456789012345678.9012345678 137174210013717421001371742.1001371742
+12345678901234567890123456789.012345678 1371742100137174210013717421.001371742
+123456789012345678901234567890.12345678 13717421001371742100137174210.01371742
+1234567890123456789012345678901.2345678 137174210013717421001371742100.1371742
+12345678901234567890123456789012.345678 1371742100137174210013717421001.371742
+123456789012345678901234567890123.45678 13717421001371742100137174210013.71742
+1234567890123456789012345678901234.5678 137174210013717421001371742100137.1742
+12345678901234567890123456789012345.678 1371742100137174210013717421001371.742
+99999999999999999999999999999999999 11111111111111111111111111111111111
+123456789012345678901234567890123456.78 13717421001371742100137174210013717.42
999999999999999999999999999999999999 111111111111111111111111111111111111
+12345678901234567890123456789012345678 1371742100137174210013717421001371742
+12345678901234567890123456789012345678 1371742100137174210013717421001371742
+12345678901234567890123456789012345678 1371742100137174210013717421001371742
+12345678901234567890123456789012345678 1371742100137174210013717421001371742
+12345678901234567890123456789012345678 1371742100137174210013717421001371742
+99999999999999999999999999999999999999 11111111111111111111111111111111111111
PREHOOK: query: SELECT dec, dec / 27 FROM DECIMAL_PRECISION ORDER BY dec
PREHOOK: type: QUERY
PREHOOK: Input: default@decimal_precision
@@ -358,72 +366,74 @@ NULL NULL
NULL NULL
NULL NULL
NULL NULL
+NULL NULL
+-99999999999999999999999999999999999999 -3703703703703703703703703703703703703.7
-999999999999999999999999999999999999 -37037037037037037037037037037037037
--9999999999999999999999999999999999 -370370370370370370370370370370370.333
--999999999999999999999999999999999 -37037037037037037037037037037037
--0.00000000000000000000000000000000001 0
+-99999999999999999999999999999999999 -3703703703703703703703703703703703.6667
+-0.0000000000000000000000000000000000001 0
0 0
-0.00000000000000000000000000000000001 0
-0.123456789012345 0.00457247366712388888888888888888889
-0.12345678901234567890123456789012345 0.00457247366712391403337905807000457
-1.234567890123456 0.04572473667123911111111111111111111
-1.23456789012345678901234567890123456 0.04572473667123914033379058070004572
-12.34567890123456 0.45724736671239111111111111111111111
-12.3456789012345678901234567890123456 0.45724736671239140333790580700045724
-123.4567890123456 4.57247366712391111111111111111111111
-123.456789012345678901234567890123456 4.57247366712391403337905807000457244
-1234.567890123456 45.7247366712391111111111111111111111
-1234.56789012345678901234567890123456 45.7247366712391403337905807000457244
-12345.67890123456 457.247366712391111111111111111111111
-12345.6789012345678901234567890123456 457.247366712391403337905807000457244
-123456.7890123456 4572.47366712391111111111111111111111
-123456.789012345678901234567890123456 4572.47366712391403337905807000457244
-1234567.890123456 45724.7366712391111111111111111111111
-1234567.89012345678901234567890123456 45724.7366712391403337905807000457244
-12345678.90123456 457247.366712391111111111111111111111
-12345678.9012345678901234567890123456 457247.366712391403337905807000457244
-123456789.0123456 4572473.66712391111111111111111111111
-123456789.012345678901234567890123456 4572473.66712391403337905807000457244
-1234567890.123456 45724736.6712391111111111111111111111
-1234567890.12345678901234567890123456 45724736.6712391403337905807000457244
-12345678901.23456 457247366.712391111111111111111111111
-12345678901.2345678901234567890123456 457247366.712391403337905807000457244
-123456789012.3456 4572473667.12391111111111111111111111
-123456789012.345678901234567890123456 4572473667.12391403337905807000457244
-1234567890123.456 45724736671.2391111111111111111111111
-1234567890123.45678901234567890123456 45724736671.2391403337905807000457244
-12345678901234.56 457247366712.391111111111111111111111
-12345678901234.5678901234567890123456 457247366712.391403337905807000457244
-123456789012345.6 4572473667123.91111111111111111111111
-123456789012345.678901234567890123456 4572473667123.91403337905807000457244
-1234567890123456.78901234567890123456 45724736671239.1403337905807000457244
-12345678901234567.8901234567890123456 457247366712391.403337905807000457244
-123456789012345678.901234567890123456 4572473667123914.03337905807000457244
-1234567890123456789.01234567890123456 45724736671239140.3337905807000457244
-12345678901234567890.1234567890123456 457247366712391403.337905807000457244
-123456789012345678901.234567890123456 4572473667123914033.37905807000457244
-1234567890123456789012.34567890123456 45724736671239140333.7905807000457244
-12345678901234567890123.4567890123456 457247366712391403337.905807000457244
-123456789012345678901234.567890123456 4572473667123914033379.05807000457244
-1234567890123456789012345.67890123456 45724736671239140333790.5807000457244
-12345678901234567890123456.7890123456 457247366712391403337905.807000457244
-123456789012345678901234567.890123456 4572473667123914033379058.07000457244
-1234567890123456789012345678.90123456 45724736671239140333790580.7000457244
-12345678901234567890123456789.0123456 457247366712391403337905807.000457244
-123456789012345678901234567890.123456 4572473667123914033379058070.00457244
-1234567890123456789012345678901.23456 45724736671239140333790580700.0457244
-12345678901234567890123456789012.3456 457247366712391403337905807000.457244
-123456789012345678901234567890123.456 4572473667123914033379058070004.57244
-999999999999999999999999999999999 37037037037037037037037037037037
-1234567890123456789012345678901234.56 45724736671239140333790580700045.7244
-9999999999999999999999999999999999 370370370370370370370370370370370.333
-12345678901234567890123456789012345.6 457247366712391403337905807000457.244
-123456789012345678901234567890123456 4572473667123914033379058070004572.44
-123456789012345678901234567890123456 4572473667123914033379058070004572.44
-123456789012345678901234567890123456 4572473667123914033379058070004572.44
-123456789012345678901234567890123456 4572473667123914033379058070004572.44
-123456789012345678901234567890123456 4572473667123914033379058070004572.44
+0.0000000000000000000000000000000000001 0
+0.123456789012345 0.0045724736671238888888888888888888889
+0.1234567890123456789012345678901234578 0.0045724736671239140333790580700045725
+1.234567890123456 0.0457247366712391111111111111111111111
+1.2345678901234567890123456789012345678 0.0457247366712391403337905807000457247
+12.34567890123456 0.4572473667123911111111111111111111111
+12.345678901234567890123456789012345678 0.4572473667123914033379058070004572473
+123.4567890123456 4.5724736671239111111111111111111111111
+123.45678901234567890123456789012345678 4.5724736671239140333790580700045724733
+1234.567890123456 45.724736671239111111111111111111111111
+1234.5678901234567890123456789012345678 45.724736671239140333790580700045724733
+12345.67890123456 457.24736671239111111111111111111111111
+12345.678901234567890123456789012345678 457.24736671239140333790580700045724733
+123456.7890123456 4572.4736671239111111111111111111111111
+123456.78901234567890123456789012345678 4572.4736671239140333790580700045724733
+1234567.890123456 45724.736671239111111111111111111111111
+1234567.8901234567890123456789012345678 45724.736671239140333790580700045724733
+12345678.90123456 457247.36671239111111111111111111111111
+12345678.901234567890123456789012345678 457247.36671239140333790580700045724733
+123456789.0123456 4572473.6671239111111111111111111111111
+123456789.01234567890123456789012345678 4572473.6671239140333790580700045724733
+1234567890.123456 45724736.671239111111111111111111111111
+1234567890.1234567890123456789012345678 45724736.671239140333790580700045724733
+12345678901.23456 457247366.71239111111111111111111111111
+12345678901.234567890123456789012345678 457247366.71239140333790580700045724733
+123456789012.3456 4572473667.1239111111111111111111111111
+123456789012.34567890123456789012345678 4572473667.1239140333790580700045724733
+1234567890123.456 45724736671.239111111111111111111111111
+1234567890123.4567890123456789012345678 45724736671.239140333790580700045724733
+12345678901234.56 457247366712.39111111111111111111111111
+12345678901234.567890123456789012345678 457247366712.39140333790580700045724733
+123456789012345.6 4572473667123.9111111111111111111111111
+123456789012345.67890123456789012345678 4572473667123.9140333790580700045724733
+1234567890123456.7890123456789012345678 45724736671239.140333790580700045724733
+12345678901234567.890123456789012345678 457247366712391.40333790580700045724733
+123456789012345678.90123456789012345678 4572473667123914.0333790580700045724733
+1234567890123456789.0123456789012345678 45724736671239140.333790580700045724733
+12345678901234567890.123456789012345678 457247366712391403.33790580700045724733
+123456789012345678901.23456789012345678 4572473667123914033.3790580700045724733
+1234567890123456789012.3456789012345678 45724736671239140333.790580700045724733
+12345678901234567890123.456789012345678 457247366712391403337.90580700045724733
+123456789012345678901234.56789012345678 4572473667123914033379.0580700045724733
+1234567890123456789012345.6789012345678 45724736671239140333790.580700045724733
+12345678901234567890123456.789012345678 457247366712391403337905.80700045724733
+123456789012345678901234567.89012345678 4572473667123914033379058.0700045724733
+1234567890123456789012345678.9012345678 45724736671239140333790580.700045724733
+12345678901234567890123456789.012345678 457247366712391403337905807.00045724733
+123456789012345678901234567890.12345678 4572473667123914033379058070.0045724733
+1234567890123456789012345678901.2345678 45724736671239140333790580700.045724733
+12345678901234567890123456789012.345678 457247366712391403337905807000.45724733
+123456789012345678901234567890123.45678 4572473667123914033379058070004.5724733
+1234567890123456789012345678901234.5678 45724736671239140333790580700045.724733
+12345678901234567890123456789012345.678 457247366712391403337905807000457.24733
+99999999999999999999999999999999999 3703703703703703703703703703703703.6667
+123456789012345678901234567890123456.78 4572473667123914033379058070004572.4733
999999999999999999999999999999999999 37037037037037037037037037037037037
+12345678901234567890123456789012345678 457247366712391403337905807000457247.33
+12345678901234567890123456789012345678 457247366712391403337905807000457247.33
+12345678901234567890123456789012345678 457247366712391403337905807000457247.33
+12345678901234567890123456789012345678 457247366712391403337905807000457247.33
+12345678901234567890123456789012345678 457247366712391403337905807000457247.33
+99999999999999999999999999999999999999 3703703703703703703703703703703703703.7
PREHOOK: query: SELECT dec, dec * dec FROM DECIMAL_PRECISION ORDER BY dec
PREHOOK: type: QUERY
PREHOOK: Input: default@decimal_precision
@@ -439,72 +449,74 @@ NULL NULL
NULL NULL
NULL NULL
NULL NULL
+NULL NULL
+-99999999999999999999999999999999999999 NULL
-999999999999999999999999999999999999 NULL
--9999999999999999999999999999999999 NULL
--999999999999999999999999999999999 NULL
--0.00000000000000000000000000000000001 NULL
+-99999999999999999999999999999999999 NULL
+-0.0000000000000000000000000000000000001 NULL
0 0
-0.00000000000000000000000000000000001 NULL
+0.0000000000000000000000000000000000001 NULL
0.123456789012345 0.015241578753238669120562399025
-0.12345678901234567890123456789012345 NULL
+0.1234567890123456789012345678901234578 NULL
1.234567890123456 1.524157875323881726870921383936
-1.23456789012345678901234567890123456 NULL
+1.2345678901234567890123456789012345678 NULL
12.34567890123456 152.4157875323881726870921383936
-12.3456789012345678901234567890123456 NULL
+12.345678901234567890123456789012345678 NULL
123.4567890123456 15241.57875323881726870921383936
-123.456789012345678901234567890123456 NULL
+123.45678901234567890123456789012345678 NULL
1234.567890123456 1524157.875323881726870921383936
-1234.56789012345678901234567890123456 NULL
+1234.5678901234567890123456789012345678 NULL
12345.67890123456 152415787.5323881726870921383936
-12345.6789012345678901234567890123456 NULL
+12345.678901234567890123456789012345678 NULL
123456.7890123456 15241578753.23881726870921383936
-123456.789012345678901234567890123456 NULL
+123456.78901234567890123456789012345678 NULL
1234567.890123456 1524157875323.881726870921383936
-1234567.89012345678901234567890123456 NULL
+1234567.8901234567890123456789012345678 NULL
12345678.90123456 152415787532388.1726870921383936
-12345678.9012345678901234567890123456 NULL
+12345678.901234567890123456789012345678 NULL
123456789.0123456 15241578753238817.26870921383936
-123456789.012345678901234567890123456 NULL
+123456789.01234567890123456789012345678 NULL
1234567890.123456 1524157875323881726.870921383936
-1234567890.12345678901234567890123456 NULL
+1234567890.1234567890123456789012345678 NULL
12345678901.23456 152415787532388172687.0921383936
-12345678901.2345678901234567890123456 NULL
+12345678901.234567890123456789012345678 NULL
123456789012.3456 15241578753238817268709.21383936
-123456789012.345678901234567890123456 NULL
+123456789012.34567890123456789012345678 NULL
1234567890123.456 1524157875323881726870921.383936
-1234567890123.45678901234567890123456 NULL
+1234567890123.4567890123456789012345678 NULL
12345678901234.56 152415787532388172687092138.3936
-12345678901234.5678901234567890123456 NULL
+12345678901234.567890123456789012345678 NULL
123456789012345.6 15241578753238817268709213839.36
-123456789012345.678901234567890123456 NULL
-1234567890123456.78901234567890123456 NULL
-12345678901234567.8901234567890123456 NULL
-123456789012345678.901234567890123456 NULL
-1234567890123456789.01234567890123456 NULL
-12345678901234567890.1234567890123456 NULL
-123456789012345678901.234567890123456 NULL
-1234567890123456789012.34567890123456 NULL
-12345678901234567890123.4567890123456 NULL
-123456789012345678901234.567890123456 NULL
-1234567890123456789012345.67890123456 NULL
-12345678901234567890123456.7890123456 NULL
-123456789012345678901234567.890123456 NULL
-1234567890123456789012345678.90123456 NULL
-12345678901234567890123456789.0123456 NULL
-123456789012345678901234567890.123456 NULL
-1234567890123456789012345678901.23456 NULL
-12345678901234567890123456789012.3456 NULL
-123456789012345678901234567890123.456 NULL
-999999999999999999999999999999999 NULL
-1234567890123456789012345678901234.56 NULL
-9999999999999999999999999999999999 NULL
-12345678901234567890123456789012345.6 NULL
-123456789012345678901234567890123456 NULL
-123456789012345678901234567890123456 NULL
-123456789012345678901234567890123456 NULL
-123456789012345678901234567890123456 NULL
-123456789012345678901234567890123456 NULL
+123456789012345.67890123456789012345678 NULL
+1234567890123456.7890123456789012345678 NULL
+12345678901234567.890123456789012345678 NULL
+123456789012345678.90123456789012345678 NULL
+1234567890123456789.0123456789012345678 NULL
+12345678901234567890.123456789012345678 NULL
+123456789012345678901.23456789012345678 NULL
+1234567890123456789012.3456789012345678 NULL
+12345678901234567890123.456789012345678 NULL
+123456789012345678901234.56789012345678 NULL
+1234567890123456789012345.6789012345678 NULL
+12345678901234567890123456.789012345678 NULL
+123456789012345678901234567.89012345678 NULL
+1234567890123456789012345678.9012345678 NULL
+12345678901234567890123456789.012345678 NULL
+123456789012345678901234567890.12345678 NULL
+1234567890123456789012345678901.2345678 NULL
+12345678901234567890123456789012.345678 NULL
+123456789012345678901234567890123.45678 NULL
+1234567890123456789012345678901234.5678 NULL
+12345678901234567890123456789012345.678 NULL
+99999999999999999999999999999999999 NULL
+123456789012345678901234567890123456.78 NULL
999999999999999999999999999999999999 NULL
+12345678901234567890123456789012345678 NULL
+12345678901234567890123456789012345678 NULL
+12345678901234567890123456789012345678 NULL
+12345678901234567890123456789012345678 NULL
+12345678901234567890123456789012345678 NULL
+99999999999999999999999999999999999999 NULL
PREHOOK: query: SELECT avg(dec), sum(dec) FROM DECIMAL_PRECISION
PREHOOK: type: QUERY
PREHOOK: Input: default@decimal_precision
Modified: hive/trunk/ql/src/test/results/clientpositive/decimal_udf.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/decimal_udf.q.out?rev=1468588&r1=1468587&r2=1468588&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/decimal_udf.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/decimal_udf.q.out Tue Apr 16 20:12:35 2013
@@ -752,7 +752,7 @@ NULL
9.8596
9.8596
NULL
-NULL
+1524157875323883675.019051998750190521
1524157875323883652.7968299765279684
PREHOOK: query: EXPLAIN SELECT key * value FROM DECIMAL_UDF
PREHOOK: type: QUERY
@@ -1226,7 +1226,7 @@ POSTHOOK: Input: default@decimal_udf
1
1
1
-1.04666666666666666666666666666666667
+1.0466666666666666666666666666666666667
1.12
1.12
0.102
@@ -1234,13 +1234,13 @@ POSTHOOK: Input: default@decimal_udf
1.122
1
1.0016
-1.00039043824701195219123505976095618
-1.04666666666666666666666666666666667
-1.04666666666666666666666666666666667
+1.0003904382470119521912350597609561753
+1.0466666666666666666666666666666666667
+1.0466666666666666666666666666666666667
0.785
0.9999999999999999999999999
1.0000000001
-1.0000000000999999927099999336609994
+1.0000000000999999927099999336609993963
PREHOOK: query: EXPLAIN SELECT key / (value/2) FROM DECIMAL_UDF WHERE value is not null and value <> 0
PREHOOK: type: QUERY
POSTHOOK: query: EXPLAIN SELECT key / (value/2) FROM DECIMAL_UDF WHERE value is not null and value <> 0
@@ -1297,7 +1297,7 @@ POSTHOOK: Input: default@decimal_udf
2
2
2
-2.09333333333333333333333333333333333
+2.0933333333333333333333333333333333333
2.24
2.24
0.204
@@ -1305,13 +1305,13 @@ POSTHOOK: Input: default@decimal_udf
2.244
2
2.0032
-2.00078087649402390438247011952191235
-2.09333333333333333333333333333333333
-2.09333333333333333333333333333333333
+2.0007808764940239043824701195219123506
+2.0933333333333333333333333333333333333
+2.0933333333333333333333333333333333333
1.57
1.9999999999999999999999998
2.0000000002
-2.00000000019999998541999986732199879
+2.0000000001999999854199998673219987926
PREHOOK: query: EXPLAIN SELECT key / '2.0' FROM DECIMAL_UDF
PREHOOK: type: QUERY
POSTHOOK: query: EXPLAIN SELECT key / '2.0' FROM DECIMAL_UDF
@@ -2111,7 +2111,7 @@ NULL
9.8596
9.8596
NULL
-NULL
+1524157875323883675.019051998750190521
1524157875323883652.7968299765279684
PREHOOK: query: -- modulo
EXPLAIN SELECT (key + 1) % (key / 2) FROM DECIMAL_UDF