"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Also, what's the point of testing update_ctid? I don't see that
>> it matters whether the outdate was a delete or an update.
> The update_ctid code was a carry-over from my old, slightly
> different approach, which I failed to change as I should have. I'll
> fix that along with the other.
Actually, on reflection there might be a reason for checking
update_ctid, with a view to allowing "harmless" cases. I see
these cases:
* UPDATE finds a trigger already updated the row: must throw error
since we can't apply the update.
* UPDATE finds a trigger already deleted the row: arguably, we could
let the deletion stand and ignore the update action.
* DELETE finds a trigger already updated the row: must throw error
since we can't apply the delete.
* DELETE finds a trigger already deleted the row: arguably, there's
no reason to complain.
Don't know if that was your reasoning as well. But if it is, then again
the comment needs to cover that.
regards, tom lane