[
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