Re: Return key from query - Mailing list pgsql-general

From Szymon Guz
Subject Re: Return key from query
Date
Msg-id AANLkTi=pVosY1R+hssgoi5MG4Ueo9yomskN2q-sZe=bA@mail.gmail.com
Whole thread Raw
In response to Re: Return key from query  (Rob Sargent <robjsargent@gmail.com>)
List pgsql-general


On 2 November 2010 21:59, Rob Sargent <robjsargent@gmail.com> wrote:


On 11/02/2010 02:43 PM, Jonathan Tripathy wrote:
> Hi everyone,
>
> When adding a new record, we run an insert query which auto-increments
> the primary key for the table. However the method (in java) which calls
> this query must return the newly created key.
>
> Any ideas on how to do this, preferably using a single transaction?
>
> Thanks
>

Ah yes have your cake and eat it too.

If you app code (java) is making new instances and wants to have an id,
then the table cannot have an auto-id.

 
why?
 
I'm big on java/class id generation (usually use UUID) but you do have
to take complete responsibility for it.  The hibernate folks frown on it
but their retort is imho woeful.  If you're not using uuid's you will
need a generator.  You can back it up with a persistent store so you
know where you left off, but you will want to (auto-)increment that id
table with a large value (say 5000) and have you generate dole them out
as needed at the app level.  When it has spent 5000 ids, it will go to
the server are ask for another 5000 (separate tx).  Please don't get
hung up on loosing some portion of the 5000 id when you restart or whatever.


I'm not fan of UUID, though I have to use it in many projects... nothing special, just another id, not better, not worse than id, maybe except for the chance of collisions :)


regards
Szymon

pgsql-general by date:

Previous
From: Rob Sargent
Date:
Subject: Re: Return key from query
Next
From: Aljoša Mohorović
Date:
Subject: postgres videos - copyright issues or something else?