You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Furcy Pin (JIRA)" <ji...@apache.org> on 2015/06/04 13:09:38 UTC

[jira] [Created] (HIVE-10931) Wrong columns selected on multiple joins

Furcy Pin created HIVE-10931:
--------------------------------

             Summary: Wrong columns selected on multiple joins
                 Key: HIVE-10931
                 URL: https://issues.apache.org/jira/browse/HIVE-10931
             Project: Hive
          Issue Type: Bug
    Affects Versions: 1.1.0
         Environment: Cloudera cdh5.4.2
            Reporter: Furcy Pin


The following set of queries :

```
DROP TABLE IF EXISTS test1 ;
DROP TABLE IF EXISTS test2 ;
DROP TABLE IF EXISTS test3 ;

CREATE TABLE test1 (col1 INT, col2 STRING, col3 STRING, coL4 STRING, coL5 STRING, col6 STRING) ;
INSERT INTO TABLE test1 VALUES (1,NULL,NULL,NULL,NULL,"A") ;

CREATE TABLE test2 (col1 INT, col2 STRING, col3 STRING, coL4 STRING, coL5 STRING, col6 STRING) ;
INSERT INTO TABLE test2 VALUES (1,NULL,NULL,NULL,NULL,"X") ;

CREATE TABLE test3 (coL1 STRING) ;
INSERT INTO TABLE test3 VALUES ("A") ;

SELECT
  T2.val
FROM test1 T1
LEFT JOIN (SELECT col1, col2, col3, col4, col5,  COALESCE(col6,"") as val FROM test2) T2
ON T2.col1 = T1.col1
LEFT JOIN test3 T3  
ON T3.col1 = T1.col6 
;
```

will return this :

```
+----------+--+
| t2.val   |
+----------+--+
| A        |
+----------+--+
```

Obviously, this result is wrong as table `test2` contains a "X" and no "A".

This is the most minimal example we found of this issue, in particular
having less than 6 columns in the tables will work, for instance :

```
SELECT
  T2.val
FROM test1 T1
LEFT JOIN (SELECT col1, col2, col3, col4, COALESCE(col6,"") as val FROM test2) T2
ON T2.col1 = T1.col1
LEFT JOIN test3 T3  
ON T3.col1 = T1.col6 
;
```

(same query as before, but `col5` was removed from the select)
will return :

```
+----------+--+
| t2.val   |
+----------+--+
| X        |
+----------+--+
```

Removing the `COALESCE` also removes the bug...






--
This message was sent by Atlassian JIRA
(v6.3.4#6332)