mirror of https://github.com/postgres/postgres
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.8 KiB
66 lines
1.8 KiB
/*-------------------------------------------------------------------------
|
|
*
|
|
* relmapper.h
|
|
* Catalog-to-filenode mapping
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2015, 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 */
|
|
|