Robert Treat wrote:

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

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.



Really? I don't.

Me neither but I'm realizing now that I wrote the opposite I would write :-)

Sorry for the noise, see my previous post.


Regards Gaetano Mendola










---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match

Reply via email to