cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Hugi Thordarson <h...@karlmenn.is>
Subject Re: auto PK generation in Cayenne 4 + PostgreSQL combination?
Date Thu, 28 Jul 2016 15:08:44 GMT
This is awesome news :)

- hugi




> On 28. júl. 2016, at 14:11, Andrus Adamchik <andrus@objectstyle.org> wrote:
> 
> Good to know this is finally supported on PG :)
> 
> And yeah, we'll still need to patch Cayenne, so we'll also address PG driver specifics.
> 
> Andrus
> 
>> On Jul 28, 2016, at 5:01 PM, Michael Gentry <blacknext@gmail.com> wrote:
>> 
>> A little Google searching found:
>> 
>> https://github.com/pgjdbc/pgjdbc/issues/99
>> 
>> This leads me to believe BatchAction.runAsIndividualQueries() would have to
>> be changed for PostgreSQL, otherwise all of the column values are returned
>> instead of just the new PK value.
>> 
>> mrg
>> 
>> 
>> On Thu, Jul 28, 2016 at 9:45 AM, Michael Gentry <blacknext@gmail.com> wrote:
>> 
>>> The PostgreSQL documentation says:
>>> 
>>> CREATE TABLE tablename (
>>>   colname SERIAL
>>> );
>>> 
>>> is equivalent to specifying:
>>> 
>>> CREATE SEQUENCE tablename_colname_seq;
>>> CREATE TABLE tablename (
>>>   colname integer NOT NULL DEFAULT nextval('tablename_colname_seq')
>>> );
>>> ALTER SEQUENCE tablename_colname_seq OWNED BY tablename.colname;
>>> 
>>> 
>>> We'd have to see if the JDBC driver returns the sequence value generated
>>> for the serial column.
>>> 
>>> mrg
>>> 
>>> 
>>> 
>>> On Thu, Jul 28, 2016 at 9:10 AM, Andrus Adamchik <andrus@objectstyle.org>
>>> wrote:
>>> 
>>>> Back in the day PG driver did not support autoincremented values at the
>>>> JDBC level. So we had to always revert to sequences.
>>>> 
>>>> I'd like to run a test to see if it does now. If the test is successful,
>>>> we can reconfigure Cayenne PostgresAdapter to enable aoto-increment
>>>> strategy. Will keep the list posted.
>>>> 
>>>> Andrus
>>>> 
>>>> 
>>>>> On Jul 28, 2016, at 12:48 PM, Harunobu Oyama <ho@telensa.com> wrote:
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> 
>>>>> What is the proper way to setup auto PK generation when Cayenne 4 +
>>>>> PostgreSQL are in use?
>>>>> 
>>>>> Suppose I have a simple table like this.
>>>>> 
>>>>> create table "asset" (
>>>>> "asset_id" bigserial not null
>>>>> , "name" character varying not null
>>>>> , constraint "asset_PKC" primary key ("asset_id")
>>>>> ) ;
>>>>> 
>>>>> No matter how I configure the PK generation settings, it seems Cayenne
>>>>> runtime
>>>>> requires sequence named "pk_asset".
>>>>> 
>>>>> Ideally we would like to automate the table-sequence combination by
>>>> using
>>>>> serial/bigserial.
>>>>> 
>>>>> How can I tell Cayenne stop requiring "pk_asset"?
>>>>> 
>>>>> 
>>>>> thank you,
>>>>> nobu
>>>> 
>>>> 
>>> 
> 


Mime
View raw message