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.

    XMLWordPrintableJSON

    Details

      Description

      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.

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: