diff options
Diffstat (limited to 'src/backend/nodes')
-rw-r--r-- | src/backend/nodes/copyfuncs.c | 20 | ||||
-rw-r--r-- | src/backend/nodes/equalfuncs.c | 15 | ||||
-rw-r--r-- | src/backend/nodes/outfuncs.c | 15 |
3 files changed, 47 insertions, 3 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index 83322320b09..4a30a3d8228 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 - * $PostgreSQL: pgsql/src/backend/nodes/copyfuncs.c,v 1.400 2008/08/14 18:47:58 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/nodes/copyfuncs.c,v 1.401 2008/08/22 00:16:03 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -969,6 +969,21 @@ _copySubPlan(SubPlan *from) COPY_NODE_FIELD(setParam); COPY_NODE_FIELD(parParam); COPY_NODE_FIELD(args); + COPY_SCALAR_FIELD(startup_cost); + COPY_SCALAR_FIELD(per_call_cost); + + return newnode; +} + +/* + * _copyAlternativeSubPlan + */ +static AlternativeSubPlan * +_copyAlternativeSubPlan(AlternativeSubPlan *from) +{ + AlternativeSubPlan *newnode = makeNode(AlternativeSubPlan); + + COPY_NODE_FIELD(subplans); return newnode; } @@ -3146,6 +3161,9 @@ copyObject(void *from) case T_SubPlan: retval = _copySubPlan(from); break; + case T_AlternativeSubPlan: + retval = _copyAlternativeSubPlan(from); + break; case T_FieldSelect: retval = _copyFieldSelect(from); break; diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c index 831a5fe19be..3a25111c60c 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 - * $PostgreSQL: pgsql/src/backend/nodes/equalfuncs.c,v 1.327 2008/08/14 18:47:58 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/nodes/equalfuncs.c,v 1.328 2008/08/22 00:16:03 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -314,6 +314,16 @@ _equalSubPlan(SubPlan *a, SubPlan *b) COMPARE_NODE_FIELD(setParam); COMPARE_NODE_FIELD(parParam); COMPARE_NODE_FIELD(args); + COMPARE_SCALAR_FIELD(startup_cost); + COMPARE_SCALAR_FIELD(per_call_cost); + + return true; +} + +static bool +_equalAlternativeSubPlan(AlternativeSubPlan *a, AlternativeSubPlan *b) +{ + COMPARE_NODE_FIELD(subplans); return true; } @@ -2098,6 +2108,9 @@ equal(void *a, void *b) case T_SubPlan: retval = _equalSubPlan(a, b); break; + case T_AlternativeSubPlan: + retval = _equalAlternativeSubPlan(a, b); + break; case T_FieldSelect: retval = _equalFieldSelect(a, b); break; diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c index 13c824389ef..76f8da1babe 100644 --- a/src/backend/nodes/outfuncs.c +++ b/src/backend/nodes/outfuncs.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.334 2008/08/14 18:47:58 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.335 2008/08/22 00:16:03 tgl Exp $ * * NOTES * Every node type that can appear in stored rules' parsetrees *must* @@ -846,6 +846,16 @@ _outSubPlan(StringInfo str, SubPlan *node) WRITE_NODE_FIELD(setParam); WRITE_NODE_FIELD(parParam); WRITE_NODE_FIELD(args); + WRITE_FLOAT_FIELD(startup_cost, "%.2f"); + WRITE_FLOAT_FIELD(per_call_cost, "%.2f"); +} + +static void +_outAlternativeSubPlan(StringInfo str, AlternativeSubPlan *node) +{ + WRITE_NODE_TYPE("ALTERNATIVESUBPLAN"); + + WRITE_NODE_FIELD(subplans); } static void @@ -2208,6 +2218,9 @@ _outNode(StringInfo str, void *obj) case T_SubPlan: _outSubPlan(str, obj); break; + case T_AlternativeSubPlan: + _outAlternativeSubPlan(str, obj); + break; case T_FieldSelect: _outFieldSelect(str, obj); break; |