Re: [HACKERS] TRUNCATE TABLE with IDENTITY
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: 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-06-08T16:26:06Z
Lists: pgsql-hackers
Alvaro Herrera <alvherre@commandprompt.com> writes: > 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 :-( Well, there are a number of holes in our ideas of how to do that anyway. But offhand I don't see why we couldn't distinguish regular heap_update from update_in_place on single rows within a catalog. regards, tom lane