On Thu, 2006-06-29 at 14:27 +0200, Martijn van Oosterhout wrote:
> On Thu, Jun 29, 2006 at 01:21:19PM +0100, Simon Riggs wrote:
> > The issue is the difference between start of transaction and time when
> > the serializable snapshot is taken. Since BEGIN and other commands may
> > be issued as separate network requests it makes sense to defer taking
> > the snapshot until the first time it is needed. The transaction is still
> > serializable, just that the manual is worded slightly incorrectly with
> > regards the exact timing.
>
> I've always interpreted it as "there exists a serialised order for the
> transactions" but the database makes no guarentees about what it might
> be. I can't think of any real world case where you actually care about
> the order, just as long as one exists.
Agreed, the ordering is irrelevant.
Deferring the snapshot provides you with the most accurate *and*
consistent view of the database.
--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com