summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2004-04-22 02:58:21 +0000
committerBruce Momjian <bruce@momjian.us>2004-04-22 02:58:21 +0000
commit914042fe5f7901d0b1ce1a0fceb743deaf5f91dc (patch)
treeec5d5819c23ece366e61c19d420867b12648f734 /src
parentec7c4c1b66d1ed9eba5ec22fdb7fe4618ece4d25 (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.c6
-rw-r--r--src/backend/tcop/utility.c4
-rw-r--r--src/include/commands/prepare.h5
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);