|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectorg.h2.mvstore.Page
public class Page
A page (a node or a leaf).
For b-tree nodes, the key at a given index is larger than the largest key of the child at the same index.
File format: page length (including length): int check value: short map id: varInt number of keys: varInt type: byte (0: leaf, 1: node; +2: compressed) compressed: bytes saved (varInt) keys leaf: values (one for each key) node: children (1 more than keys)
| Nested Class Summary | |
|---|---|
static class |
Page.PageChildren
Contains information about which other pages are referenced (directly or indirectly) by the given page. |
static class |
Page.PageReference
A pointer to a page, either in-memory or using a page position. |
| Field Summary | |
|---|---|
static java.lang.Object[] |
EMPTY_OBJECT_ARRAY
An empty object array. |
| Method Summary | |
|---|---|
int |
binarySearch(java.lang.Object key)
Search the key in this page using a binary search. |
Page |
copy(long version)
Create a copy of this page. |
static Page |
create(MVMap<?,?> map,
long version,
java.lang.Object[] keys,
java.lang.Object[] values,
Page.PageReference[] children,
long totalCount,
int memory)
Create a new page. |
static Page |
create(MVMap<?,?> map,
long version,
Page source)
Create a copy of a page. |
boolean |
equals(java.lang.Object other)
|
Page |
getChildPage(int index)
Get the child page at the given index. |
long |
getChildPagePos(int index)
Get the position of the child. |
java.lang.Object |
getKey(int index)
Get the key at the given index. |
int |
getKeyCount()
Get the number of keys in this page. |
int |
getMemory()
|
long |
getPos()
Get the position of the page |
int |
getRawChildPageCount()
|
long |
getTotalCount()
Get the total number of key-value pairs, including child pages. |
java.lang.Object |
getValue(int index)
Get the value at the given index. |
int |
hashCode()
|
void |
insertLeaf(int index,
java.lang.Object key,
java.lang.Object value)
Insert a key-value pair into this leaf. |
void |
insertNode(int index,
java.lang.Object key,
Page childPage)
Insert a child page into this node. |
boolean |
isLeaf()
Check whether this is a leaf page. |
void |
remove(int index)
Remove the key and value (or child) at the given index. |
void |
removePage()
Remove the page. |
void |
setChild(int index,
Page c)
Replace the child page. |
void |
setKey(int index,
java.lang.Object key)
Replace the key at an index in this page. |
java.lang.Object |
setValue(int index,
java.lang.Object value)
Replace the value at an index in this page. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.Object[] EMPTY_OBJECT_ARRAY
| Method Detail |
|---|
public static Page create(MVMap<?,?> map,
long version,
java.lang.Object[] keys,
java.lang.Object[] values,
Page.PageReference[] children,
long totalCount,
int memory)
map - the mapversion - the versionkeys - the keysvalues - the valueschildren - the child page positionstotalCount - the total number of keysmemory - the memory used in bytes
public static Page create(MVMap<?,?> map,
long version,
Page source)
map - the mapversion - the versionsource - the source page
public java.lang.Object getKey(int index)
index - the index
public Page getChildPage(int index)
index - the index
public long getChildPagePos(int index)
index - the index
public java.lang.Object getValue(int index)
index - the index
public int getKeyCount()
public boolean isLeaf()
public long getPos()
public java.lang.String toString()
toString in class java.lang.Objectpublic Page copy(long version)
version - the new version
public int binarySearch(java.lang.Object key)
If the key was found, the returned value is the index in the key array. If not found, the returned value is negative, where -1 means the provided key is smaller than any keys in this page. See also Arrays.binarySearch.
key - the key
public long getTotalCount()
public void setChild(int index,
Page c)
index - the indexc - the new child page
public void setKey(int index,
java.lang.Object key)
index - the indexkey - the new key
public java.lang.Object setValue(int index,
java.lang.Object value)
index - the indexvalue - the new value
public void insertLeaf(int index,
java.lang.Object key,
java.lang.Object value)
index - the indexkey - the keyvalue - the value
public void insertNode(int index,
java.lang.Object key,
Page childPage)
index - the indexkey - the keychildPage - the child pagepublic void remove(int index)
index - the indexpublic int getRawChildPageCount()
public boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic int getMemory()
public void removePage()
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||