#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;
typedef struct IdentifySystemCmd
{
NodeTag type;
} IdentifySystemCmd;
typedef struct BaseBackupCmd
{
NodeTag type;
List *options;
} BaseBackupCmd;
typedef struct CreateReplicationSlotCmd
{
NodeTag type;
char *slotname;
ReplicationKind kind;
char *plugin;
bool temporary;
List *options;
} CreateReplicationSlotCmd;
typedef struct DropReplicationSlotCmd
{
NodeTag type;
char *slotname;
bool wait;
} DropReplicationSlotCmd;
typedef struct AlterReplicationSlotCmd
{
NodeTag type;
char *slotname;
List *options;
} AlterReplicationSlotCmd;
typedef struct StartReplicationCmd
{
NodeTag type;
ReplicationKind kind;
char *slotname;
TimeLineID timeline;
XLogRecPtr startpoint;
List *options;
} StartReplicationCmd;
typedef struct ReadReplicationSlotCmd
{
NodeTag type;
char *slotname;
} ReadReplicationSlotCmd;
typedef struct TimeLineHistoryCmd
{
NodeTag type;
TimeLineID timeline;
} TimeLineHistoryCmd;
typedef struct UploadManifestCmd
{
NodeTag type;
} UploadManifestCmd;
#endif