|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sleepycat.je.tree.Node
com.sleepycat.je.tree.IN
com.sleepycat.je.tree.BIN
com.sleepycat.je.tree.DBIN
public final class DBIN
A DBIN represents an Duplicate Bottom Internal Node in the JE tree.
Field Summary |
---|
Fields inherited from class com.sleepycat.je.tree.BIN |
---|
cursorSet |
Fields inherited from class com.sleepycat.je.tree.IN |
---|
ACCUMULATED_LIMIT, DBMAP_LEVEL, EXACT_MATCH, INSERT_SUCCESS, LEVEL_MASK, MAIN_LEVEL, MAX_LEVEL, MAY_EVICT_LNS, MAY_EVICT_NODE, MAY_NOT_EVICT, MIN_LEVEL |
Constructor Summary | |
---|---|
DBIN()
|
|
DBIN(DatabaseImpl db,
byte[] identifierKey,
int maxEntriesPerNode,
byte[] dupKey,
int level)
|
Method Summary | |
---|---|
(package private) void |
accumulateStats(TreeWalkerStatsAccumulator acc)
|
String |
beginTag()
|
protected boolean |
canBeAncestor(boolean targetContainsDuplicates)
|
protected long |
computeMemorySize()
Count up the memory usage attributable to this node alone. |
static long |
computeOverhead(DbConfigManager configManager)
|
boolean |
containsDuplicates()
|
protected IN |
createNewInstance(byte[] identifierKey,
int maxEntries,
int level)
Create a new DBIN. |
BINReference |
createReference()
Create a holder object that encapsulates information about this BIN for the INCompressor. |
protected void |
dumpLogAdditional(StringBuffer sb)
DBINS need to dump their dup key |
String |
dumpString(int nSpaces,
boolean dumpTags)
For unit test support: |
String |
endTag()
|
protected int |
generateLevel(DatabaseId dbId,
int newLevel)
|
LogEntryType |
getBINDeltaType()
|
byte[] |
getChildKey(IN child)
Get the key (dupe or identifier) in child that is used to locate it in 'this' node. |
(package private) BIN |
getCursorBIN(CursorImpl cursor)
The following four methods access the correct fields in a cursor depending on whether "this" is a BIN or DBIN. |
(package private) BIN |
getCursorBINToBeRemoved(CursorImpl cursor)
|
(package private) int |
getCursorIndex(CursorImpl cursor)
|
byte[] |
getDupKey()
Return the key for this duplicate set. |
byte[] |
getDupTreeKey()
Return the key for navigating through the duplicate tree. |
Comparator |
getKeyComparator()
Return the comparator function to be used for DBINs. |
int |
getLogSize()
|
LogEntryType |
getLogType()
All objects that are reponsible for a generating a type of log entry must implement this. |
byte[] |
getMainTreeKey()
Return the key for navigating through the main tree. |
protected long |
getMemoryOverhead(MemoryBudget mb)
|
(package private) boolean |
hasNonLNChildren()
Returns whether any resident children are not LNs (are INs). |
(package private) boolean |
matchLNByNodeId(TreeLocation location,
long nodeId)
|
void |
readFromLog(ByteBuffer itemBuffer,
byte entryTypeVersion)
Initialize this object from the data in itemBuf. |
byte[] |
selectKey(byte[] mainTreeKey,
byte[] dupTreeKey)
|
(package private) void |
setCursorBIN(CursorImpl cursor,
BIN bin)
|
(package private) void |
setCursorIndex(CursorImpl cursor,
int index)
|
String |
shortClassName()
|
void |
writeToLog(ByteBuffer logBuffer)
Serialize this object into the buffer. |
Methods inherited from class com.sleepycat.je.tree.Node |
---|
countAsObsoleteWhenLogged, dump, getLastId, getMemorySizeIncludedByParent, getNextNodeId, getNodeId, getType, marshallOutsideWriteLatch, postLogWork, setLastNodeId, setNodeId, shortDescription |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.sleepycat.je.log.LoggableObject |
---|
countAsObsoleteWhenLogged, marshallOutsideWriteLatch, postLogWork |
Constructor Detail |
---|
public DBIN()
public DBIN(DatabaseImpl db, byte[] identifierKey, int maxEntriesPerNode, byte[] dupKey, int level)
Method Detail |
---|
protected IN createNewInstance(byte[] identifierKey, int maxEntries, int level)
createNewInstance
in class BIN
protected int generateLevel(DatabaseId dbId, int newLevel)
generateLevel
in class IN
public final Comparator getKeyComparator()
getKeyComparator
in class BIN
public byte[] getDupKey()
getDupKey
in class IN
public byte[] getChildKey(IN child) throws DatabaseException
getChildKey
in class BIN
DatabaseException
public byte[] selectKey(byte[] mainTreeKey, byte[] dupTreeKey)
selectKey
in class IN
public byte[] getDupTreeKey()
getDupTreeKey
in class IN
public byte[] getMainTreeKey()
getMainTreeKey
in class IN
public boolean containsDuplicates()
containsDuplicates
in class Node
public LogEntryType getBINDeltaType()
getBINDeltaType
in class BIN
public BINReference createReference()
BIN
createReference
in class BIN
protected long computeMemorySize()
computeMemorySize
in class IN
public static long computeOverhead(DbConfigManager configManager) throws DatabaseException
DatabaseException
protected long getMemoryOverhead(MemoryBudget mb)
getMemoryOverhead
in class BIN
protected boolean canBeAncestor(boolean targetContainsDuplicates)
canBeAncestor
in class BIN
boolean hasNonLNChildren()
IN
hasNonLNChildren
in class BIN
BIN getCursorBIN(CursorImpl cursor)
getCursorBIN
in class BIN
BIN getCursorBINToBeRemoved(CursorImpl cursor)
getCursorBINToBeRemoved
in class BIN
int getCursorIndex(CursorImpl cursor)
getCursorIndex
in class BIN
void setCursorBIN(CursorImpl cursor, BIN bin)
setCursorBIN
in class BIN
void setCursorIndex(CursorImpl cursor, int index)
setCursorIndex
in class BIN
boolean matchLNByNodeId(TreeLocation location, long nodeId) throws DatabaseException
matchLNByNodeId
in class Node
DatabaseException
void accumulateStats(TreeWalkerStatsAccumulator acc)
accumulateStats
in class BIN
public String beginTag()
beginTag
in class BIN
public String endTag()
endTag
in class BIN
public String dumpString(int nSpaces, boolean dumpTags)
dumpString
in class IN
public LogEntryType getLogType()
LoggableObject
getLogType
in interface LoggableObject
getLogType
in class BIN
LoggableObject.getLogType()
public int getLogSize()
getLogSize
in interface LogWritable
getLogSize
in class IN
LogWritable.getLogSize()
public void writeToLog(ByteBuffer logBuffer)
LogWritable
writeToLog
in interface LogWritable
writeToLog
in class IN
logBuffer
- is the destination bufferLogWritable.writeToLog(java.nio.ByteBuffer)
public void readFromLog(ByteBuffer itemBuffer, byte entryTypeVersion) throws LogException
LogReadable
readFromLog
in interface LogReadable
readFromLog
in class IN
LogException
IN.readFromLog(java.nio.ByteBuffer, byte)
protected void dumpLogAdditional(StringBuffer sb)
dumpLogAdditional
in class IN
public String shortClassName()
shortClassName
in class BIN
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |