Jinfeng Ni created DRILL-4201:
---------------------------------
Summary: DrillPushFilterPastProject should allow partial filter
pushdown.
Key: DRILL-4201
URL: https://issues.apache.org/jira/browse/DRILL-4201
Project: Apache Drill
Issue Type: Bug
Components: Query Planning & Optimization
Reporter: Jinfeng Ni
Assignee: Jinfeng Ni
Fix For: 1.5.0
Currently, DrillPushFilterPastProjectRule will stop pushing the filter down, if
the filter itself has ITEM or FLATTEN function, or its input reference is
referring to an ITEM or FLATTEN function. However, in case that the filter is a
conjunction of multiple sub-filters, some of them refer to ITEM or FLATTEN but
the other not, then we should allow partial filter to be pushed down. For
instance,
WHERE partition_col > 10 and flatten_output_col = 'ABC'.
The "flatten_output_col" comes from the output of FLATTEN operator, and
therefore flatten_output_col = 'ABC' should not pushed past the project. But
partiion_col > 10 should be pushed down, such that we could trigger the pruning
rule to apply partition pruning.
It would be improve Drill query performance, when the partially pushed filter
leads to partition pruning, or the partially pushed filter results in early
filtering in upstream operator.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)