Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  standbydefs.h

  Sprache: C
 

/*-------------------------------------------------------------------------
 *
 * standbydefs.h
 *    Frontend exposed definitions for hot standby mode.
 *
 *
 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
 * Portions Copyright (c) 1994, Regents of the University of California
 *
 * src/include/storage/standbydefs.h
 *
 *-------------------------------------------------------------------------
 */

#ifndef STANDBYDEFS_H
#define STANDBYDEFS_H

#include "access/xlogreader.h"
#include "lib/stringinfo.h"
#include "storage/lockdefs.h"
#include "storage/sinval.h"

/* Recovery handlers for the Standby Rmgr (RM_STANDBY_ID) */
extern void standby_redo(XLogReaderState *record);
extern void standby_desc(StringInfo buf, XLogReaderState *record);
extern const char *standby_identify(uint8 info);
extern void standby_desc_invalidations(StringInfo buf,
            int nmsgs, SharedInvalidationMessage *msgs,
            Oid dbId, Oid tsId,
            bool relcacheInitFileInval);

/*
 * XLOG message types
 */

#define XLOG_STANDBY_LOCK   0x00
#define XLOG_RUNNING_XACTS   0x10
#define XLOG_INVALIDATIONS   0x20

typedef struct xl_standby_locks
{
 int   nlocks;   /* number of entries in locks array */
 xl_standby_lock locks[FLEXIBLE_ARRAY_MEMBER];
} xl_standby_locks;

/*
 * When we write running xact data to WAL, we use this structure.
 */

typedef struct xl_running_xacts
{
 int   xcnt;   /* # of xact ids in xids[] */
 int   subxcnt;  /* # of subxact ids in xids[] */
 bool  subxid_overflow; /* snapshot overflowed, subxids missing */
 TransactionId nextXid;  /* xid from TransamVariables->nextXid */
 TransactionId oldestRunningXid; /* *not* oldestXmin */
 TransactionId latestCompletedXid; /* so we can set xmax */

 TransactionId xids[FLEXIBLE_ARRAY_MEMBER];
} xl_running_xacts;

/*
 * Invalidations for standby, currently only when transactions without an
 * assigned xid commit.
 */

typedef struct xl_invalidations
{
 Oid   dbId;   /* MyDatabaseId */
 Oid   tsId;   /* MyDatabaseTableSpace */
 bool  relcacheInitFileInval; /* invalidate relcache init files */
 int   nmsgs;   /* number of shared inval msgs */
 SharedInvalidationMessage msgs[FLEXIBLE_ARRAY_MEMBER];
} xl_invalidations;

#define MinSizeOfInvalidations offsetof(xl_invalidations, msgs)

#endif       /* STANDBYDEFS_H */

Messung V0.5 in Prozent
C=82 H=100 G=91

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet am  2026-08-08) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=277311
#Domains=752002