Jaehwa Jung created TAJO-1011:
---------------------------------

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

Reply via email to