Benjamin Smith <lists@xxxxxxxxxxxxxxxxxx> writes: > On Thursday 25 January 2007 09:53, Douglas McNaught wrote: >> Nature of the beast. Sequence increments aren't rolled back on >> transaction abort (for performance and concurrency reasons), so you >> should expect gaps. > > Behavior long ago noted and accounted for. But I've always wondered why this > was so? Is there a specific reason for this behavior? Being able to roll back a sequence increment would require locking the sequence for the duration of the transaction, which would kill concurrency. -Doug