Re: [SQL] begin/end/abort work for sequences?

Поиск
Список
Период
Сортировка
От D'Arcy" "J.M." Cain
Тема Re: [SQL] begin/end/abort work for sequences?
Дата
Msg-id m10zjfv-0000bFC@druid.net
обсуждение исходный текст
Ответ на Re: [SQL] begin/end/abort work for sequences?  (Kyle Bateman <kyle@actarg.com>)
Список pgsql-sql
Thus spake Kyle Bateman
> Do you know if there is a workaround?  In my particular situation, it is critical
> that all instances of the sequence actually get used.  If a transaction is
> aborted, I lose an instance and everything gets messed up.

I had to solve this once in another RDBMS (Progress) and this is how I
did it.  I had a table of available sequence numbers consisting of two
fields, a name and a number.  The table was seeded with 10 entries for
each required sequence numbered 1 to 10.  When I needed a sequence I
started a transaction and grabbed and locked the lowest numbered record
for that sequence that wasn't locked.  I save the number then add 10 to
it.  If I abort the transaction, the number remains unchanged.  Under
this scheme 10 users can be working on the same sequence without locking
others out.  Numbers can be used out of sequence from time to time if
someone aborts but they all get used eventually.

-- 
D'Arcy J.M. Cain <darcy@{druid|vex}.net>   |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 424 2871     (DoD#0082)    (eNTP)   |  what's for dinner.


В списке pgsql-sql по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: [SQL] begin/end/abort work for sequences?
Следующее
От: Clark Joel A1C AMC CSS
Дата:
Сообщение: RE: [SQL] Port?