[ 
https://issues.apache.org/jira/browse/DRILL-7557?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Abhishek Girish updated DRILL-7557:
-----------------------------------
    Target Version/s: 1.19.0

> Revise "Base" storage plugin filter-push down listerner with a builder
> ----------------------------------------------------------------------
>
>                 Key: DRILL-7557
>                 URL: https://issues.apache.org/jira/browse/DRILL-7557
>             Project: Apache Drill
>          Issue Type: Improvement
>    Affects Versions: 1.18.0
>            Reporter: Paul Rogers
>            Assignee: Paul Rogers
>            Priority: Major
>             Fix For: 1.18.0
>
>
> DRILL-7458 introduces a base framework for storage plugins and includes a 
> simplified mechanism for filter push down. Part of that mechanism includes a 
> "listener", with the bulk of the work done in a single method:
> {code:java}
> Pair<GroupScan, List<RexNode>> transform(GroupScan groupScan,
>       List<Pair<RexNode, RelOp>> andTerms, Pair<RexNode, 
> DisjunctionFilterSpec> orTerm);
> {code}
> Reviewers correctly pointed out that this method might be a bit too complex.
> The listener pattern pretty much forced the present design. To improve it, 
> we'd want to use a different design; maybe some kind of builder which might:
> * Accept the CNF and DNF terms via dedicated methods.
> * Perform a processing step.
> * Provide a number of methods to communicate the results, such as 1) whether 
> a new group scan is needed, 2) any CNF terms to retain, and 3) any DNF terms 
> to retain.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to