Tom Lane wrote:
> Stephan Szabo <[EMAIL PROTECTED]> writes: > >>I believe it sees the one that was valid in the snapshot as of the >>beginning of the function. > > > Actually, the problem is that it can see *both* that row and the updated > row; it's a crapshoot which one will be returned by the SELECT INTO.
Confirmed, if the last select is:
select count(*) into a from test where id=1;
this return 2. There is a space for a new bug considering that if the table have the unique index on id that select must return 1.
> The reason this can happen is that we're not doing SetQuerySnapshot > between commands of a plpgsql function. There is discussion going way > way back about whether we shouldn't do so (see the archives). I think > the major reason why we have not done it is fear of introducing > non-backwards-compatible behavior. Seems like 8.0 is exactly the right > version to consider doing that in.
If my 2 cents are valid I agree with you, what I don't totally agree is why consider this bug as a *feature* in previous 8.0 version.
Regards Gaetano Mendola
---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend
