Re: SERIAL does not ROLLBACK
От | Jens Eliasson |
---|---|
Тема | Re: SERIAL does not ROLLBACK |
Дата | |
Msg-id | D9B11E78-549E-11D7-81A0-0050E4604777@mac.com обсуждение исходный текст |
Ответ на | Re: SERIAL does not ROLLBACK (Tim Pushor <timp@crossthread.com>) |
Ответы |
Re: SERIAL does not ROLLBACK
(Manfred Koizar <mkoi-pg@aon.at>)
|
Список | pgsql-novice |
I do understand the reasons for the developers to not have the serial counter to rollback. Using a sequence number for foreign keys in other tables, it has to be really important to have a reference that is unique over time. As Thomas, I would really consider the consequences before I'd change that. I have an idea that may solve your needs. Why not have another column for "invoice number" or what you want and make a function that iterates it with one based on the existing max of the column that you then use inside the transaction where you make the insert? /Jens Tim Pushor wrote: > I had thought about this as well - I am developing an invoicing > application for my small business. > > There are definately applications that you want to ensure that there > are no 'holes' in the numbers, such as invoice numbers - technical > limitations notwithstanding.. > > Tim > > > BERG Thomas wrote: > >> I believe this is deliberate on the part of the postgresql >> programmers. If >> serial numbers could be rolled back, you'd have to block any other >> transactions that wanted a new serial number until the first >> transaction had >> committed. >> >> I don't know how to get around this, but I'd think pretty carefully >> before I >> decided to, unless I were an a single-user or extremely few-user >> scenario. >> >> Berg >> >> -----Original Message----- >> From: pgsql-novice-owner@postgresql.org >> [mailto:pgsql-novice-owner@postgresql.org]On Behalf Of Muhammad Shariq >> Muzaffar >> Sent: Wednesday, March 12, 2003 4:21 PM >> To: pgsql-sql@postgresql.org >> Cc: pgsql-novice@postgresql.org >> Subject: [NOVICE] SERIAL does not ROLLBACK >> >> >> hi >> i have a table named 'mytable' with a column of type >> serial. After inserting tuples in a transaction, when >> i rollback the transaction the serial number does not >> come back to its original value and next time when i >> insert the data, it start with the incremented value. >> WHY?? how can i make it to come back to its orignial >> value in case of rollback. >> >> thanx in advance... >> >> __________________________________________________ >> Do You Yahoo!? >> Everything you'll ever need on one web page >> from News and Sport to Email and Music Charts >> http://uk.my.yahoo.com >> >> ---------------------------(end of >> broadcast)--------------------------- >> TIP 4: Don't 'kill -9' the postmaster >> >> >> ---------------------------(end of >> broadcast)--------------------------- >> TIP 5: Have you checked our extensive FAQ? >> >> http://www.postgresql.org/docs/faqs/FAQ.html >> > > > > ---------------------------(end of > broadcast)--------------------------- > TIP 3: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly >
В списке pgsql-novice по дате отправления: