]> granicus.if.org Git - postgresql/commit
Fix all the places that called heap_update() and heap_delete() without
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 23 Jan 2001 04:32:23 +0000 (04:32 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 23 Jan 2001 04:32:23 +0000 (04:32 +0000)
commit786f1a59cd44f890b2423e15ba3ab172dab968bf
tree30a730a13a351ac02264f7f48ab6145eb7c51e17
parent7a2a1acd520761b479c9dfc4a8e573aeec626094
Fix all the places that called heap_update() and heap_delete() without
bothering to check the return value --- which meant that in case the
update or delete failed because of a concurrent update, you'd not find
out about it, except by observing later that the transaction produced
the wrong outcome.  There are now subroutines simple_heap_update and
simple_heap_delete that should be used anyplace that you're not prepared
to do the full nine yards of coping with concurrent updates.  In
practice, that seems to mean absolutely everywhere but the executor,
because *noplace* else was checking.
24 files changed:
src/backend/access/heap/heapam.c
src/backend/access/heap/tuptoaster.c
src/backend/catalog/aclchk.c
src/backend/catalog/heap.c
src/backend/catalog/index.c
src/backend/catalog/pg_largeobject.c
src/backend/catalog/pg_operator.c
src/backend/catalog/pg_type.c
src/backend/commands/analyze.c
src/backend/commands/async.c
src/backend/commands/command.c
src/backend/commands/comment.c
src/backend/commands/creatinh.c
src/backend/commands/dbcommands.c
src/backend/commands/proclang.c
src/backend/commands/remove.c
src/backend/commands/rename.c
src/backend/commands/trigger.c
src/backend/commands/user.c
src/backend/rewrite/rewriteRemove.c
src/backend/rewrite/rewriteSupport.c
src/backend/storage/large_object/inv_api.c
src/backend/utils/adt/sets.c
src/include/access/heapam.h