Thread

  1. Re: [HACKERS] Concurrent VACUUM: first results

    Vadim Mikheev <vadim@krs.ru> — 1999-11-26T06:38:32Z

    Hiroshi Inoue wrote:
    > 
    > > Vadim Mikheev <vadim@krs.ru> writes:
    > > >>>> * We have to commit our tuple' movings before we'll truncate
    > > >>>> * relation, but we shouldn't lose our locks. And so - quick hack:
    > >
    > > > ... or moved tuples may be lost in the case of DB/OS crash etc
    > > >     that may occur after truncation but before commit...
    > >
    > > I wonder whether there isn't a cleaner way to do this.  What about
    > > removing this early commit, and doing everything else the way that
    > > VACUUM does it, except that the physical truncate of the relation
    > > file happens *after* the commit at the end of vc_vacone?
    > >
    > 
    > I think there exists another reason.
    > We couldn't delete index tuples for deleted but not yet committed
    > heap tuples.
    
    You're right!
    I just don't remember all reasons why I did as it's done -:))
    
    > If we could start another transaction without releasing exclusive
    > lock for the target relation,it would be better.
    
    So. What's problem?! Start it! Commit "moving" xid, get new xid and go!
    
    Vadim