[
https://issues.apache.org/jira/browse/TAJO-1574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14514120#comment-14514120
]
ASF GitHub Bot commented on TAJO-1574:
--------------------------------------
Github user jihoonson commented on a diff in the pull request:
https://github.com/apache/tajo/pull/548#discussion_r29145724
--- Diff:
tajo-core/src/test/java/org/apache/tajo/engine/query/TestJoinQuery.java ---
@@ -1191,4 +1192,16 @@ public final void testJoinWithOrPredicates() throws
Exception {
assertResultSet(res);
cleanupQuery(res);
}
+
+ @Test
+ public final void testNaturalJoin() throws Exception {
+ ResultSet res = null;
+ try {
+ res = executeQuery();
+ } catch (Exception e) {
--- End diff --
This catch block is redundant because the testNaturalJoin method throws
Exception. I'll remove it before commit.
> Fix NPE on natural join
> -----------------------
>
> Key: TAJO-1574
> URL: https://issues.apache.org/jira/browse/TAJO-1574
> Project: Tajo
> Issue Type: Bug
> Affects Versions: 0.10.0
> Reporter: Dongjoon Hyun
> Assignee: Dongjoon Hyun
> Priority: Minor
> Attachments: TAJO-1574.Hyun.150421.0.patch.txt
>
>
> NPE occurs in a natural join.
> {code}
> default> create table t(a int);
> default> insert overwrite into t select 1;
> default> create table s(a int);
> default> insert overwrite into s select 1;
> default> select * from t natural join s;
> {code}
> The main reason is *joinQual* is null.
> {code}
> public RESULT visitJoin(CONTEXT ctx, Stack<Expr> stack, Join expr) throws
> PlanningException {
> stack.push(expr);
> - visit(ctx, stack, expr.getQual());
> + if (expr.getQual() != null) {
> + visit(ctx, stack, expr.getQual());
> + }
> {code}
> {code}
> - join.joinQual = (Expr) joinQual.clone();
> + if (joinQual != null) {
> + join.joinQual = (Expr) joinQual.clone();
> + }
> {code}
> After fix, we need to get the following result.
> {code}
> default> select * from t natural join s;
> Progress: 100%, response time: 0.293 sec
> a, a
> -------------------------------
> 1, 1
> (1 rows, 0.293 sec, 4 B selected)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)