Robert Treat wrote:

On Thu, 2004-08-26 at 04:23, Gaetano Mendola wrote:

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.


I don't think this was ever considered a feature (at least I never found
any evidence of that) but more the concern was that it was "expected
behavior" and changing that behavior might toss people into a loop who
were expecting it.

Yes, I used the wrong expression is not a feature but a gotcha. I fairly trust that someone is currently using this behaviour considering it the good expected one.



Regards
Gaetano Mendola




---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?

http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to