com.sleepycat.je.log
Class CleanerFileReader

java.lang.Object
  extended by com.sleepycat.je.log.FileReader
      extended by com.sleepycat.je.log.CleanerFileReader

public class CleanerFileReader
extends FileReader

CleanerFileReader scans log files for INs and LNs.


Field Summary
 
Fields inherited from class com.sleepycat.je.log.FileReader
anticipateChecksumErrors, cksumValidator, currentEntryChecksum, currentEntryOffset, currentEntryPrevOffset, currentEntrySize, currentEntryTypeNum, currentEntryTypeVersion, env, eof, fileManager, nextEntryOffset, readBufferFileEnd, readBufferFileNum, readBufferFileStart, startLsn
 
Constructor Summary
CleanerFileReader(EnvironmentImpl env, int readBufferSize, long startLsn, Long fileNum)
          Create this reader to start at a given LSN.
 
Method Summary
 DatabaseId getDatabaseId()
          Get the last databaseId seen by the reader.
 byte[] getDupTreeKey()
          Get the last key seen by the reader.
 IN getIN()
          Get the last entry seen by the reader as an IN.
 byte[] getKey()
          Get the last key seen by the reader.
 LN getLN()
          Get the last LN seen by the reader.
protected  void initStartingPosition(long endOfFileLsn, Long fileNum)
          Helper for determining the starting position and opening up a file at the desired location.
 boolean isIN()
           
 boolean isLN()
           
 boolean isRoot()
           
protected  boolean isTargetEntry(byte entryTypeNum, byte entryTypeVersion)
           
protected  boolean processEntry(ByteBuffer entryBuffer)
          This reader instantiates an LN and key for every LN entry.
 
Methods inherited from class com.sleepycat.je.log.FileReader
getLastLsn, getNRepeatIteratorReads, getNumRead, readNextEntry, resyncReader
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CleanerFileReader

public CleanerFileReader(EnvironmentImpl env,
                         int readBufferSize,
                         long startLsn,
                         Long fileNum)
                  throws IOException,
                         DatabaseException
Create this reader to start at a given LSN.

Parameters:
env - The relevant EnvironmentImpl.
readBufferSize - buffer size in bytes for reading in log.
startLsn - where to start in the log, or null for the beginning.
fileNum - single file number.
Throws:
IOException
DatabaseException
Method Detail

initStartingPosition

protected void initStartingPosition(long endOfFileLsn,
                                    Long fileNum)
                             throws IOException,
                                    DatabaseException
Helper for determining the starting position and opening up a file at the desired location.

Overrides:
initStartingPosition in class FileReader
Throws:
IOException
DatabaseException

isTargetEntry

protected boolean isTargetEntry(byte entryTypeNum,
                                byte entryTypeVersion)
Overrides:
isTargetEntry in class FileReader
Returns:
true if this is a type we're interested in.

processEntry

protected boolean processEntry(ByteBuffer entryBuffer)
                        throws DatabaseException
This reader instantiates an LN and key for every LN entry.

Specified by:
processEntry in class FileReader
Returns:
true if this entry should be returned
Throws:
DatabaseException

isIN

public boolean isIN()
Returns:
true if the last entry was an IN.

isLN

public boolean isLN()
Returns:
true if the last entry was a LN.

isRoot

public boolean isRoot()
Returns:
true if the last entry was a root

getLN

public LN getLN()
Get the last LN seen by the reader.


getIN

public IN getIN()
         throws DatabaseException
Get the last entry seen by the reader as an IN.

Throws:
DatabaseException

getDatabaseId

public DatabaseId getDatabaseId()
Get the last databaseId seen by the reader.


getKey

public byte[] getKey()
Get the last key seen by the reader.


getDupTreeKey

public byte[] getDupTreeKey()
Get the last key seen by the reader.



Copyright 2004-2005 Sleepycat, Inc. All Rights Reserved.