111 lines
2.4 KiB
C
Executable File
111 lines
2.4 KiB
C
Executable File
/* -------------------------------------------------------------------------
|
|
*
|
|
* replnodes.h
|
|
* definitions for replication grammar parse nodes
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2012, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/nodes/replnodes.h
|
|
*
|
|
* -------------------------------------------------------------------------
|
|
*/
|
|
#ifndef REPLNODES_H
|
|
#define REPLNODES_H
|
|
|
|
#include "access/xlogdefs.h"
|
|
#include "nodes/pg_list.h"
|
|
|
|
typedef enum ReplicationKind { REPLICATION_KIND_PHYSICAL, REPLICATION_KIND_LOGICAL } ReplicationKind;
|
|
|
|
/* ----------------------
|
|
* IDENTIFY_SYSTEM command
|
|
* ----------------------
|
|
*/
|
|
typedef struct IdentifySystemCmd {
|
|
NodeTag type;
|
|
} IdentifySystemCmd;
|
|
|
|
typedef struct IdentifyVersionCmd {
|
|
NodeTag type;
|
|
} IdentifyVersionCmd;
|
|
|
|
typedef struct IdentifyModeCmd {
|
|
NodeTag type;
|
|
} IdentifyModeCmd;
|
|
|
|
typedef struct IdentifyMaxLsnCmd {
|
|
NodeTag type;
|
|
} IdentifyMaxLsnCmd;
|
|
|
|
typedef struct IdentifyConsistenceCmd {
|
|
NodeTag type;
|
|
XLogRecPtr recordptr;
|
|
} IdentifyConsistenceCmd;
|
|
|
|
typedef struct IdentifyChannelCmd {
|
|
NodeTag type;
|
|
int channel_identifier;
|
|
} IdentifyChannelCmd;
|
|
|
|
/* ----------------------
|
|
* BASE_BACKUP command
|
|
* ----------------------
|
|
*/
|
|
typedef struct BaseBackupCmd {
|
|
NodeTag type;
|
|
List* options;
|
|
} BaseBackupCmd;
|
|
|
|
/* ----------------------
|
|
* CREATE_REPLICATION_SLOT command
|
|
* ----------------------
|
|
*/
|
|
typedef struct CreateReplicationSlotCmd {
|
|
NodeTag type;
|
|
char* slotname;
|
|
ReplicationKind kind;
|
|
XLogRecPtr init_slot_lsn;
|
|
char* plugin;
|
|
} CreateReplicationSlotCmd;
|
|
|
|
/* ----------------------
|
|
* DROP_REPLICATION_SLOT command
|
|
* ----------------------
|
|
*/
|
|
typedef struct DropReplicationSlotCmd {
|
|
NodeTag type;
|
|
char* slotname;
|
|
} DropReplicationSlotCmd;
|
|
|
|
/* ----------------------
|
|
* START_REPLICATION command
|
|
* ----------------------
|
|
*/
|
|
typedef struct StartReplicationCmd {
|
|
NodeTag type;
|
|
ReplicationKind kind;
|
|
char* slotname;
|
|
XLogRecPtr startpoint;
|
|
List* options;
|
|
} StartReplicationCmd;
|
|
|
|
/* ----------------------
|
|
* START_REPLICATION(DATA) command
|
|
* ----------------------
|
|
*/
|
|
typedef struct StartDataReplicationCmd {
|
|
NodeTag type;
|
|
} StartDataReplicationCmd;
|
|
|
|
/* ----------------------
|
|
* FETCH_MOT_CHECKPOINT command
|
|
* ----------------------
|
|
*/
|
|
typedef struct FetchMotCheckpointCmd {
|
|
NodeTag type;
|
|
} FetchMotCheckpointCmd;
|
|
|
|
#endif /* REPLNODES_H */
|