hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phabricator (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-3381) Result of outer join is not valid
Date Mon, 26 Nov 2012 13:16:59 GMT

    [ https://issues.apache.org/jira/browse/HIVE-3381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13503772#comment-13503772
] 

Phabricator commented on HIVE-3381:
-----------------------------------

navis has commented on the revision "HIVE-3381 [jira] Result of outer join is not valid".

INLINE COMMENTS
  ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java:352 'skipVectors' has
same meaning with 'inputNulls' in original source, which makes output value for the index(alias)
to be filled with null. But doing this I always confused by it's name that it means value
for the index(alias) is null, which can be true or false either. I'll change it to 'inputNulls'
if you prefer.
  When inputNulls for some index is true, it gets metadata for the index and gets length for
it and fills null for that length. 'offsets' is just pre-calculated values of such offsets.
  ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java:363 The problem is I'm
also still not sure that this patch is right.
  I'll add more comments.
  ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java:396 ok.

REVISION DETAIL
  https://reviews.facebook.net/D5565

To: JIRA, navis
Cc: njain

                
> Result of outer join is not valid
> ---------------------------------
>
>                 Key: HIVE-3381
>                 URL: https://issues.apache.org/jira/browse/HIVE-3381
>             Project: Hive
>          Issue Type: Bug
>          Components: Query Processor
>    Affects Versions: 0.10.0
>            Reporter: Navis
>            Assignee: Navis
>            Priority: Critical
>         Attachments: HIVE-3381.D5565.3.patch
>
>
> Outer joins, especially full outer joins or outer join with filter on 'ON clause' is
not showing proper results. For example, query in test join_1to1.q
> {code}
> SELECT * FROM join_1to1_1 a full outer join join_1to1_2 b on a.key1 = b.key1 and a.value
= 66 and b.value = 66 ORDER BY a.key1 ASC, a.key2 ASC, a.value ASC, b.key1 ASC, b.key2 ASC,
b.value ASC;
> {code}
> results
> {code}
> NULL	NULL	NULL	NULL	NULL	66
> NULL	NULL	NULL	NULL	10050	66
> NULL	NULL	NULL	10	10010	66
> NULL	NULL	NULL	30	10030	88
> NULL	NULL	NULL	35	10035	88
> NULL	NULL	NULL	40	10040	88
> NULL	NULL	NULL	40	10040	88
> NULL	NULL	NULL	50	10050	88
> NULL	NULL	NULL	50	10050	88
> NULL	NULL	NULL	50	10050	88
> NULL	NULL	NULL	70	10040	88
> NULL	NULL	NULL	70	10040	88
> NULL	NULL	NULL	70	10040	88
> NULL	NULL	NULL	70	10040	88
> NULL	NULL	66	NULL	NULL	NULL
> NULL	10050	66	NULL	NULL	NULL
> 5	10005	66	5	10005	66
> 15	10015	66	NULL	NULL	NULL
> 20	10020	66	20	10020	66
> 25	10025	88	NULL	NULL	NULL
> 30	10030	66	NULL	NULL	NULL
> 35	10035	88	NULL	NULL	NULL
> 40	10040	66	NULL	NULL	NULL
> 40	10040	66	40	10040	66
> 40	10040	88	NULL	NULL	NULL
> 40	10040	88	NULL	NULL	NULL
> 50	10050	66	NULL	NULL	NULL
> 50	10050	66	50	10050	66
> 50	10050	66	50	10050	66
> 50	10050	88	NULL	NULL	NULL
> 50	10050	88	NULL	NULL	NULL
> 50	10050	88	NULL	NULL	NULL
> 50	10050	88	NULL	NULL	NULL
> 50	10050	88	NULL	NULL	NULL
> 50	10050	88	NULL	NULL	NULL
> 60	10040	66	60	10040	66
> 60	10040	66	60	10040	66
> 60	10040	66	60	10040	66
> 60	10040	66	60	10040	66
> 70	10040	66	NULL	NULL	NULL
> 70	10040	66	NULL	NULL	NULL
> 70	10040	66	NULL	NULL	NULL
> 70	10040	66	NULL	NULL	NULL
> 80	10040	88	NULL	NULL	NULL
> 80	10040	88	NULL	NULL	NULL
> 80	10040	88	NULL	NULL	NULL
> 80	10040	88	NULL	NULL	NULL
> {code} 
> but it seemed not right. This should be 
> {code}
> NULL	NULL	NULL	NULL	NULL	66
> NULL	NULL	NULL	NULL	10050	66
> NULL	NULL	NULL	10	10010	66
> NULL	NULL	NULL	25	10025	66
> NULL	NULL	NULL	30	10030	88
> NULL	NULL	NULL	35	10035	88
> NULL	NULL	NULL	40	10040	88
> NULL	NULL	NULL	50	10050	88
> NULL	NULL	NULL	70	10040	88
> NULL	NULL	NULL	70	10040	88
> NULL	NULL	NULL	80	10040	66
> NULL	NULL	NULL	80	10040	66
> NULL	NULL	66	NULL	NULL	NULL
> NULL	10050	66	NULL	NULL	NULL
> 5	10005	66	5	10005	66
> 15	10015	66	NULL	NULL	NULL
> 20	10020	66	20	10020	66
> 25	10025	88	NULL	NULL	NULL
> 30	10030	66	NULL	NULL	NULL
> 35	10035	88	NULL	NULL	NULL
> 40	10040	66	40	10040	66
> 40	10040	88	NULL	NULL	NULL
> 50	10050	66	50	10050	66
> 50	10050	66	50	10050	66
> 50	10050	88	NULL	NULL	NULL
> 50	10050	88	NULL	NULL	NULL
> 60	10040	66	60	10040	66
> 60	10040	66	60	10040	66
> 60	10040	66	60	10040	66
> 60	10040	66	60	10040	66
> 70	10040	66	NULL	NULL	NULL
> 70	10040	66	NULL	NULL	NULL
> 80	10040	88	NULL	NULL	NULL
> 80	10040	88	NULL	NULL	NULL
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message