diff options
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/replication/basebackup.h | 2 | ||||
-rw-r--r-- | src/include/replication/replnodes.h | 63 | ||||
-rw-r--r-- | src/include/replication/walsender.h | 13 |
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 */ |