On Tue, 16 Jul 2002 15:59:20 +0100, Nic Gibson wrote:
> On Tue, Jul 16, 2002 at 03:56:23PM +0100, Alex McLintock wrote:
> > For the record I hit this sort of problem doing some perl web stuff with
> > Oracle. It seemed that because Oracle was multiprocessor each oracle
> > process would grab for itself the next 20 ids. if you stopped and
> > started the server there would be a gap of 19 between consecutive
> > requests....
>
> This happens with postgres too. Because each client gets a new backend
> process, the sequence can only be guaranteed to increment safely. It can't
> be guranteed to increase by only one.

Postgres sequences dont get rolled back with transactions, either. Since
this is a good thing, the same is probably true of all those other databases
I haven't used. Without these protections, a transaction would need
exclusive access to the sequence, which forces serialisation. If you want
that, you can implement it yourself easily enough.

> MSSQL works in the expected manner. It's about the only one I can
> think of.

"Expected" doesn't necessarily mean "correct".

-- 
        Peter Haworth   [EMAIL PROTECTED]
"Mappers are people who engage their brains.  They are creative and innovative,
 and don't mind punching Francis Rossi in the face (or otherwise upsetting the
 Status Quo)."                  -- Andy Wardley

Reply via email to