From af0eca1a80e3e3a6fa0ee00df4a7883e4f228d0b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Sat, 6 Aug 2011 14:53:59 -0400 Subject: [PATCH] Clean up ill-advised attempt to invent a private set of Node tags. Somebody thought it'd be cute to invent a set of Node tag numbers that were defined independently of, and indeed conflicting with, the main tag-number list. While this accidentally failed to fail so far, it would certainly lead to trouble as soon as anyone wanted to, say, apply copyObject to these node types. Clang was already complaining about the use of makeNode on these tags, and I think quite rightly so. Fix by pushing these node definitions into the mainstream, including putting replnodes.h where it belongs. --- src/backend/replication/repl_gram.y | 4 ++-- src/backend/replication/walsender.c | 6 +++--- src/include/nodes/nodes.h | 7 +++++++ src/include/{replication => nodes}/replnodes.h | 14 ++------------ src/include/replication/basebackup.h | 4 ++-- 5 files changed, 16 insertions(+), 19 deletions(-) rename src/include/{replication => nodes}/replnodes.h (80%) diff --git a/src/backend/replication/repl_gram.y b/src/backend/replication/repl_gram.y index 4930ad1d09..d99708ca8e 100644 --- a/src/backend/replication/repl_gram.y +++ b/src/backend/replication/repl_gram.y @@ -16,10 +16,10 @@ #include "postgres.h" #include "nodes/makefuncs.h" -#include "nodes/parsenodes.h" -#include "replication/replnodes.h" +#include "nodes/replnodes.h" #include "replication/walsender.h" + /* Result of the parsing is returned here */ Node *replication_parse_result; diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index 63952e73f1..7ed13c7e22 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -37,16 +37,16 @@ #include #include -#include "funcapi.h" -#include "access/xlog_internal.h" #include "access/transam.h" +#include "access/xlog_internal.h" #include "catalog/pg_type.h" +#include "funcapi.h" #include "libpq/libpq.h" #include "libpq/pqformat.h" #include "libpq/pqsignal.h" #include "miscadmin.h" +#include "nodes/replnodes.h" #include "replication/basebackup.h" -#include "replication/replnodes.h" #include "replication/walprotocol.h" #include "replication/walsender.h" #include "storage/fd.h" diff --git a/src/include/nodes/nodes.h b/src/include/nodes/nodes.h index d8bc6b8214..ecf62b335b 100644 --- a/src/include/nodes/nodes.h +++ b/src/include/nodes/nodes.h @@ -402,6 +402,13 @@ typedef enum NodeTag T_WithClause, T_CommonTableExpr, + /* + * TAGS FOR REPLICATION GRAMMAR PARSE NODES (replnodes.h) + */ + T_IdentifySystemCmd, + T_BaseBackupCmd, + T_StartReplicationCmd, + /* * TAGS FOR RANDOM OTHER STUFF * diff --git a/src/include/replication/replnodes.h b/src/include/nodes/replnodes.h similarity index 80% rename from src/include/replication/replnodes.h rename to src/include/nodes/replnodes.h index e027f9203b..8cbd18a24c 100644 --- a/src/include/replication/replnodes.h +++ b/src/include/nodes/replnodes.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2011, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * src/include/replication/replnodes.h + * src/include/nodes/replnodes.h * *------------------------------------------------------------------------- */ @@ -15,18 +15,8 @@ #define REPLNODES_H #include "access/xlogdefs.h" -#include "nodes/primnodes.h" -#include "nodes/value.h" +#include "nodes/pg_list.h" -/* - * NodeTags for replication parser - */ -typedef enum ReplNodeTag -{ - T_IdentifySystemCmd = 10, - T_BaseBackupCmd, - T_StartReplicationCmd -} ReplNodeTag; /* ---------------------- * IDENTIFY_SYSTEM command diff --git a/src/include/replication/basebackup.h b/src/include/replication/basebackup.h index 831c33fb4a..7ce1f38372 100644 --- a/src/include/replication/basebackup.h +++ b/src/include/replication/basebackup.h @@ -5,14 +5,14 @@ * * Portions Copyright (c) 2010-2011, PostgreSQL Global Development Group * - * src/include/replication/walsender.h + * src/include/replication/basebackup.h * *------------------------------------------------------------------------- */ #ifndef _BASEBACKUP_H #define _BASEBACKUP_H -#include "replication/replnodes.h" +#include "nodes/replnodes.h" extern void SendBaseBackup(BaseBackupCmd *cmd); -- 2.40.0