123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /*-------------------------------------------------------------------------
- *
- * relmapper.h
- * Catalog-to-filenode mapping
- *
- *
- * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/include/utils/relmapper.h
- *
- *-------------------------------------------------------------------------
- */
- #ifndef RELMAPPER_H
- #define RELMAPPER_H
- #include "access/xlogreader.h"
- #include "lib/stringinfo.h"
- /* ----------------
- * relmap-related XLOG entries
- * ----------------
- */
- #define XLOG_RELMAP_UPDATE 0x00
- typedef struct xl_relmap_update
- {
- Oid dbid; /* database ID, or 0 for shared map */
- Oid tsid; /* database's tablespace, or pg_global */
- int32 nbytes; /* size of relmap data */
- char data[FLEXIBLE_ARRAY_MEMBER];
- } xl_relmap_update;
- #define MinSizeOfRelmapUpdate offsetof(xl_relmap_update, data)
- extern Oid RelationMapOidToFilenode(Oid relationId, bool shared);
- extern Oid RelationMapFilenodeToOid(Oid relationId, bool shared);
- extern void RelationMapUpdateMap(Oid relationId, Oid fileNode, bool shared,
- bool immediate);
- extern void RelationMapRemoveMapping(Oid relationId);
- extern void RelationMapInvalidate(bool shared);
- extern void RelationMapInvalidateAll(void);
- extern void AtCCI_RelationMap(void);
- extern void AtEOXact_RelationMap(bool isCommit);
- extern void AtPrepare_RelationMap(void);
- extern void CheckPointRelationMap(void);
- extern void RelationMapFinishBootstrap(void);
- extern void RelationMapInitialize(void);
- extern void RelationMapInitializePhase2(void);
- extern void RelationMapInitializePhase3(void);
- extern void relmap_redo(XLogReaderState *record);
- extern void relmap_desc(StringInfo buf, XLogReaderState *record);
- extern const char *relmap_identify(uint8 info);
- #endif /* RELMAPPER_H */
|