On Wed, 2005-06-01 at 14:24 -0400, Tom Lane wrote:
> Alvaro Herrera <[EMAIL PROTECTED]> writes:
> > On Wed, Jun 01, 2005 at 06:55:46PM +0100, Simon Riggs wrote:
> >> We're holding the table lock and will continue to do so until end of
> >> transaction. No transaction with an earlier id will ever see the data we
> >> load because of the lock.
> 
> > Suppose you load half the tuples and the plug is pulled.  After
> > recovery, you have half-load of tuples that are visible to everyone.
> > This is a no-no.
> 
> Simon is expecting that the loaded tuples are guaranteed to be erased
> (by table truncation) during recovery.  As I just noted I'm unconvinced
> of the safety of doing truncations during recovery, so I'd prefer not
> to depend on that.
> 
> The scenario I was thinking of was different: you load pre-frozen
> tuples, commit, and thereby release the table lock.  Now the tuples
> are visible to transactions that started before you did; that's what
> violates MVCC.

Agreed. MVCC violation. OK, back to the drawing board.

Best Regards, Simon Riggs


---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to