diff options
Diffstat (limited to 'src/backend/nodes/copyfuncs.c')
-rw-r--r-- | src/backend/nodes/copyfuncs.c | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index f0a49155024..2dce7bab18f 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.408 2008/10/07 19:27:04 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/nodes/copyfuncs.c,v 1.409 2008/10/21 20:42:52 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1593,6 +1593,22 @@ _copyFlattenedSubLink(FlattenedSubLink *from) } /* + * _copyPlaceHolderVar + */ +static PlaceHolderVar * +_copyPlaceHolderVar(PlaceHolderVar *from) +{ + PlaceHolderVar *newnode = makeNode(PlaceHolderVar); + + COPY_NODE_FIELD(phexpr); + COPY_BITMAPSET_FIELD(phrels); + COPY_SCALAR_FIELD(phid); + COPY_SCALAR_FIELD(phlevelsup); + + return newnode; +} + +/* * _copySpecialJoinInfo */ static SpecialJoinInfo * @@ -1631,6 +1647,23 @@ _copyAppendRelInfo(AppendRelInfo *from) return newnode; } +/* + * _copyPlaceHolderInfo + */ +static PlaceHolderInfo * +_copyPlaceHolderInfo(PlaceHolderInfo *from) +{ + PlaceHolderInfo *newnode = makeNode(PlaceHolderInfo); + + COPY_SCALAR_FIELD(phid); + COPY_NODE_FIELD(ph_var); + COPY_BITMAPSET_FIELD(ph_eval_at); + COPY_BITMAPSET_FIELD(ph_needed); + COPY_SCALAR_FIELD(ph_width); + + return newnode; +} + /* **************************************************************** * parsenodes.h copy functions * **************************************************************** @@ -3438,12 +3471,18 @@ copyObject(void *from) case T_FlattenedSubLink: retval = _copyFlattenedSubLink(from); break; + case T_PlaceHolderVar: + retval = _copyPlaceHolderVar(from); + break; case T_SpecialJoinInfo: retval = _copySpecialJoinInfo(from); break; case T_AppendRelInfo: retval = _copyAppendRelInfo(from); break; + case T_PlaceHolderInfo: + retval = _copyPlaceHolderInfo(from); + break; /* * VALUE NODES |