@ Override public BasicLogRecord next ( ) { if ( ! isForward ) { currentRec = currentRec - pointerSize ; isForward = true ; } if ( currentRec == 0 ) moveToNextBlock ( ) ; currentRec = ( Integer ) pg . getVal ( currentRec , INTEGER ) . asJavaVal ( ) ; return new BasicLogRecord ( pg , new LogSeqNum ( blk . number ( ) , currentRec + pointerSize * 2 ) ) ; }
Moves to the next log record in reverse order . If the current log record is the earliest in its block then the method moves to the next oldest block and returns the log record from there .