Minimal portability fix for commit e1551f96e.

Older gcc versions are not happy with having multiple declarations
for the same typedef name (not struct name).  I'm a bit dubious
as to how well-thought-out that patch was at all, but for the moment
just fix it enough so I can get some work done today.

Discussion: https://postgr.es/m/20191218101338.GB325369@paquier.xyz
This commit is contained in:
Tom Lane 2019-12-18 10:22:50 -05:00
parent ecb09cd5de
commit bf7427bdd3
2 changed files with 6 additions and 4 deletions

View File

@ -16,7 +16,8 @@
#include "parser/parse_node.h" #include "parser/parse_node.h"
typedef struct AttrMap AttrMap; struct AttrMap; /* avoid including attmap.h here */
extern List *transformCreateStmt(CreateStmt *stmt, const char *queryString); extern List *transformCreateStmt(CreateStmt *stmt, const char *queryString);
extern List *transformAlterTableStmt(Oid relid, AlterTableStmt *stmt, extern List *transformAlterTableStmt(Oid relid, AlterTableStmt *stmt,
@ -30,7 +31,7 @@ extern PartitionBoundSpec *transformPartitionBound(ParseState *pstate, Relation
PartitionBoundSpec *spec); PartitionBoundSpec *spec);
extern IndexStmt *generateClonedIndexStmt(RangeVar *heapRel, extern IndexStmt *generateClonedIndexStmt(RangeVar *heapRel,
Relation source_idx, Relation source_idx,
const AttrMap *attmap, const struct AttrMap *attmap,
Oid *constraintOid); Oid *constraintOid);
#endif /* PARSE_UTILCMD_H */ #endif /* PARSE_UTILCMD_H */

View File

@ -16,8 +16,9 @@
#include "nodes/parsenodes.h" #include "nodes/parsenodes.h"
struct AttrMap; /* avoid including attmap.h here */
typedef struct AttrMap AttrMap;
typedef struct replace_rte_variables_context replace_rte_variables_context; typedef struct replace_rte_variables_context replace_rte_variables_context;
typedef Node *(*replace_rte_variables_callback) (Var *var, typedef Node *(*replace_rte_variables_callback) (Var *var,
@ -72,7 +73,7 @@ extern Node *replace_rte_variables_mutator(Node *node,
extern Node *map_variable_attnos(Node *node, extern Node *map_variable_attnos(Node *node,
int target_varno, int sublevels_up, int target_varno, int sublevels_up,
const AttrMap *attno_map, const struct AttrMap *attno_map,
Oid to_rowtype, bool *found_whole_row); Oid to_rowtype, bool *found_whole_row);
extern Node *ReplaceVarsFromTargetList(Node *node, extern Node *ReplaceVarsFromTargetList(Node *node,