public interface FilterableTableSource<T>
|Modifier and Type||Method and Description|
Check and pick all predicates this table source can support.
Return the flag to indicate whether filter push down has been tried.
TableSource<T> applyPredicate(List<Expression> predicates)
After trying to push predicates down, we should return a new
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.
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.
TableSourcewith or without any filters been pushed into it.
Copyright © 2014–2018 The Apache Software Foundation. All rights reserved.