You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tajo.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2014/07/14 07:38:04 UTC

[jira] [Commented] (TAJO-939) Refactoring the column resolver in LogicalPlan

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

ASF GitHub Bot commented on TAJO-939:
-------------------------------------

GitHub user hyunsik opened a pull request:

    https://github.com/apache/tajo/pull/71

    TAJO-939: Refactoring the column resolver in LogicalPlan

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/hyunsik/tajo TAJO-939

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/tajo/pull/71.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #71
    
----
commit 8ff4d31297267547cf9111d6ac9fb9ed29e6e859
Author: Hyunsik Choi <hy...@apache.org>
Date:   2014-07-13T13:25:03Z

    Column Resolver should play different roles at each operation:
    
    First refactoring of resolver.

commit 048c953768da9943c5d87c3f2e680f57e60aa571
Author: Hyunsik Choi <hy...@apache.org>
Date:   2014-07-13T17:45:23Z

    Column Resolver should play different roles at each operation:
    
    Refactored many of createEval to use NameResolver.

commit cce2a566c1bca84d19e328d3b920c3b96af7bfe9
Author: Hyunsik Choi <hy...@apache.org>
Date:   2014-07-13T18:28:29Z

    Column Resolver should play different roles at each operation:
    
    Refactored CreateEval() except for join.

commit 2d1a1d81631056711d5ff91d92f0f934c9561525
Author: Hyunsik Choi <hy...@apache.org>
Date:   2014-07-14T02:15:29Z

    Column Resolver should play different roles at each operation:
    
    Completely extracted the column resolver from LogicalPlan.

commit ce12386d5e188679f48042ddc4262de59f9633be
Author: Hyunsik Choi <hy...@apache.org>
Date:   2014-07-14T04:53:42Z

    add comments.

commit 0cac367998ce0399d0e31e6b5669ba74e1bb91a8
Author: Hyunsik Choi <hy...@apache.org>
Date:   2014-07-14T05:09:37Z

    added more unit tests.

----


> Refactoring the column resolver in LogicalPlan
> ----------------------------------------------
>
>                 Key: TAJO-939
>                 URL: https://issues.apache.org/jira/browse/TAJO-939
>             Project: Tajo
>          Issue Type: Bug
>          Components: planner/optimizer
>            Reporter: Hyunsik Choi
>            Assignee: Hyunsik Choi
>             Fix For: 0.9.0
>
>
> The main role of the column resolver is to find the exact column in a relation or a temporal column to which a variable name points. We have used a monolithic column resolver to deal with lots of cases.
> But, resolving a name should play different roles according to at which the name is placed. 
> For example, 1) a column name in select list always points one of fields in relations, 2) a column name in WHERE clause can point to one of fields in relations or one of aliased temporal fields in select list. If there are duplicated, the column name firstly chooses the field in relations. 3) a column name in ORDER BY clause is similar to that in WHERE clause, but it firstly chooses one of aliased temporal fields in select list.
> The current column resolver does not consider the above rules. As a result, it works incorrectly in some cases where a sql statement includes the same name references, actually indicating one field in relation and one aliased temporal field in select list. We should fix it.



--
This message was sent by Atlassian JIRA
(v6.2#6252)