@Evolving public interface SupportsPushDownV2Filters extends ScanBuilder
ScanBuilder
. Data sources can implement this interface to
push down V2 Predicate
to the data source and reduce the size of the data to be read.
Please Note that this interface is preferred over SupportsPushDownFilters
, which uses
V1 Filter
and is less efficient due to the
internal -> external data conversion.Modifier and Type | Method and Description |
---|---|
Predicate[] |
pushedPredicates()
Returns the predicates that are pushed to the data source via
pushPredicates(Predicate[]) . |
Predicate[] |
pushPredicates(Predicate[] predicates)
Pushes down predicates, and returns predicates that need to be evaluated after scanning.
|
build
Predicate[] pushPredicates(Predicate[] predicates)
Rows should be returned from the data source if and only if all of the predicates match. That is, predicates must be interpreted as ANDed together.
Predicate[] pushedPredicates()
pushPredicates(Predicate[])
.
There are 3 kinds of predicates:
Both case 1 and 2 should be considered as pushed predicates and should be returned by this method.
It's possible that there is no predicates in the query and
pushPredicates(Predicate[])
is never called,
empty array should be returned for this case.