cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: auto PK generation in Cayenne 4 + PostgreSQL combination?
Date Thu, 28 Jul 2016 14:11:23 GMT
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