Robert Treat wrote:
> On Thu, 2004-08-26 at 04:23, Gaetano Mendola wrote:
>>Tom Lane wrote:
>> > Stephan Szabo <sszabo(at)megazone(dot)bigpanda(dot)com> 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.
In response to
pgsql-bugs by date
|Next:||From: Spencer Quin||Date: 2004-08-26 14:54:35|
|Subject: Re: Memory leak |
|Previous:||From: Robert Treat||Date: 2004-08-26 12:27:35|
|Subject: Re: BUG #1231: Probelm with transactions in stored code.|