[ 
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

Reply via email to