Re: [PATCHES] TRUNCATE TABLE with IDENTITY
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Simon Riggs <simon@2ndquadrant.com>, Neil Conway <neilc@samurai.com>, Zoltan Boszormenyi <zb@cybertec.at>, List pgsql-patches <pgsql-patches@postgresql.org>, "Decibel!" <decibel@decibel.org>, Steve Crawford <scrawford@pinpointresearch.com>, pgsql-hackers@postgresql.org
Date: 2008-07-01T18:09:28Z
Lists: pgsql-hackers
Alvaro Herrera wrote: > Tom Lane wrote: > > > 2. I had first dismissed Neil's idea of transactional sequence updates > > as impossible, but on second look it could be done. Suppose RESTART > > IDENTITY does this for each sequence; > > > > * obtain AccessExclusiveLock; > > * assign a new relfilenode; > > * insert a sequence row with all parameters copied except > > last_value copies start_value; > > * hold AccessExclusiveLock till commit. > > Hmm, this kills the idea of moving sequence data to a single > non-transactional catalog :-( > > > So what I think we should do is leave the patch there, revise the > > warning per Neil's complaint, and add a TODO item to reimplement RESTART > > IDENTITY transactionally. > > I think the TODO item did not make it, but the docs do seem updated. Done: * Fix TRUNCATE ... RESTART IDENTITY so its affect on sequences is rolled back on transaction abort -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. +