An implementation should only filter the result if it can do so easily and efficiently; the query engine will verify the data again (in memory) and check for access rights.
The method is only called if this index is used for the given query and selector, which is only the case if the given index implementation returned the lowest cost for the given filter. If the implementation returned {@code Double.MAX_VALUE} in the getCost method for the givenfilter, then this method is not called. If it is still called, then it is supposed to throw an exception (as it would be an internal error of the query engine). @param filter the filter @param rootState root state of the current repository snapshot @return a cursor to iterate over the result
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|