public interface Cursor extends java.util.Iterator<IndexRow>
Modifier and Type | Method and Description |
---|---|
long |
getSize(Result.SizePrecision precision,
long max)
Get the size if known.
|
IndexRow |
next()
The next row within this index.
|
IndexRow next()
The row may only contains the path, if a path is available. It may also (or just) contain so-called "pseudo-properties" such as "jcr:score" and "rep:excerpt", in case the index supports those properties and if the properties were requested when running the query. The query engine will indicate that those pseudo properties were requested by setting an appropriate (possibly unrestricted) filter condition.
The index should return a row with those properties that are stored in the index itself, so that the query engine doesn't have to load the whole row / node unnecessarily (avoiding to load the whole row is sometimes called "index only scan"), specially for rows that are anyway skipped. If the index does not have an (efficient) way to return some (or any) of the properties, it doesn't have to provide those values. In this case, the query engine will load the node itself if required. If all conditions match, the query engine will sometimes load the node to do access checks, but this is not always the case, and it is not the case if any of the (join) conditions do not match.
next
in interface java.util.Iterator<IndexRow>
long getSize(Result.SizePrecision precision, long max)
precision
- the required precisionmax
- the maximum nodes read (for an exact size)Copyright © 2010 - 2020 Adobe. All Rights Reserved