diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2003-07-03 16:34:26 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2003-07-03 16:34:26 +0000 |
commit | 455891bf96f6ee3dda9150fe83af2be5e86a572b (patch) | |
tree | d29465046a93c84445b8160e5af83899440330a2 /src/backend/nodes | |
parent | 7b1885bf989781b12bda847b98c89476efb894c9 (diff) | |
download | postgresql-455891bf96f6ee3dda9150fe83af2be5e86a572b.tar.gz postgresql-455891bf96f6ee3dda9150fe83af2be5e86a572b.zip |
Code review for UPDATE tab SET col = DEFAULT patch ... whack it around
so it has some chance of working in rules ...
Diffstat (limited to 'src/backend/nodes')
-rw-r--r-- | src/backend/nodes/copyfuncs.c | 30 | ||||
-rw-r--r-- | src/backend/nodes/equalfuncs.c | 23 | ||||
-rw-r--r-- | src/backend/nodes/outfuncs.c | 14 | ||||
-rw-r--r-- | src/backend/nodes/readfuncs.c | 18 |
4 files changed, 61 insertions, 24 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index 0caa7a55589..f2b896afe8f 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -15,7 +15,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.258 2003/06/29 00:33:43 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.259 2003/07/03 16:32:20 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1042,6 +1042,20 @@ _copyCoerceToDomainValue(CoerceToDomainValue *from) } /* + * _copySetToDefault + */ +static SetToDefault * +_copySetToDefault(SetToDefault *from) +{ + SetToDefault *newnode = makeNode(SetToDefault); + + COPY_SCALAR_FIELD(typeId); + COPY_SCALAR_FIELD(typeMod); + + return newnode; +} + +/* * _copyTargetEntry */ static TargetEntry * @@ -1669,14 +1683,6 @@ _copyFuncWithArgs(FuncWithArgs *from) return newnode; } -static SetToDefault * -_copySetToDefault(SetToDefault *from) -{ - SetToDefault *newnode = makeNode(SetToDefault); - - return newnode; -} - static DeclareCursorStmt * _copyDeclareCursorStmt(DeclareCursorStmt *from) { @@ -2607,6 +2613,9 @@ copyObject(void *from) case T_CoerceToDomainValue: retval = _copyCoerceToDomainValue(from); break; + case T_SetToDefault: + retval = _copySetToDefault(from); + break; case T_TargetEntry: retval = _copyTargetEntry(from); break; @@ -2955,9 +2964,6 @@ copyObject(void *from) case T_FuncWithArgs: retval = _copyFuncWithArgs(from); break; - case T_SetToDefault: - retval = _copySetToDefault(from); - break; default: elog(ERROR, "copyObject: don't know how to copy node type %d", diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c index 0f6fbaae2ee..2caca93a6b4 100644 --- a/src/backend/nodes/equalfuncs.c +++ b/src/backend/nodes/equalfuncs.c @@ -18,7 +18,7 @@ * Portions Copyright (c) 1994, Regents of the University of California * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.201 2003/06/29 00:33:43 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.202 2003/07/03 16:32:32 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -486,6 +486,15 @@ _equalCoerceToDomainValue(CoerceToDomainValue *a, CoerceToDomainValue *b) } static bool +_equalSetToDefault(SetToDefault *a, SetToDefault *b) +{ + COMPARE_SCALAR_FIELD(typeId); + COMPARE_SCALAR_FIELD(typeMod); + + return true; +} + +static bool _equalTargetEntry(TargetEntry *a, TargetEntry *b) { COMPARE_NODE_FIELD(resdom); @@ -741,12 +750,6 @@ _equalFuncWithArgs(FuncWithArgs *a, FuncWithArgs *b) } static bool -_equalSetToDefault(SetToDefault *a, SetToDefault *b) -{ - return true; -} - -static bool _equalDeclareCursorStmt(DeclareCursorStmt *a, DeclareCursorStmt *b) { COMPARE_STRING_FIELD(portalname); @@ -1727,6 +1730,9 @@ equal(void *a, void *b) case T_CoerceToDomainValue: retval = _equalCoerceToDomainValue(a, b); break; + case T_SetToDefault: + retval = _equalSetToDefault(a, b); + break; case T_TargetEntry: retval = _equalTargetEntry(a, b); break; @@ -2073,9 +2079,6 @@ equal(void *a, void *b) case T_FuncWithArgs: retval = _equalFuncWithArgs(a, b); break; - case T_SetToDefault: - retval = _equalSetToDefault(a, b); - break; default: elog(WARNING, "equal: don't know whether nodes of type %d are equal", diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 3b4858ee16e..2f622c9d7c1 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.211 2003/06/29 00:33:43 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.212 2003/07/03 16:32:38 tgl Exp $ * * NOTES * Every node type that can appear in stored rules' parsetrees *must* @@ -850,6 +850,15 @@ _outCoerceToDomainValue(StringInfo str, CoerceToDomainValue *node) } static void +_outSetToDefault(StringInfo str, SetToDefault *node) +{ + WRITE_NODE_TYPE("SETTODEFAULT"); + + WRITE_OID_FIELD(typeId); + WRITE_INT_FIELD(typeMod); +} + +static void _outTargetEntry(StringInfo str, TargetEntry *node) { WRITE_NODE_TYPE("TARGETENTRY"); @@ -1685,6 +1694,9 @@ _outNode(StringInfo str, void *obj) case T_CoerceToDomainValue: _outCoerceToDomainValue(str, obj); break; + case T_SetToDefault: + _outSetToDefault(str, obj); + break; case T_TargetEntry: _outTargetEntry(str, obj); break; diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c index b26a7a1ae8c..da6d10c31ee 100644 --- a/src/backend/nodes/readfuncs.c +++ b/src/backend/nodes/readfuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.157 2003/06/29 00:33:43 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/nodes/readfuncs.c,v 1.158 2003/07/03 16:32:39 tgl Exp $ * * NOTES * Path and Plan nodes do not have any readfuncs support, because we @@ -761,6 +761,20 @@ _readCoerceToDomainValue(void) } /* + * _readSetToDefault + */ +static SetToDefault * +_readSetToDefault(void) +{ + READ_LOCALS(SetToDefault); + + READ_OID_FIELD(typeId); + READ_INT_FIELD(typeMod); + + READ_DONE(); +} + +/* * _readTargetEntry */ static TargetEntry * @@ -1005,6 +1019,8 @@ parseNodeString(void) return_value = _readCoerceToDomain(); else if (MATCH("COERCETODOMAINVALUE", 19)) return_value = _readCoerceToDomainValue(); + else if (MATCH("SETTODEFAULT", 12)) + return_value = _readSetToDefault(); else if (MATCH("TARGETENTRY", 11)) return_value = _readTargetEntry(); else if (MATCH("RANGETBLREF", 11)) |