GitHub user KurtYoung opened a pull request:

    https://github.com/apache/flink/pull/3520

    [FLINK-3849] [table] Add FilterableTableSource interface and rules for 
pushing it

    This PR is based on #3166 , and added following changes:
    
    1. Refactor `RexProgramExpressionExtractor` and 
`RexProgramExpressionExtractor` to `RexProgramExtractor` and 
`RexProgramRewriter`. `RexProgramExtractor` is responsible for retract either 
projection expressions or filter expression.
    2. Make sure we don't fail during extracting and converting filter RexNodes 
to expressions. The expressions which successfully translated and unconverted 
RexNodes will both be returned.
    3. Add some tests for `RexProgramExtractor`.
    4. Provide unified `PushFilterIntoTableSourceScanRuleBase` to support 
filter push down in both batch and stream mode.
    5. Add some logical tests for filter push down in different situations, 
like fully push down and partial push down.
    5. Slight change of testing class `TestFilterableTableSource` to make it 
less specialized.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/KurtYoung/flink flink-3849

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/flink/pull/3520.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #3520
    
----
commit 0a7af41509d9a0db3e791cb9f4dc5a1a8086f0b2
Author: tonycox <[email protected]>
Date:   2017-01-11T09:15:49Z

    [FLINK-3849] Add FilterableTableSource interface and Rules for pushing it

commit 549b4e00e68d32f070e196fc6eb9a7f5f9e937c3
Author: tonycox <[email protected]>
Date:   2017-01-31T12:41:52Z

    fix filterable test

commit 9aa82062832e0aabcb003e582c8130aeecc91a73
Author: tonycox <[email protected]>
Date:   2017-02-16T13:32:33Z

    rebase and trying fix rexnode parsing

commit 646a6931224c7dcc58501ec014ab675925bb105d
Author: tonycox <[email protected]>
Date:   2017-02-17T16:48:40Z

    create wrapper and update rules

commit abfa38d894aa86b7a5c91dd29bf398b880c8bfe7
Author: Kurt Young <[email protected]>
Date:   2017-03-13T07:30:13Z

    [FLINK-3849] [table] Add FilterableTableSource interface and rules for 
pushing it

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to