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

Hudson commented on TAJO-939:
-----------------------------

SUCCESS: Integrated in Tajo-master-build #309 (See 
[https://builds.apache.org/job/Tajo-master-build/309/])
TAJO-939: Refactoring the column resolver in LogicalPlan. (hyunsik: rev 
862435bc9622f9a8dde07417158b904554c36e60)
* 
tajo-catalog/tajo-catalog-common/src/main/java/org/apache/tajo/catalog/Schema.java
* 
tajo-core/src/main/java/org/apache/tajo/engine/planner/nameresolver/ResolverBySubExprsAndRels.java
* 
tajo-core/src/main/java/org/apache/tajo/engine/planner/LogicalPlanPreprocessor.java
* 
tajo-core/src/test/resources/results/TestSelectQuery/testNonQualifiedNames.result
* 
tajo-core/src/main/java/org/apache/tajo/engine/planner/nameresolver/ResolverByLegacy.java
* tajo-core/src/test/java/org/apache/tajo/engine/query/TestCaseByCases.java
* CHANGES
* tajo-core/src/test/java/org/apache/tajo/engine/eval/TestEvalTreeUtil.java
* 
tajo-core/src/main/java/org/apache/tajo/engine/planner/nameresolver/NameResolver.java
* 
tajo-core/src/main/java/org/apache/tajo/engine/planner/nameresolver/ResolverByRelsAndSubExprs.java
* 
tajo-core/src/test/resources/queries/TestSelectQuery/testSelectColumnAliasExistingInRelation1.sql
* tajo-core/src/main/java/org/apache/tajo/engine/planner/LogicalPlanner.java
* tajo-core/src/test/resources/results/TestCaseByCases/testTAJO917Case1.result
* tajo-core/src/main/java/org/apache/tajo/engine/planner/LogicalPlan.java
* tajo-core/src/main/java/org/apache/tajo/engine/planner/ExprNormalizer.java
* 
tajo-core/src/test/resources/results/TestSelectQuery/testSelectColumnAliasExistingInRelation1.result
* 
tajo-core/src/main/java/org/apache/tajo/engine/planner/nameresolver/ResolverByRels.java
* tajo-core/src/test/resources/queries/TestCaseByCases/testTAJO917Case1.sql
* tajo-core/src/test/resources/queries/TestSelectQuery/testNonQualifiedNames.sql
* 
tajo-core/src/main/java/org/apache/tajo/engine/planner/nameresolver/NameResolvingMode.java
* 
tajo-core/src/main/java/org/apache/tajo/engine/planner/logical/TableSubQueryNode.java
* 
tajo-core/src/test/resources/results/TestSelectQuery/testSelectColumnAliasExistingInRelation2.result
* tajo-core/src/main/java/org/apache/tajo/engine/planner/ExprAnnotator.java
* 
tajo-core/src/test/resources/queries/TestSelectQuery/testSelectColumnAliasExistingInRelation2.sql
* tajo-core/src/test/java/org/apache/tajo/engine/query/TestSelectQuery.java


> 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)

Reply via email to