diff options
author | Bruce Momjian <bruce@momjian.us> | 2004-04-22 02:58:21 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2004-04-22 02:58:21 +0000 |
commit | 914042fe5f7901d0b1ce1a0fceb743deaf5f91dc (patch) | |
tree | ec5d5819c23ece366e61c19d420867b12648f734 /src | |
parent | ec7c4c1b66d1ed9eba5ec22fdb7fe4618ece4d25 (diff) |
This patch makes the EXECUTE command's completion tag return the
completion tag of the actual statement executed. This allows the
correct update count to be returned for UPDATE/INSERT/DELETE
statements.
Kris Jurka
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/commands/prepare.c | 6 | ||||
-rw-r--r-- | src/backend/tcop/utility.c | 4 | ||||
-rw-r--r-- | src/include/commands/prepare.h | 5 |
3 files changed, 8 insertions, 7 deletions
diff --git a/src/backend/commands/prepare.c b/src/backend/commands/prepare.c index 0f95f3bfc05..d85d41c1ec7 100644 --- a/src/backend/commands/prepare.c +++ b/src/backend/commands/prepare.c @@ -10,7 +10,7 @@ * Copyright (c) 2002-2003, PostgreSQL Global Development Group * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/commands/prepare.c,v 1.25 2004/01/07 18:56:25 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/commands/prepare.c,v 1.26 2004/04/22 02:58:20 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -106,7 +106,7 @@ PrepareQuery(PrepareStmt *stmt) * Implements the 'EXECUTE' utility statement. */ void -ExecuteQuery(ExecuteStmt *stmt, DestReceiver *dest) +ExecuteQuery(ExecuteStmt *stmt, DestReceiver *dest, char *completionTag) { PreparedStatement *entry; char *query_string; @@ -188,7 +188,7 @@ ExecuteQuery(ExecuteStmt *stmt, DestReceiver *dest) */ PortalStart(portal, paramLI); - (void) PortalRun(portal, FETCH_ALL, dest, dest, NULL); + (void) PortalRun(portal, FETCH_ALL, dest, dest, completionTag); PortalDrop(portal, false); diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 45bf7d0f1c0..98c63fd0e64 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.212 2004/04/19 21:21:33 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/tcop/utility.c,v 1.213 2004/04/22 02:58:20 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -483,7 +483,7 @@ ProcessUtility(Node *parsetree, break; case T_ExecuteStmt: - ExecuteQuery((ExecuteStmt *) parsetree, dest); + ExecuteQuery((ExecuteStmt *) parsetree, dest, completionTag); break; case T_DeallocateStmt: diff --git a/src/include/commands/prepare.h b/src/include/commands/prepare.h index 90e17b7378a..cb2fed06f07 100644 --- a/src/include/commands/prepare.h +++ b/src/include/commands/prepare.h @@ -6,7 +6,7 @@ * * Copyright (c) 2002-2003, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/include/commands/prepare.h,v 1.9 2003/11/29 22:40:59 pgsql Exp $ + * $PostgreSQL: pgsql/src/include/commands/prepare.h,v 1.10 2004/04/22 02:58:21 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -42,7 +42,8 @@ typedef struct /* Utility statements PREPARE, EXECUTE, DEALLOCATE, EXPLAIN EXECUTE */ extern void PrepareQuery(PrepareStmt *stmt); -extern void ExecuteQuery(ExecuteStmt *stmt, DestReceiver *dest); +extern void ExecuteQuery(ExecuteStmt *stmt, DestReceiver *dest, + char *completionTag); extern void DeallocateQuery(DeallocateStmt *stmt); extern void ExplainExecuteQuery(ExplainStmt *stmt, TupOutputState *tstate); |