On 8/12/06, Jorge Godoy <jgodoy@xxxxxxxxx> wrote:
Hi! I was trying to solve a problem on an old system and realized that there might be some better approach for doing what I need. We have some documents that need to be ordered sequentially and without gaps. I could use a sequence, but if the transaction fails then when I rollback the sequence will already have been incremented. So, today I have a control table and I acquire a SHARE ROW EXCLUSIVE lock to it, read the value, increase it, do what I need and then I COMMIT the transaction, ensuring that the sequence has no gaps. Is there a better way to guarantee that there will be no gaps in my sequence if something goes wrong with my transaction?
Why does it matter? I assume there is a reason you need it like this.. -- Postgresql & php tutorials http://www.designmagick.com/