Class IndexStatisticsDaemonImpl.KeyComparator
- java.lang.Object
-
- org.apache.derby.impl.services.daemon.IndexStatisticsDaemonImpl.KeyComparator
-
- Enclosing class:
- IndexStatisticsDaemonImpl
private static class IndexStatisticsDaemonImpl.KeyComparator extends java.lang.ObjectSupport class used to compare keys when scanning indexes.
-
-
Field Summary
Fields Modifier and Type Field Description private DataValueDescriptor[]currprivate static intFETCH_SIZENumber of rows fetched per iteration.private DataValueDescriptor[]lastUniqueKeyprivate longnumRowsprivate DataValueDescriptor[]prevprivate DataValueDescriptor[][]rowBufferArrayprivate introwsReadLastRead
-
Constructor Summary
Constructors Constructor Description KeyComparator(ExecIndexRow ir)Creates a key comparator for the given index.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareWithPrevKey(int index)Compares the key at the specified index with the previous key.intfetchRows(GroupFetchScanController gsc)Fetches rows from the scan controller.longgetRowCount()Returns the number of rows fetched.
-
-
-
Field Detail
-
FETCH_SIZE
private static final int FETCH_SIZE
Number of rows fetched per iteration.- See Also:
- Constant Field Values
-
rowBufferArray
private final DataValueDescriptor[][] rowBufferArray
-
lastUniqueKey
private DataValueDescriptor[] lastUniqueKey
-
curr
private DataValueDescriptor[] curr
-
prev
private DataValueDescriptor[] prev
-
rowsReadLastRead
private int rowsReadLastRead
-
numRows
private long numRows
-
-
Constructor Detail
-
KeyComparator
public KeyComparator(ExecIndexRow ir)
Creates a key comparator for the given index.- Parameters:
ir- index row (template)
-
-
Method Detail
-
fetchRows
public int fetchRows(GroupFetchScanController gsc) throws StandardException
Fetches rows from the scan controller.- Parameters:
gsc- the scan controller- Returns:
- Number of rows fetched.
- Throws:
StandardException- if fetching rows fails
-
compareWithPrevKey
public int compareWithPrevKey(int index) throws StandardExceptionCompares the key at the specified index with the previous key.- Parameters:
index- row index- Returns:
-1if the current and previous key are identical, the index of the changed part of the key otherwise ([0, key length>)- Throws:
StandardException- if comparing the two keys fails
-
getRowCount
public long getRowCount()
Returns the number of rows fetched.- Returns:
- Number of rows fetched.
-
-