aboutsummaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/replication/basebackup.h2
-rw-r--r--src/include/replication/replnodes.h63
-rw-r--r--src/include/replication/walsender.h13
3 files changed, 77 insertions, 1 deletions
diff --git a/src/include/replication/basebackup.h b/src/include/replication/basebackup.h
index 61e531543c6..eb2e1601768 100644
--- a/src/include/replication/basebackup.h
+++ b/src/include/replication/basebackup.h
@@ -12,6 +12,6 @@
#ifndef _BASEBACKUP_H
#define _BASEBACKUP_H
-extern void SendBaseBackup(const char *options);
+extern void SendBaseBackup(const char *backup_label, bool progress);
#endif /* _BASEBACKUP_H */
diff --git a/src/include/replication/replnodes.h b/src/include/replication/replnodes.h
new file mode 100644
index 00000000000..4f4a1a3bac3
--- /dev/null
+++ b/src/include/replication/replnodes.h
@@ -0,0 +1,63 @@
+/*-------------------------------------------------------------------------
+ *
+ * replnodes.h
+ * definitions for replication grammar parse nodes
+ *
+ *
+ * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ * src/include/replication/replnodes.h
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef REPLNODES_H
+#define REPLNODES_H
+
+#include "access/xlogdefs.h"
+#include "nodes/primnodes.h"
+#include "nodes/value.h"
+
+/*
+ * NodeTags for replication parser
+ */
+typedef enum ReplNodeTag
+{
+ T_IdentifySystemCmd = 10,
+ T_BaseBackupCmd,
+ T_StartReplicationCmd
+} ReplNodeTag;
+
+/* ----------------------
+ * IDENTIFY_SYSTEM command
+ * ----------------------
+ */
+typedef struct IdentifySystemCmd
+{
+ NodeTag type;
+} IdentifySystemCmd;
+
+
+/* ----------------------
+ * BASE_BACKUP command
+ * ----------------------
+ */
+typedef struct BaseBackupCmd
+{
+ NodeTag type;
+ char *label;
+ bool progress;
+} BaseBackupCmd;
+
+
+/* ----------------------
+ * START_REPLICATION command
+ * ----------------------
+ */
+typedef struct StartReplicationCmd
+{
+ NodeTag type;
+ XLogRecPtr startpoint;
+} StartReplicationCmd;
+
+#endif /* REPLNODES_H */
diff --git a/src/include/replication/walsender.h b/src/include/replication/walsender.h
index 9039b240c44..bd9e19320fb 100644
--- a/src/include/replication/walsender.h
+++ b/src/include/replication/walsender.h
@@ -13,6 +13,7 @@
#define _WALSENDER_H
#include "access/xlog.h"
+#include "nodes/nodes.h"
#include "storage/latch.h"
#include "storage/spin.h"
@@ -69,4 +70,16 @@ extern void WalSndSetState(WalSndState state);
extern Datum pg_stat_get_wal_senders(PG_FUNCTION_ARGS);
+/*
+ * Internal functions for parsing the replication grammar, in repl_gram.y and
+ * repl_scanner.l
+ */
+extern int replication_yyparse(void);
+extern int replication_yylex(void);
+extern void replication_yyerror(const char *str);
+extern void replication_scanner_init(const char *query_string);
+extern void replication_scanner_finish(void);
+
+extern Node *replication_parse_result;
+
#endif /* _WALSENDER_H */