Re: Restart increment to 0 each year = re-invent the sequences mecanism ?

From: Bruno Wolff III <bruno(at)wolff(dot)to>
To: btober(at)computer(dot)org
Cc: pgsql-ml(at)baguette(dot)net, pgsql-general(at)postgresql(dot)org
Subject: Re: Restart increment to 0 each year = re-invent the sequences mecanism ?
Date: 2004-04-26 17:02:43
Message-ID: 20040426170243.GA18684@wolff.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Apr 26, 2004 at 09:38:41 -0400,
btober(at)computer(dot)org wrote:
> > You don't have to mess with sequences.
> > If there are two fields ID and year then the next number is:
> >
> > next_number := ( select ID from table_name where year =
> > year_from_current_date order by ID desc limit 1 ) + 1;
>
> Gee, I wonder why no one else thought of that... lets see, what is this
> thing I've heard about called, er, what was that word... oh yeah, I
> remember: "concurrency". Hmm, I wonder...

Yes, you need to do a lock table if you do things that way. But that
still is probably what he wants to do. Sequences can leave gaps, which
he probably doesn't want. If that is true then things need to be
serialized somehow. I doubt that these reports are being generated
at such a rate that he needs to worry about contention problems with
locking the table.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Bruno Wolff III 2004-04-26 17:12:32 Re: List Removal
Previous Message Andrew Dunstan 2004-04-26 17:00:35 Re: [HACKERS] TPC H data