Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-3463

Unit test of project pushdown in TestUnionAll should put more precisely plan attribute in plan verification.




      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,

          final String[] expectedPlan = {"UnionAll.*\n." +
              "*Project.*\n" +
                  ".*Scan.*\n" +

      should be replaced by

           final String[] expectedPlan = {"UnionAll.*\n." +
               "*Project.*\n" +
                  ".*Scan.*columns=\\[`n_comment`, `n_nationkey`, `n_name`\\].*\n" 

      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.




            • Assignee:
              jni Jinfeng Ni
              jni Jinfeng Ni
            • Votes:
              0 Vote for this issue
              3 Start watching this issue


              • Created: