Update copyright for 2022
[pgsql.git] / src / include / nodes / replnodes.h
bloba77234474009f8b5a5c8a47cf34d687528893fcb
1 /*-------------------------------------------------------------------------
3 * replnodes.h
4 * definitions for replication grammar parse nodes
7 * Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
10 * src/include/nodes/replnodes.h
12 *-------------------------------------------------------------------------
14 #ifndef REPLNODES_H
15 #define REPLNODES_H
17 #include "access/xlogdefs.h"
18 #include "nodes/pg_list.h"
20 typedef enum ReplicationKind
22 REPLICATION_KIND_PHYSICAL,
23 REPLICATION_KIND_LOGICAL
24 } ReplicationKind;
27 /* ----------------------
28 * IDENTIFY_SYSTEM command
29 * ----------------------
31 typedef struct IdentifySystemCmd
33 NodeTag type;
34 } IdentifySystemCmd;
37 /* ----------------------
38 * BASE_BACKUP command
39 * ----------------------
41 typedef struct BaseBackupCmd
43 NodeTag type;
44 List *options;
45 } BaseBackupCmd;
48 /* ----------------------
49 * CREATE_REPLICATION_SLOT command
50 * ----------------------
52 typedef struct CreateReplicationSlotCmd
54 NodeTag type;
55 char *slotname;
56 ReplicationKind kind;
57 char *plugin;
58 bool temporary;
59 List *options;
60 } CreateReplicationSlotCmd;
63 /* ----------------------
64 * DROP_REPLICATION_SLOT command
65 * ----------------------
67 typedef struct DropReplicationSlotCmd
69 NodeTag type;
70 char *slotname;
71 bool wait;
72 } DropReplicationSlotCmd;
75 /* ----------------------
76 * START_REPLICATION command
77 * ----------------------
79 typedef struct StartReplicationCmd
81 NodeTag type;
82 ReplicationKind kind;
83 char *slotname;
84 TimeLineID timeline;
85 XLogRecPtr startpoint;
86 List *options;
87 } StartReplicationCmd;
90 /* ----------------------
91 * READ_REPLICATION_SLOT command
92 * ----------------------
94 typedef struct ReadReplicationSlotCmd
96 NodeTag type;
97 char *slotname;
98 } ReadReplicationSlotCmd;
101 /* ----------------------
102 * TIMELINE_HISTORY command
103 * ----------------------
105 typedef struct TimeLineHistoryCmd
107 NodeTag type;
108 TimeLineID timeline;
109 } TimeLineHistoryCmd;
111 /* ----------------------
112 * SQL commands
113 * ----------------------
115 typedef struct SQLCmd
117 NodeTag type;
118 } SQLCmd;
120 #endif /* REPLNODES_H */