On Thu, 29 Jan 2004, Tom Lane wrote:
> "Marc G. Fournier" <scrappy@hub.org> writes:
> > What happens if I abort on the first transaction? If I'm reading this
> > right, if Trans2 does the exact same as above, and COMMITs before Trans1
> > Aborts, the value of balance becomes +200 (Trans2 + Trans1) ... but what
> > happens when Trans1 ABORTS? Trans2 believes its COMMIT worked, but
> > ABORTng Trans1 will rollback to the original value, no?
>
> If trans2 is the second to get to the row, it will *wait* until trans1
> either commits or aborts, and then use the new or old version of the row
> accordingly. The scenario you are thinking of can't happen.
Thank you, that answers it ... so, simplistically, since they are both
hitting the same row, there is a pseudo-commit lock on that row by the
first transaction ...
----
Marc G. Fournier Hub.Org Networking Services (http://www.hub.org)
Email: scrappy@hub.org Yahoo!: yscrappy ICQ: 7615664