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.
REL9_1_STABLE
Tom Lane 15 years ago
parent 34e2ef661b
commit af0eca1a80
  1. 4
      src/backend/replication/repl_gram.y
  2. 6
      src/backend/replication/walsender.c
  3. 7
      src/include/nodes/nodes.h
  4. 14
      src/include/nodes/replnodes.h
  5. 4
      src/include/replication/basebackup.h

@ -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;

@ -37,16 +37,16 @@
#include <signal.h>
#include <unistd.h>
#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"

@ -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
*

@ -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

@ -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);

Loading…
Cancel
Save