DatabaseHeader Struct Reference

Header stored in the first two pages of a Database data file. More...

#include <DatabaseHeader.h>

Inheritance diagram for DatabaseHeader:

StoredNode List of all members.

Public Attributes

SegVersionNum versionNumber
 Data segment version number at last checkpoint.
LogicalTxnLogCheckpointMemento txnLogCheckpointMemento
 Memento for state of txn log at last checkpoint.
PageId shadowRecoveryPageId
 PageId of the oldest page in the shadow log needed for recovery.
PseudoUuid onlineUuid
 Whenever a database is opened, except during recovery, a new UUID is generated to represent the online lifetime of the database.
MagicNumber magicNumber
 Magic number identifying the derived StoredNode class.

Static Public Attributes

static const MagicNumber MAGIC_NUMBER = 0xa513a9e27bc336acLL

Detailed Description

Header stored in the first two pages of a Database data file.

(Two pages because an identical copy is stored as part of a careful-write protocol when checkpointing.)

Definition at line 41 of file DatabaseHeader.h.


Member Data Documentation

static const MagicNumber DatabaseHeader::MAGIC_NUMBER = 0xa513a9e27bc336acLL [static]

Definition at line 60 of file DatabaseHeader.h.

Referenced by Database::init().

SegVersionNum DatabaseHeader::versionNumber

Data segment version number at last checkpoint.

Definition at line 74 of file DatabaseHeader.h.

Referenced by Database::checkpointImpl(), Database::closeImpl(), Database::createDataSegment(), Database::init(), Database::loadHeader(), Database::openSegments(), Database::recoverPhysical(), and Database::restoreFromBackup().

LogicalTxnLogCheckpointMemento DatabaseHeader::txnLogCheckpointMemento

Memento for state of txn log at last checkpoint.

Definition at line 79 of file DatabaseHeader.h.

Referenced by Database::checkpointImpl(), Database::createTxnLog(), Database::getLastCommittedTxnId(), Database::loadHeader(), and Database::recover().

PageId DatabaseHeader::shadowRecoveryPageId

PageId of the oldest page in the shadow log needed for recovery.

Definition at line 84 of file DatabaseHeader.h.

Referenced by Database::checkpointImpl(), Database::createShadowLog(), Database::recoverOnline(), and Database::recoverPhysical().

PseudoUuid DatabaseHeader::onlineUuid

Whenever a database is opened, except during recovery, a new UUID is generated to represent the online lifetime of the database.

The primary use is for marking log pages so that disk blocks written by previous instances can't masquerade as usable log pages during recovery.

Definition at line 93 of file DatabaseHeader.h.

Referenced by Database::createDataSegment(), Database::createTxnLog(), Database::openSegments(), Database::recover(), and Database::restoreFromBackup().

MagicNumber StoredNode::magicNumber [inherited]

Magic number identifying the derived StoredNode class.

Definition at line 394 of file SegPageLock.h.

Referenced by Database::init(), and BTreeVerifier::verifyNode().


The documentation for this struct was generated from the following file:
Generated on Mon Jun 22 04:00:29 2009 for Fennel by  doxygen 1.5.1