Tom Lane escribió: > "Pavan Deolasee" <[EMAIL PROTECTED]> writes: > > On 8/30/07, Tom Lane <[EMAIL PROTECTED]> wrote: > >> I don't think that works --- what if the last tuple in the chain isn't > >> committed good yet? If its inserter ultimately rolls back, you've > >> indexed the wrong value. > > > I am confused. How could we get ShareLock on the relation while > > there is some open transaction which has inserted a tuple in the > > table ? (Of course, I am not considering the system tables here) > > Not if someone else releases lock before committing.
FWIW, a red flag raised for me here, though maybe it is irrelevant or unimportant. Currently, VACUUM acquires an exclusive lock for truncating the table. The lock is kept till commit. However I am proposing that it be released before commit. Now, VACUUM never inserts rows. But I don't claim I understand what's going on here. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster