/* *Thisstructcontainsthecurrentstateofthesnapshotbuilding *machinery.Itisexposedtothepublic,sopayattentionwhenchangingits *contents.
*/ struct SnapBuild
{ /* how far are we along building our first full snapshot */
SnapBuildState state;
/* private memory context used to allocate memory for this module. */
MemoryContext context;
/* all transactions < than this have committed/aborted */
TransactionId xmin;
/* all transactions >= than this are uncommitted */
TransactionId xmax;
/* *WestorecurrentstateofstructSnapBuildondiskinthefollowingmanner: * *structSnapBuildOnDisk; *TransactionId*committed.xcnt;(*notxcnt_space*) *TransactionId*catchange.xcnt; * *CheckiftheSnapBuildOnDiskConstantSizeandSnapBuildOnDiskNotChecksummedSize *macrosneedtobeupdatedwhenmodifyingtheSnapBuildOnDiskstruct.
*/ typedefstruct SnapBuildOnDisk
{ /* first part of this struct needs to be version independent */
/* data not covered by checksum */
uint32 magic;
pg_crc32c checksum;
/* data covered by checksum */
/* version, in case we want to support pg_upgrade */
uint32 version; /* how large is the on disk data, excluding the constant sized part */
uint32 length;
/* version dependent part */
SnapBuild builder;
/* variable amount of TransactionIds follows */
} SnapBuildOnDisk;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.