diff options
Diffstat (limited to 'src/backend/commands/command.c')
-rw-r--r-- | src/backend/commands/command.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/commands/command.c b/src/backend/commands/command.c index cd7e1d29524..bc5153b8005 100644 --- a/src/backend/commands/command.c +++ b/src/backend/commands/command.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.127 2001/05/09 21:10:38 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.128 2001/05/21 14:22:11 wieck Exp $ * * NOTES * The PerformAddAttribute() code, like most of the relation @@ -108,6 +108,7 @@ PerformPortalFetch(char *name, QueryDesc *queryDesc; EState *estate; MemoryContext oldcontext; + bool faked_desc = false; /* * sanity checks @@ -143,13 +144,14 @@ PerformPortalFetch(char *name, queryDesc = PortalGetQueryDesc(portal); estate = PortalGetState(portal); - if (dest == None) /* MOVE */ + if (dest != queryDesc->dest) /* MOVE */ { QueryDesc *qdesc = (QueryDesc *) palloc(sizeof(QueryDesc)); memcpy(qdesc, queryDesc, sizeof(QueryDesc)); qdesc->dest = dest; queryDesc = qdesc; + faked_desc = true; } BeginCommand(name, @@ -197,7 +199,7 @@ PerformPortalFetch(char *name, /* * Clean up and switch back to old context. */ - if (dest == None) /* MOVE */ + if (faked_desc) /* MOVE */ pfree(queryDesc); MemoryContextSwitchTo(oldcontext); |