You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Paul Rogers (Jira)" <ji...@apache.org> on 2021/12/16 15:05:00 UTC

[jira] [Updated] (DRILL-7557) Revise "Base" storage plugin filter-push down listener with a builder

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

Paul Rogers updated DRILL-7557:
-------------------------------
    Summary: Revise "Base" storage plugin filter-push down listener with a builder  (was: Revise "Base" storage plugin filter-push down listerner with a builder)

> Revise "Base" storage plugin filter-push down listener 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
>
> 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.20.1#820001)