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 07:19:05 GMT

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

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

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

  Navis, I know I am asking pretty naive questions here, but I am not able to proceed.

INLINE COMMENTS
  ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java:363 Can you add more
comments everywhere ?
  I know that the old code also did not have many good comments, but it would be really
  useful.

  It is really difficult for me to be sure.
  I reviewed some test results, and they look fine.

  As you correctly said, this is hard. It would really help if you have a small example
  explained in comments in the code. It would really increase the maintainability of this
  code bigtime. Something like:

  for Query :::
  where the data is :::
  the aliasFilterTags will be::

  I know I am asking for too much, but this code is too risky to change.
  ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java:396 General comment:
please add lots of comments for all the private functions.
  ql/src/java/org/apache/hadoop/hive/ql/exec/CommonJoinOperator.java:352 What is a skipvector
? Going to the comment below, can you explain with a query/data
  example. Same for offsets.


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