Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
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.