Re: Trigger/Sequence headache - Mailing list pgsql-sql

From Stephan Szabo
Subject Re: Trigger/Sequence headache
Date
Msg-id 20060212150559.S97294@megazone.bigpanda.com
Whole thread Raw
In response to Trigger/Sequence headache  ("Foster, Stephen" <stephenlfoster@comcast.net>)
Responses Re: Trigger/Sequence headache  ("Foster, Stephen" <stephenlfoster@comcast.net>)
List pgsql-sql
On Sun, 12 Feb 2006, Foster, Stephen wrote:

> This is going to be one of those stupid problems of mine.  I have an
> insert trigger setup to verify that duplicate or repeating information
> isn't storage in the table.  If trigger function finds the information
> as a duplicate it returns a NULL and the information isn't added; that
> works.  The problem I'm having is that it is incrementing the sequence
> counter even when the data isn't added.  Is this something that I have
> to live with or should I be returning something other than a NULL?

The sequence is going to increment upon getting the value.

However, I think, if instead of using a default, you got the next value in
the trigger after you determined that it wasn't a duplicate and set the
field, it wouldn't increment for this case. This changes some other
behaviors a little (for example DEFAULT in updates as well), so you'd need
to see whether it'd be acceptable.

Of course, errors, rollbacks and deletes will still leave holes.


pgsql-sql by date:

Previous
From: "Foster, Stephen"
Date:
Subject: Trigger/Sequence headache
Next
From: "Foster, Stephen"
Date:
Subject: Re: Trigger/Sequence headache