You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by "Hyunsik Choi (JIRA)" <ji...@apache.org> on 2014/01/29 21:30:21 UTC

[jira] [Comment Edited] (TAJO-570) InvalidOperationException in outer join with constant values

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

Hyunsik Choi edited comment on TAJO-570 at 1/29/14 8:30 PM:
------------------------------------------------------------

The patch includes one improvement and one bug fix related to this bug.

One improvement is to eliminate constant casting. Currently, a casting operation remains even if the casting is for constant. This improvement removes a  constant casting operation and just replaces it by a pre-casted constant value. This improvement does not allow this bug case.

It also fixes a bug of LogicalPlanner::checkIfBeEvaluatedAtRelation. It works incorrectly if there is no column references (i.e., constant value) which is the same case to this bug. Hyoung jun pointed out this bug in offline, and I included it to this patch.


was (Author: hyunsik):
The patch includes one improvement and one bug fix related to this bug.

One improvement is to eliminate constant casting. Currently, a casting operation remains even if the casting is for constant. This improvement removes a  constant casting operation and just replaces it by a pre-casted constant value. This improvement does not allow this bug case.

It also fixes a bug of LogicalPlanner::checkIfBeEvaluatedAtRelation. It works incorrectly if there is no column references (i.e., constant value) which is the same case to this bug. Hyoung jun pointed out this bug in offline, and I included it to this patch.

Either way fixes this bug, and I included both for potential bugs that we haven't found yet.

> InvalidOperationException in outer join with constant values
> ------------------------------------------------------------
>
>                 Key: TAJO-570
>                 URL: https://issues.apache.org/jira/browse/TAJO-570
>             Project: Tajo
>          Issue Type: Bug
>          Components: planner/optimizer
>            Reporter: Hyunsik Choi
>            Assignee: Hyunsik Choi
>             Fix For: 0.8-incubating
>
>         Attachments: TAJO-570.patch, TAJO-570_2.patch
>
>
> {code}
> select 
>   a.name, 
>   1::FLOAT, 
>   max_id 
> from table1 a
> left outer join
>  (select id, max(type) as max_id from table1 group by id) b
>  on a.id = b.id
> {code}
> The above case causes the following error:
> {code}
> 2014-01-29 14:37:35,419 ERROR worker.Task (Task.java:run(378)) - org.apache.tajo.datum.exception.InvalidOperationException: Cannot equivalent check: TEXT and INT4
>         at org.apache.tajo.datum.TextDatum.equalsTo(TextDatum.java:137)
>         at org.apache.tajo.engine.eval.BinaryEval.eval(BinaryEval.java:134)
>         at org.apache.tajo.engine.planner.physical.HashLeftOuterJoinExec.next(HashLeftOuterJoinExec.java:144)
>         at org.apache.tajo.engine.planner.physical.HashShuffleFileWriteExec.next(HashShuffleFileWriteExec.java:117)
>         at org.apache.tajo.worker.Task.run(Task.java:370)
>         at org.apache.tajo.worker.TaskRunner$1.run(TaskRunner.java:392)
>         at java.lang.Thread.run(Thread.java:662)
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)