Jinfeng Ni created DRILL-3463:
---------------------------------

             Summary: Unit test of project pushdown in TestUnionAll should put 
more precisely plan attribute  in plan verification. 
                 Key: DRILL-3463
                 URL: https://issues.apache.org/jira/browse/DRILL-3463
             Project: Apache Drill
          Issue Type: Bug
          Components: Query Planning & Optimization
            Reporter: Jinfeng Ni
            Assignee: Jinfeng Ni


As part of fix for DRILL-2802, it was discovered that several unit test cases 
for project pushdown in TestUnionAll did not put the desired plan attributes in 
to the expected plan result.

To verify project pushdown is working properly, one simple way is to verify 
that the the column list in the Scan operator contains the desired columns. 
This should be the part of plan verification. However, the unit test cases in 
TestUnionAll did not do that. In stead, it tries to match a pattern of "Project 
-- Scan", which seems not serving the purpose it desired.

For instance,
{code}
    final String[] expectedPlan = {"UnionAll.*\n." +
        "*Project.*\n" +
            ".*Scan.*\n" +
{code}

should be replaced by 
{code}
     final String[] expectedPlan = {"UnionAll.*\n." +
         "*Project.*\n" +
            ".*Scan.*columns=\\[`n_comment`, `n_nationkey`, `n_name`\\].*\n" 
{code}

if we want to verify the column 'n_comment', 'n_nationkey', 'n_name' are pushed 
into Scan operator.

To fix this, modify the expected plan result, such that it contains the plan 
attributes that should be able to verify whether the project pushdown is 
working or not.

This will help catch project pushdown failure, and avoid causing more false 
alarm in plan verification.





--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to