]> 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:02 +0000 (15:31 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 2 Jun 2011 19:31:02 +0000 (15:31 -0400)
commitbc0550f994539b4cd3b93487439c754e251fedb8
tree244402877d04c28ce93382d4e7ca4066c46d8f6b
parentc117838597b1a28f6f0feb4a41adff1a7e5e0bc9
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