Interface FilterableTableSource<T>


@Deprecated @Internal public interface FilterableTableSource<T>
Deprecated.
This interface will not be supported in the new source design around DynamicTableSource. Use SupportsFilterPushDown instead. See FLIP-95 for more information.
Adds support for filtering push-down to a TableSource. A TableSource extending this interface is able to filter records before returning.
  • Method Summary

    Modifier and Type
    Method
    Description
    Deprecated.
    Check and pick all predicates this table source can support.
    boolean
    Deprecated.
    Return the flag to indicate whether filter push down has been tried.
  • Method Details

    • applyPredicate

      TableSource<T> applyPredicate(List<Expression> predicates)
      Deprecated.
      Check and pick all predicates this table source can support. The passed in predicates have been translated in conjunctive form, and table source can only pick those predicates that it supports.

      After trying to push predicates down, we should return a new TableSource instance which holds all pushed down predicates. Even if we actually pushed nothing down, it is recommended that we still return a new TableSource instance since we will mark the returned instance as filter push down has been tried.

      We also should note to not changing the form of the predicates passed in. It has been organized in CNF conjunctive form, and we should only take or leave each element from the list. Don't try to reorganize the predicates if you are absolutely confident with that.

      Parameters:
      predicates - A list contains conjunctive predicates, you should pick and remove all expressions that can be pushed down. The remaining elements of this list will further evaluated by framework.
      Returns:
      A new cloned instance of TableSource with or without any filters been pushed into it.
    • isFilterPushedDown

      boolean isFilterPushedDown()
      Deprecated.
      Return the flag to indicate whether filter push down has been tried. Must return true on the returned instance of applyPredicate(java.util.List<org.apache.flink.table.expressions.Expression>).