Andreas Joseph Krogh <andreak@officenet.no> writes:
> On Thursday 14 April 2005 21:08, Andrew Sullivan wrote:
>> On Thu, Apr 14, 2005 at 03:04:47PM -0400, Alvaro Herrera wrote:
>>> It is a Postgres limitation as well. We _could_ make the server "really
>>> start the transaction" at the point the first query is issued instead of
>>> when the BEGIN is issued. In fact this problem would go away if we did
>>> that.
> I don't see this behaviour under 8.0.0, and it's presumably fixed:
> http://archives.postgresql.org/pgsql-jdbc/2004-06/msg00018.php
Well, recent JDBC drivers avoid the problem by postponing BEGIN,
but the issue still exists for some other client software. It's
something that we probably should fix on the server side.
IIRC the thing that was unresolved when we last discussed this
was what time now() should reflect --- when you issue BEGIN,
or when things really start to happen? To make the change fully
transparent we'd have to define now() as "when you issued BEGIN",
but there's a pretty good argument that now() should correspond
to the time of the transaction snapshot.
regards, tom lane