org.h2.store
Class Page

java.lang.Object
  extended by org.h2.util.CacheObject
      extended by org.h2.store.Record
          extended by org.h2.store.Page
Direct Known Subclasses:
PageBtree, PageDataLeaf, PageDataNode, PageDataOverflow, PageFreeList, PageStreamData, PageStreamTrunk

public abstract class Page
extends Record

A page. Format:


Field Summary
static int FLAG_LAST
          This is the last page of a chain.
static int TYPE_BTREE_LEAF
          A b-tree leaf page (without overflow: + FLAG_LAST).
static int TYPE_BTREE_NODE
          A b-tree node page (never has overflow pages).
static int TYPE_DATA_LEAF
          A data leaf page (without overflow: + FLAG_LAST).
static int TYPE_DATA_NODE
          A data node page (never has overflow pages).
static int TYPE_DATA_OVERFLOW
          A data overflow page (the last page: + FLAG_LAST).
static int TYPE_EMPTY
          An empty page.
static int TYPE_FREE_LIST
          A page containing a list of free pages (the last page: + FLAG_LAST).
static int TYPE_STREAM_DATA
          A stream data page.
static int TYPE_STREAM_TRUNK
          A stream trunk page.
 
Fields inherited from class org.h2.util.CacheObject
blockCount, cacheQueue, chained, next, previous
 
Constructor Summary
Page()
           
 
Method Summary
abstract  void moveTo(Session session, int newPos)
          Copy the data to a new location, change the parent to point to the new location, and free up the current page.
 
Methods inherited from class org.h2.store.Record
canRemove, commit, getByteCount, getSessionId, getStorageId, isDeleted, isEmpty, isLogWritten, prepareWrite, setDeleted, setLastLog, setLogWritten, setSessionId, setStorageId, write
 
Methods inherited from class org.h2.util.CacheObject
getBlockCount, getMemorySize, getPos, isChanged, isPinned, setBlockCount, setChanged, setPos, sort
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FLAG_LAST

public static final int FLAG_LAST
This is the last page of a chain.

See Also:
Constant Field Values

TYPE_EMPTY

public static final int TYPE_EMPTY
An empty page.

See Also:
Constant Field Values

TYPE_DATA_LEAF

public static final int TYPE_DATA_LEAF
A data leaf page (without overflow: + FLAG_LAST).

See Also:
Constant Field Values

TYPE_DATA_NODE

public static final int TYPE_DATA_NODE
A data node page (never has overflow pages).

See Also:
Constant Field Values

TYPE_DATA_OVERFLOW

public static final int TYPE_DATA_OVERFLOW
A data overflow page (the last page: + FLAG_LAST).

See Also:
Constant Field Values

TYPE_BTREE_LEAF

public static final int TYPE_BTREE_LEAF
A b-tree leaf page (without overflow: + FLAG_LAST).

See Also:
Constant Field Values

TYPE_BTREE_NODE

public static final int TYPE_BTREE_NODE
A b-tree node page (never has overflow pages).

See Also:
Constant Field Values

TYPE_FREE_LIST

public static final int TYPE_FREE_LIST
A page containing a list of free pages (the last page: + FLAG_LAST).

See Also:
Constant Field Values

TYPE_STREAM_TRUNK

public static final int TYPE_STREAM_TRUNK
A stream trunk page.

See Also:
Constant Field Values

TYPE_STREAM_DATA

public static final int TYPE_STREAM_DATA
A stream data page.

See Also:
Constant Field Values
Constructor Detail

Page

public Page()
Method Detail

moveTo

public abstract void moveTo(Session session,
                            int newPos)
                     throws java.sql.SQLException
Copy the data to a new location, change the parent to point to the new location, and free up the current page.

Parameters:
session - the session
newPos - the new position
Throws:
java.sql.SQLException