| | |
| | | /** |
| | | * Returns a cursor that allows to retrieve the records from this log, |
| | | * starting at the first position. |
| | | * <p> |
| | | * The returned cursor initially points to no record, that is |
| | | * {@code cursor.getRecord()} is equals to {@code null} before any call to |
| | | * {@code cursor.next()} method. |
| | | * |
| | | * @return a cursor on the log records, which is never {@code null} |
| | | * @throws ChangelogException |
| | |
| | | /** |
| | | * Returns a cursor that allows to retrieve the records from this log, |
| | | * starting at the position defined by the provided key. |
| | | * <p> |
| | | * The returned cursor initially points to no record, that is |
| | | * {@code cursor.getRecord()} is equals to {@code null} before any call to |
| | | * {@code cursor.next()} method. |
| | | * |
| | | * @param key |
| | | * Key to use as a start position for the cursor. If key is |
| | |
| | | * Returns a cursor that allows to retrieve the records from this log, |
| | | * starting at the position defined by the smallest key that is higher than |
| | | * the provided key. |
| | | * <p> |
| | | * The returned cursor initially points to no record, that is |
| | | * {@code cursor.getRecord()} is equals to {@code null} before any call to |
| | | * {@code cursor.next()} method. After the first call to {@code cursor.next()} |
| | | * the cursor points to the record corresponding to the key found. |
| | | * |
| | | * @param key |
| | | * Key to use as a start position for the cursor. If key is |
| | |
| | | } |
| | | |
| | | /** |
| | | * Represents a cursor than can be repositioned on a given key. |
| | | * Represents a DB Cursor than can be repositioned on a given key. |
| | | * <p> |
| | | * Note that as a DBCursor, it provides a java.sql.ResultSet like API. |
| | | */ |
| | | static interface RepositionableCursor<K extends Comparable<K>, V> extends DBCursor<Record<K, V>> |
| | | { |
| | |
| | | /** |
| | | * Implements a cursor on the log. |
| | | * <p> |
| | | * The cursor initially points to a record, that is {@code cursor.getRecord()} |
| | | * is equals to the first record available from the cursor before any call to |
| | | * {@code cursor.next()} method. |
| | | * <p> |
| | | * The cursor uses the log shared lock to ensure reads are not done during a rotation. |
| | | * <p> |
| | | * The cursor can be switched into an empty cursor by calling the {@code actAsEmptyCursor()} |