aboutsummaryrefslogtreecommitdiff
path: root/src/backend/nodes/makefuncs.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2009-04-04 21:12:31 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2009-04-04 21:12:31 +0000
commit090173a3f937952b2a5c6d92a3ab139e79ca3033 (patch)
treef015510d48f341507f96ae5288e069700755799d /src/backend/nodes/makefuncs.c
parentc973051ae69228129aeb8eb413d451ba4b326cad (diff)
downloadpostgresql-090173a3f937952b2a5c6d92a3ab139e79ca3033.tar.gz
postgresql-090173a3f937952b2a5c6d92a3ab139e79ca3033.zip
Remove the recently added node types ReloptElem and OptionDefElem in favor
of adding optional namespace and action fields to DefElem. Having three node types that do essentially the same thing bloats the code and leads to errors of confusion, such as in yesterday's bug report from Khee Chin.
Diffstat (limited to 'src/backend/nodes/makefuncs.c')
-rw-r--r--src/backend/nodes/makefuncs.c34
1 files changed, 17 insertions, 17 deletions
diff --git a/src/backend/nodes/makefuncs.c b/src/backend/nodes/makefuncs.c
index 39d7e20f83e..4a649ee2b48 100644
--- a/src/backend/nodes/makefuncs.c
+++ b/src/backend/nodes/makefuncs.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/nodes/makefuncs.c,v 1.63 2009/02/02 19:31:39 alvherre Exp $
+ * $PostgreSQL: pgsql/src/backend/nodes/makefuncs.c,v 1.64 2009/04/04 21:12:31 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -351,37 +351,37 @@ makeFuncExpr(Oid funcid, Oid rettype, List *args, CoercionForm fformat)
/*
* makeDefElem -
* build a DefElem node
+ *
+ * This is sufficient for the "typical" case with an unqualified option name
+ * and no special action.
*/
DefElem *
makeDefElem(char *name, Node *arg)
{
DefElem *res = makeNode(DefElem);
+ res->defnamespace = NULL;
res->defname = name;
res->arg = arg;
+ res->defaction = DEFELEM_UNSPEC;
+
return res;
}
/*
- * makeOptionDefElem -
- * build an OptionDefElem node
+ * makeDefElemExtended -
+ * build a DefElem node with all fields available to be specified
*/
-OptionDefElem *
-makeOptionDefElem(int op, DefElem *def)
-{
- OptionDefElem *res = makeNode(OptionDefElem);
- res->alter_op = op;
- res->def = def;
- return res;
-}
-
-ReloptElem *
-makeReloptElem(char *name, char *nmspc, Node *arg)
+DefElem *
+makeDefElemExtended(char *namespace, char *name, Node *arg,
+ DefElemAction defaction)
{
- ReloptElem *res = makeNode(ReloptElem);
+ DefElem *res = makeNode(DefElem);
- res->optname = name;
- res->nmspc = nmspc;
+ res->defnamespace = namespace;
+ res->defname = name;
res->arg = arg;
+ res->defaction = defaction;
+
return res;
}