OSDN Git Service

rebuid:
[eos/hostdependX86MAC64.git] / util / X86MAC64 / include / postgresql / server / nodes / replnodes.h
1 /*-------------------------------------------------------------------------
2  *
3  * replnodes.h
4  *        definitions for replication grammar parse nodes
5  *
6  *
7  * Portions Copyright (c) 1996-2014, PostgreSQL Global Development Group
8  * Portions Copyright (c) 1994, Regents of the University of California
9  *
10  * src/include/nodes/replnodes.h
11  *
12  *-------------------------------------------------------------------------
13  */
14 #ifndef REPLNODES_H
15 #define REPLNODES_H
16
17 #include "access/xlogdefs.h"
18 #include "nodes/pg_list.h"
19
20 typedef enum ReplicationKind
21 {
22         REPLICATION_KIND_PHYSICAL,
23         REPLICATION_KIND_LOGICAL
24 } ReplicationKind;
25
26
27 /* ----------------------
28  *              IDENTIFY_SYSTEM command
29  * ----------------------
30  */
31 typedef struct IdentifySystemCmd
32 {
33         NodeTag         type;
34 } IdentifySystemCmd;
35
36
37 /* ----------------------
38  *              BASE_BACKUP command
39  * ----------------------
40  */
41 typedef struct BaseBackupCmd
42 {
43         NodeTag         type;
44         List       *options;
45 } BaseBackupCmd;
46
47
48 /* ----------------------
49  *              CREATE_REPLICATION_SLOT command
50  * ----------------------
51  */
52 typedef struct CreateReplicationSlotCmd
53 {
54         NodeTag         type;
55         char       *slotname;
56         ReplicationKind kind;
57         char       *plugin;
58 } CreateReplicationSlotCmd;
59
60
61 /* ----------------------
62  *              DROP_REPLICATION_SLOT command
63  * ----------------------
64  */
65 typedef struct DropReplicationSlotCmd
66 {
67         NodeTag         type;
68         char       *slotname;
69 } DropReplicationSlotCmd;
70
71
72 /* ----------------------
73  *              START_REPLICATION command
74  * ----------------------
75  */
76 typedef struct StartReplicationCmd
77 {
78         NodeTag         type;
79         ReplicationKind kind;
80         char       *slotname;
81         TimeLineID      timeline;
82         XLogRecPtr      startpoint;
83         List       *options;
84 } StartReplicationCmd;
85
86
87 /* ----------------------
88  *              TIMELINE_HISTORY command
89  * ----------------------
90  */
91 typedef struct TimeLineHistoryCmd
92 {
93         NodeTag         type;
94         TimeLineID      timeline;
95 } TimeLineHistoryCmd;
96
97 #endif   /* REPLNODES_H */