aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/trigger.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2006-01-12 21:49:32 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2006-01-12 21:49:32 +0000
commite76bb5cfec543cbf9243f66bf020da9058c22aa4 (patch)
tree5175d1a1aa99b6e1bf2e587190803d42147f0647 /src/backend/commands/trigger.c
parent1937d8d9efcc0444525a8eb1f6fbc11fddb9512d (diff)
downloadpostgresql-e76bb5cfec543cbf9243f66bf020da9058c22aa4.tar.gz
postgresql-e76bb5cfec543cbf9243f66bf020da9058c22aa4.zip
Repair "Halloween problem" in EvalPlanQual: a tuple that's been inserted by
our own command (or more generally, xmin = our xact and cmin >= current command ID) should not be seen as good. Else we may try to update rows we already updated. This error was inserted last August while fixing the even bigger problem that the old coding wouldn't see *any* tuples inserted by our own transaction as good. Per report from Euler Taveira de Oliveira.
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r--src/backend/commands/trigger.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
index f49fa1a02fd..4b9d5efea98 100644
--- a/src/backend/commands/trigger.c
+++ b/src/backend/commands/trigger.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.159.2.1 2005/08/25 22:07:15 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.159.2.2 2006/01/12 21:49:31 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1592,7 +1592,8 @@ ltrmark:;
epqslot = EvalPlanQual(estate,
relinfo->ri_RangeTableIndex,
&update_ctid,
- update_xmax);
+ update_xmax,
+ cid);
if (!TupIsNull(epqslot))
{
*tid = update_ctid;