diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2002-09-23 22:57:44 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2002-09-23 22:57:44 +0000 |
commit | 233ecca7c91b900984faf6f8cfdeec75589778ae (patch) | |
tree | b812f3b80088d074cea22d762ac6edf0b6e08866 /src/backend/commands/trigger.c | |
parent | 0d3be98ae9524e78d51d259f4fae00850e987e9d (diff) | |
download | postgresql-233ecca7c91b900984faf6f8cfdeec75589778ae.tar.gz postgresql-233ecca7c91b900984faf6f8cfdeec75589778ae.zip |
Further thinking about heap_mark4update: in HeapTupleSelfUpdated case,
executor should not return the tuple as successfully marked, because in
fact it's been deleted. Not clear that this case has ever been seen
in practice (I think you'd have to write a SELECT FOR UPDATE that calls
a function that deletes some row the SELECT will visit later...) but we
should be consistent. Also add comments to several other places that
got it right but didn't explain what they were doing.
Diffstat (limited to 'src/backend/commands/trigger.c')
-rw-r--r-- | src/backend/commands/trigger.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c index eb78fe484a3..fcc16c4342c 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.132 2002/09/21 18:39:25 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/commands/trigger.c,v 1.133 2002/09/23 22:57:44 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1209,6 +1209,7 @@ ltrmark:; switch (test) { case HeapTupleSelfUpdated: + /* treat it as deleted; do not process */ ReleaseBuffer(buffer); return (NULL); |