[
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 <[email protected]>
Date: 2014-07-13T13:25:03Z
Column Resolver should play different roles at each operation:
First refactoring of resolver.
commit 048c953768da9943c5d87c3f2e680f57e60aa571
Author: Hyunsik Choi <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
Date: 2014-07-14T04:53:42Z
add comments.
commit 0cac367998ce0399d0e31e6b5669ba74e1bb91a8
Author: Hyunsik Choi <[email protected]>
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)