Interface Cursor
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description long
getSize(Result.SizePrecision precision, long max)
Get the size if known.IndexRow
next()
The next row within this index.
-
-
-
Method Detail
-
next
IndexRow next()
The next row within this index.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.
- Specified by:
next
in interfacejava.util.Iterator<IndexRow>
- Returns:
- the row
-
getSize
long getSize(Result.SizePrecision precision, long max)
Get the size if known.- Parameters:
precision
- the required precisionmax
- the maximum nodes read (for an exact size)- Returns:
- the size, or -1 if unknown
-
-