Marc Munro <[EMAIL PROTECTED]> writes: > Yes in this case, T1 must abort because the record it was going to > update has disappeared from underneath it. I don't see how this is > significantly different from the same race for the record if the table > had no RI constraints. The only difference that I can see, is that T1 > now has some locks that it must relinquish as the transaction aborts.
No, the difference is there would have been no error at all before; if the record were deleted before T1 got to it then it wouldn't have attempted to update it. I really don't think you can make it work to perform updates or deletes on a record you have not yet locked. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings