[
https://issues.apache.org/jira/browse/TAJO-1011?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14102119#comment-14102119
]
ASF GitHub Bot commented on TAJO-1011:
--------------------------------------
Github user hyunsik commented on the pull request:
https://github.com/apache/tajo/pull/122#issuecomment-52618777
+1
The patch looks good to me. Ship it. As you already mentioned in the
change, this change still misunderstand an comparison expression of complex
expressions which includes one column of the same table respectively. I'll
submit the patch for it. The current patch will fix the current unit test
failures now.
Thanks!
> EvalTreeUtil::isJoinQual need to handle other join conditions.
> --------------------------------------------------------------
>
> Key: TAJO-1011
> URL: https://issues.apache.org/jira/browse/TAJO-1011
> Project: Tajo
> Issue Type: Bug
> Components: planner/optimizer
> Reporter: Jaehwa Jung
> Assignee: Jaehwa Jung
>
> Currently, EvalTreeUtil::isJoinQual doesn't handle as follows:
> {code:title=Constant field|borderStyle=solid}
> select * from lineitem where l_orderkey = 2;
> {code}
> {code:title=Alias field using function|borderStyle=solid}
> select n1.n_nationkey, substr(n1.n_name, 1, 4) name1, substr(n2.n_name,
> 1, 4) name2
> from nation n1 join nation n2 on substr(n1.n_name, 1, 4) = substr(n2.n_name,
> 1, 4)
> order by n1.n_nationkey;
> {code}
> To above cases, current tajo can't pass unit test cases as follows:
> {code:xml}
> Failed tests:
> testBroadcastPartitionTable(org.apache.tajo.engine.query.TestJoinBroadcast):
> Table [customer_broad_parts] creation is failed.
>
> testPartitionMultiplePartitionFilter(org.apache.tajo.engine.query.TestJoinOnPartitionedTables):
> Table [customer_parts] creation is failed.
>
> testFilterPushDownPartitionColumnCaseWhen(org.apache.tajo.engine.query.TestJoinOnPartitionedTables):
> Table [customer_parts] creation is failed.
>
> testRightOuterJoinPredicationCaseByCase3[0](org.apache.tajo.engine.query.TestJoinQuery):
> expected:<[id,name,id,id(..)
>
> testLeftOuterJoinPredicationCaseByCase3[0](org.apache.tajo.engine.query.TestJoinQuery):
> expected:<[id,name,id,id(..)
> testComplexJoinCondition4[0](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...-------(..)
> testComplexJoinCondition5[0](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...-------(..)
> testComplexJoinCondition6[0](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...0,ALGE,ALGE(..)
> testOuterJoinAndCaseWhen1[0](org.apache.tajo.engine.query.TestJoinQuery):
> Table [table1] creation is failed.
>
> testRightOuterJoinPredicationCaseByCase3[1](org.apache.tajo.engine.query.TestJoinQuery):
> expected:<[id,name,id,id(..)
>
> testLeftOuterJoinPredicationCaseByCase3[1](org.apache.tajo.engine.query.TestJoinQuery):
> expected:<[id,name,id,id(..)
> testComplexJoinCondition4[1](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...-------(..)
> testComplexJoinCondition5[1](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...-------(..)
> testComplexJoinCondition6[1](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...0,ALGE,ALGE(..)
> testOuterJoinAndCaseWhen1[1](org.apache.tajo.engine.query.TestJoinQuery):
> Table [table1] creation is failed.
> testComplexJoinCondition4[2](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...-------(..)
> testComplexJoinCondition5[2](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...-------(..)
> testComplexJoinCondition6[2](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...0,ALGE,ALGE(..)
> testOuterJoinAndCaseWhen1[2](org.apache.tajo.engine.query.TestJoinQuery):
> Table [table1] creation is failed.
> testComplexJoinCondition4[3](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...-------(..)
> testComplexJoinCondition5[3](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...-------(..)
> testComplexJoinCondition6[3](org.apache.tajo.engine.query.TestJoinQuery):
> Result Verification expected:<...0,ALGE,ALGE(..)
> testOuterJoinAndCaseWhen1[3](org.apache.tajo.engine.query.TestJoinQuery):
> Table [table1] creation is failed.
> testSortWithDate(org.apache.tajo.engine.query.TestSortQuery): Table
> [table1] creation is failed.
> Tests in error:
> testQ2FourJoins(org.apache.tajo.benchmark.TestTPCH):
> java.util.NoSuchElementException(..)
> testCastFromTable(org.apache.tajo.engine.eval.TestSQLExpression)
> testEqual(org.apache.tajo.engine.planner.physical.TestBSTIndexExec)
>
> testCreateScanWithFilterPlan(org.apache.tajo.engine.planner.physical.TestPhysicalPlanner)
> testProjectionPush(org.apache.tajo.engine.planner.TestLogicalOptimizer)
> testOptimizeWithGroupBy(org.apache.tajo.engine.planner.TestLogicalOptimizer)
>
> testJoinWithMultipleJoinQual2(org.apache.tajo.engine.planner.TestLogicalPlanner)
>
> testJoinWithMultipleJoinQual3(org.apache.tajo.engine.planner.TestLogicalPlanner)
>
> testJoinWithMultipleJoinQual4(org.apache.tajo.engine.planner.TestLogicalPlanner)
> {code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)