## org.h2.store
Class Page

    java.lang.Object
      org.h2.util.CacheObject
          org.h2.store.Record
              org.h2.store.Page

Direct Known Subclasses:
  PageBtree, PageDataLeaf, PageDataNode, PageDataOverflow, PageFreeList, PageStreamData, PageStreamTrunk

    public abstract class Page

extends Record

A page. Format:

- 0-3: parent page id (0 for root)
- 4-4: page type
- page-type specific data

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`