Re: Theoretical Basis for SELECT FOR UPDATE

From: Tony Andrews <andrewst_at_onetel.com>
Date: 5 Oct 2005 05:04:39 -0700
Message-ID: <1128513879.824892.97710_at_g47g2000cwa.googlegroups.com>


vc wrote:
> Ok, good, I understand (I hope) how you imagine the compound statement
> runs, the two operations run independently and in no particular order
> (correct me if I am wrong).

Correct so far.

> Now, let's assume that the update for whatever reason started first
> and changed some rows with salary = 8100 and *then* the delete kicked
> in and removed those rows. Clearly, not what we intended.

And not what could happen either because...

> The statement would execute correctly if we assume that the delete
> predicate applies only to the rows as of the point in time just
> *before* the compound stement started, and not to the rows modified by
> the update. Is that what you have in mind ?

Yes. Though it is not what *I* have in mind, in the sense that these are not my ideas. I am merely explaining what I understand to be multiple assignment according to Date and Darwen. Full details are available (at a price) here:

http://www.dbdebunk.com/page/page/953249.htm

However, this link contains Date's views on more or less precisely this issue:

http://www.dbdebunk.com/page/page/806828.htm Received on Wed Oct 05 2005 - 14:04:39 CEST

Original text of this message