]> granicus.if.org Git - postgresql/commit
Clean up after erroneous SELECT FOR UPDATE/SHARE on a sequence.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 2 Jun 2011 19:31:28 +0000 (15:31 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 2 Jun 2011 19:31:28 +0000 (15:31 -0400)
commitf0d72ef638899ea1042e895c0573ba1d4af4d942
tree81ac5139f7bdfc3413fcb3a3cc76037ea42f8b00
parenta12899e76bac3fe053f673450a52f537b2eec677
Clean up after erroneous SELECT FOR UPDATE/SHARE on a sequence.

My previous commit disallowed this operation, but did nothing about
cleaning up the damage if one had already been done.  With the operation
disallowed, it's okay to just forcibly clear xmax in a sequence's tuple,
since any value seen there could not represent a live transaction's lock.
So, any sequence-specific operation will repair the problem automatically,
whether or not the user has already seen "could not access status of
transaction" failures.
src/backend/commands/sequence.c