Well, you can still use PostgreSQL's sequences.  After all, that's what the
"serial" type inherently uses.  No need to manually set the PKs.

mrg


On Thu, Jul 28, 2016 at 10:15 AM, Harunobu Oyama <[email protected]> wrote:

> Thank you Andrus and Michael,
>
> I will workaround the issue, probably by explicitly setting the PK's from
> Java code, until it gets officially supported by Cayenne then.
>
> nbou
>
>
>
> On 28 July 2016 at 15:11, Andrus Adamchik <[email protected]> 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 <[email protected]>
> 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 <[email protected]>
> > 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 <
> > [email protected]>
> > >> 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 <[email protected]>
> 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
> > >>>
> > >>>
> > >>
> >
> >
>

Reply via email to