public class InternalPageMutable
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
protected static class |
jetbrains.exodus.tree.btree.BasePageMutable.ReclaimFlag |
Dumpable.ToString| Modifier and Type | Field and Description |
|---|---|
protected jetbrains.exodus.tree.btree.BasePageMutable[] |
children |
protected jetbrains.exodus.tree.btree.BaseLeafNodeMutable[] |
keys |
protected long[] |
keysAddresses |
protected int |
size |
protected @NotNull BTreeBase |
tree |
| Modifier and Type | Method and Description |
|---|---|
protected static int |
binarySearch(@NotNull jetbrains.exodus.tree.btree.BasePage page,
@NotNull jetbrains.exodus.ByteIterable key,
int low,
int high) |
protected int |
binarySearch(jetbrains.exodus.ByteIterable key) |
protected int |
binarySearch(jetbrains.exodus.ByteIterable key,
int low) |
protected int |
binarySearch(jetbrains.exodus.ByteIterable key,
int low,
long expectedAddress) |
boolean |
childExists(@NotNull jetbrains.exodus.ByteIterable key,
long pageAddress) |
protected void |
copyChildren(int from,
int to) |
protected void |
createChildren(int max) |
protected void |
decrementSize(int value) |
boolean |
delete(@NotNull jetbrains.exodus.ByteIterable key,
@Nullable jetbrains.exodus.ByteIterable value)
Deletes key/value pair.
|
void |
dump(java.io.PrintStream out,
int level,
Dumpable.ToString renderer)
Dump node to stream
|
boolean |
exists(@NotNull jetbrains.exodus.ByteIterable key,
@NotNull jetbrains.exodus.ByteIterable value) |
jetbrains.exodus.tree.btree.ILeafNode |
find(@NotNull jetbrains.exodus.tree.btree.BTreeTraverser stack,
int depth,
@NotNull jetbrains.exodus.ByteIterable key,
@Nullable jetbrains.exodus.ByteIterable value,
boolean equalOrNext) |
jetbrains.exodus.tree.btree.ILeafNode |
get(@NotNull jetbrains.exodus.ByteIterable key) |
protected BTreeBalancePolicy |
getBalancePolicy() |
protected long |
getBottomPagesCount() |
protected jetbrains.exodus.ByteIterable[] |
getByteIterables(@NotNull jetbrains.exodus.tree.btree.BasePageMutable.ReclaimFlag flag) |
@NotNull jetbrains.exodus.tree.btree.BasePage |
getChild(int index) |
long |
getChildAddress(int index) |
protected jetbrains.exodus.ByteIterable |
getData()
Serialize page data
|
protected long |
getDataAddress() |
@NotNull jetbrains.exodus.tree.btree.BaseLeafNode |
getKey(int index) |
protected long |
getKeyAddress(int index) |
protected @NotNull jetbrains.exodus.tree.btree.BasePageMutable |
getMutableCopy(BTreeMutable treeMutable) |
protected int |
getSize() |
protected @NotNull BTreeBase |
getTree() |
protected byte |
getType() |
protected @Nullable jetbrains.exodus.tree.btree.BasePageMutable |
insertAt(int pos,
@NotNull jetbrains.exodus.tree.btree.ILeafNode key,
@Nullable jetbrains.exodus.tree.btree.BasePageMutable child) |
protected void |
insertDirectly(int pos,
@NotNull jetbrains.exodus.tree.btree.ILeafNode key,
@Nullable jetbrains.exodus.tree.btree.BasePageMutable child) |
protected boolean |
isBottom() |
protected boolean |
isDupKey(int index) |
protected boolean |
isMutable() |
boolean |
keyExists(@NotNull jetbrains.exodus.ByteIterable key) |
protected void |
load(@NotNull jetbrains.exodus.ByteIterator it,
int keyAddressLen) |
protected jetbrains.exodus.tree.btree.BasePageMutable |
mergeWithChildren() |
protected void |
mergeWithLeft(jetbrains.exodus.tree.btree.BasePageMutable _page) |
protected void |
mergeWithRight(jetbrains.exodus.tree.btree.BasePageMutable _page) |
@Nullable jetbrains.exodus.tree.btree.BasePageMutable |
put(@NotNull jetbrains.exodus.ByteIterable key,
@NotNull jetbrains.exodus.ByteIterable value,
boolean overwrite,
boolean[] result)
Insert or update value in tree.
|
@Nullable jetbrains.exodus.tree.btree.BasePageMutable |
putRight(@NotNull jetbrains.exodus.ByteIterable key,
@NotNull jetbrains.exodus.ByteIterable value) |
protected void |
removeChild(int pos) |
protected long |
save()
Save page to log
|
protected @NotNull jetbrains.exodus.tree.btree.BasePageMutable.ReclaimFlag |
saveChildren() |
protected void |
set(int pos,
@NotNull jetbrains.exodus.tree.btree.ILeafNode key,
@Nullable jetbrains.exodus.tree.btree.BasePageMutable child) |
protected void |
setMutableChild(int index,
@NotNull jetbrains.exodus.tree.btree.BasePageMutable child) |
protected jetbrains.exodus.tree.btree.BasePageMutable |
split(int from,
int length) |
java.lang.String |
toString() |
protected jetbrains.exodus.tree.btree.BasePageMutable[] children
protected jetbrains.exodus.tree.btree.BaseLeafNodeMutable[] keys
protected long[] keysAddresses
@NotNull protected final @NotNull BTreeBase tree
protected int size
protected void load(@NotNull
@NotNull jetbrains.exodus.ByteIterator it,
int keyAddressLen)
protected boolean isBottom()
protected void createChildren(int max)
public long getChildAddress(int index)
@NotNull public @NotNull jetbrains.exodus.tree.btree.BasePage getChild(int index)
public boolean childExists(@NotNull
@NotNull jetbrains.exodus.ByteIterable key,
long pageAddress)
protected byte getType()
protected void setMutableChild(int index,
@NotNull
@NotNull jetbrains.exodus.tree.btree.BasePageMutable child)
@Nullable
public @Nullable jetbrains.exodus.tree.btree.BasePageMutable put(@NotNull
@NotNull jetbrains.exodus.ByteIterable key,
@NotNull
@NotNull jetbrains.exodus.ByteIterable value,
boolean overwrite,
boolean[] result)
key - key to putvalue - value to putoverwrite - true if existing value by the key should be overwrittenresult - false if key exists, overwite is false and tree is not support duplicates@Nullable
public @Nullable jetbrains.exodus.tree.btree.BasePageMutable putRight(@NotNull
@NotNull jetbrains.exodus.ByteIterable key,
@NotNull
@NotNull jetbrains.exodus.ByteIterable value)
protected void set(int pos,
@NotNull
@NotNull jetbrains.exodus.tree.btree.ILeafNode key,
@Nullable
@Nullable jetbrains.exodus.tree.btree.BasePageMutable child)
protected void copyChildren(int from,
int to)
protected void decrementSize(int value)
protected jetbrains.exodus.tree.btree.BasePageMutable split(int from,
int length)
public jetbrains.exodus.tree.btree.ILeafNode get(@NotNull
@NotNull jetbrains.exodus.ByteIterable key)
public jetbrains.exodus.tree.btree.ILeafNode find(@NotNull
@NotNull jetbrains.exodus.tree.btree.BTreeTraverser stack,
int depth,
@NotNull
@NotNull jetbrains.exodus.ByteIterable key,
@Nullable
@Nullable jetbrains.exodus.ByteIterable value,
boolean equalOrNext)
public boolean keyExists(@NotNull
@NotNull jetbrains.exodus.ByteIterable key)
public boolean exists(@NotNull
@NotNull jetbrains.exodus.ByteIterable key,
@NotNull
@NotNull jetbrains.exodus.ByteIterable value)
protected long getBottomPagesCount()
@NotNull protected @NotNull jetbrains.exodus.tree.btree.BasePageMutable.ReclaimFlag saveChildren()
protected jetbrains.exodus.ByteIterable[] getByteIterables(@NotNull
@NotNull jetbrains.exodus.tree.btree.BasePageMutable.ReclaimFlag flag)
public java.lang.String toString()
toString in class java.lang.Objectpublic void dump(java.io.PrintStream out,
int level,
Dumpable.ToString renderer)
Dumpableout - stream to write tolevel - indentationrenderer - renderer for nodesprotected void mergeWithRight(jetbrains.exodus.tree.btree.BasePageMutable _page)
protected void mergeWithLeft(jetbrains.exodus.tree.btree.BasePageMutable _page)
protected void removeChild(int pos)
public boolean delete(@NotNull
@NotNull jetbrains.exodus.ByteIterable key,
@Nullable
@Nullable jetbrains.exodus.ByteIterable value)
key - key to deletevalue - value to deleteprotected jetbrains.exodus.tree.btree.BasePageMutable mergeWithChildren()
@NotNull protected @NotNull jetbrains.exodus.tree.btree.BasePageMutable getMutableCopy(BTreeMutable treeMutable)
protected long getDataAddress()
protected jetbrains.exodus.ByteIterable getData()
protected long save()
protected long getKeyAddress(int index)
@NotNull public @NotNull jetbrains.exodus.tree.btree.BaseLeafNode getKey(int index)
protected BTreeBalancePolicy getBalancePolicy()
protected boolean isMutable()
@Nullable
protected @Nullable jetbrains.exodus.tree.btree.BasePageMutable insertAt(int pos,
@NotNull
@NotNull jetbrains.exodus.tree.btree.ILeafNode key,
@Nullable
@Nullable jetbrains.exodus.tree.btree.BasePageMutable child)
protected void insertDirectly(int pos,
@NotNull
@NotNull jetbrains.exodus.tree.btree.ILeafNode key,
@Nullable
@Nullable jetbrains.exodus.tree.btree.BasePageMutable child)
protected int binarySearch(jetbrains.exodus.ByteIterable key)
protected int binarySearch(jetbrains.exodus.ByteIterable key,
int low)
protected int binarySearch(jetbrains.exodus.ByteIterable key,
int low,
long expectedAddress)
protected static int binarySearch(@NotNull
@NotNull jetbrains.exodus.tree.btree.BasePage page,
@NotNull
@NotNull jetbrains.exodus.ByteIterable key,
int low,
int high)
protected final int getSize()
@NotNull protected final @NotNull BTreeBase getTree()
protected boolean isDupKey(int index)