System Architecture 2-121
Structure of a Dbspace Page
Page Header
The page header includes six components:
■ Page identification number (address of the page on disk)
■ Number of slot table entries used on the page (used to calculate
where to locate the next slot table entry)
■ Number of free bytes left on the page
■ Pointer to the contiguous free space on the page that lies between the
last data entry and the first slot table entry
■ Timestamp that changes each time the page contents are modified
■ Two index-related pointers (used if the page is used as an index
page)
Timestamp
The page-header timestamp and the page-ending timestamp function as a pair to
validate page consistency. Each time the page contents are modified, a
timestamp is placed in the page header. At the end of the write, the header
timestamp is copied into the last four bytes on the page. Subsequent access to
the page checks both timestamps. If the two timestamps differ, this inconsis-
tency is reported as a part of consistency checking. (Refer to page 4-6 for
further information about consistency checking errors and corrective
actions.)
Slot Table
The slot table is a string of 4-byte slot table entries that begins at the page-
ending timestamp and grows toward the beginning of the page. The entries
in the slot table enable OnLine user processes to find data on dbspace pages.
Each entry in the slot table describes one segment of data that is stored in the
page. Thenumber of the slot table entry is stored as a 1-byte unsigned integer.
The slot table entries cannot exceed 255. This is the upper limit on the number
of rows, or parts of a row, than can be stored in a single data page.
The slot table entry is composed of two parts:
■ Page offset where the data segment begins
■ Length of the data segment