Author: hashutosh
Date: Tue Sep 17 14:26:47 2013
New Revision: 1524062

URL: http://svn.apache.org/r1524062
Log:
HIVE-5292 : Join on decimal columns fails to return rows (Navis via Ashutosh 
Chauhan)

Added:
    hive/trunk/ql/src/test/queries/clientpositive/decimal_join.q
    hive/trunk/ql/src/test/results/clientpositive/decimal_join.q.out
Modified:
    
hive/trunk/common/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java

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=1524062&r1=1524061&r2=1524062&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 Sep 17 14:26:47 2013
@@ -98,6 +98,11 @@ public class HiveDecimal implements Comp
   }
 
   @Override
+  public int hashCode() {
+    return bd.hashCode();
+  }
+
+  @Override
   public boolean equals(Object obj) {
     if (obj == null || obj.getClass() != getClass()) {
       return false;

Added: hive/trunk/ql/src/test/queries/clientpositive/decimal_join.q
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/decimal_join.q?rev=1524062&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/decimal_join.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/decimal_join.q Tue Sep 17 
14:26:47 2013
@@ -0,0 +1,6 @@
+-- HIVE-5292 Join on decimal columns fails
+
+create table src_dec (key decimal, value string);
+load data local inpath '../data/files/kv1.txt' into table src_dec;
+
+select * from src_dec a join src_dec b on a.key=b.key+450;

Added: hive/trunk/ql/src/test/results/clientpositive/decimal_join.q.out
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/decimal_join.q.out?rev=1524062&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/decimal_join.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/decimal_join.q.out Tue Sep 17 
14:26:47 2013
@@ -0,0 +1,75 @@
+PREHOOK: query: -- HIVE-5292 Join on decimal columns fails
+
+create table src_dec (key decimal, value string)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: -- HIVE-5292 Join on decimal columns fails
+
+create table src_dec (key decimal, value string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@src_dec
+PREHOOK: query: load data local inpath '../data/files/kv1.txt' into table 
src_dec
+PREHOOK: type: LOAD
+PREHOOK: Output: default@src_dec
+POSTHOOK: query: load data local inpath '../data/files/kv1.txt' into table 
src_dec
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@src_dec
+PREHOOK: query: select * from src_dec a join src_dec b on a.key=b.key+450
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src_dec
+#### A masked pattern was here ####
+POSTHOOK: query: select * from src_dec a join src_dec b on a.key=b.key+450
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src_dec
+#### A masked pattern was here ####
+452    val_452 2       val_2
+454    val_454 4       val_4
+454    val_454 4       val_4
+454    val_454 4       val_4
+455    val_455 5       val_5
+455    val_455 5       val_5
+455    val_455 5       val_5
+458    val_458 8       val_8
+458    val_458 8       val_8
+459    val_459 9       val_9
+459    val_459 9       val_9
+460    val_460 10      val_10
+462    val_462 12      val_12
+462    val_462 12      val_12
+462    val_462 12      val_12
+462    val_462 12      val_12
+467    val_467 17      val_17
+468    val_468 18      val_18
+468    val_468 18      val_18
+468    val_468 18      val_18
+468    val_468 18      val_18
+468    val_468 18      val_18
+468    val_468 18      val_18
+468    val_468 18      val_18
+468    val_468 18      val_18
+469    val_469 19      val_19
+469    val_469 19      val_19
+469    val_469 19      val_19
+469    val_469 19      val_19
+469    val_469 19      val_19
+470    val_470 20      val_20
+477    val_477 27      val_27
+478    val_478 28      val_28
+478    val_478 28      val_28
+480    val_480 30      val_30
+480    val_480 30      val_30
+480    val_480 30      val_30
+483    val_483 33      val_33
+484    val_484 34      val_34
+485    val_485 35      val_35
+485    val_485 35      val_35
+485    val_485 35      val_35
+487    val_487 37      val_37
+487    val_487 37      val_37
+491    val_491 41      val_41
+492    val_492 42      val_42
+492    val_492 42      val_42
+492    val_492 42      val_42
+492    val_492 42      val_42
+493    val_493 43      val_43
+494    val_494 44      val_44
+497    val_497 47      val_47


Reply via email to