Re: Auto-generated columns on Oracle

Arseni Bulatski <[email protected]>
Newsgroups gmane.comp.java.cayenne.devel
Message-ID <CAJc3nzEdokJ8TG294rh+J-F01LawB-F2wyRfeS14GTe+1YaYew@mail.gmail.com>
I've checked case of oracle auto-incremented columns in cayenne.
To start use auto-incremented columns first need to set
setSupportGeneratedKeys(true) in OracleAdapter, second have tables with
auto-incremented columns in database.
And it started to work.

On Tue, Jun 4, 2019 at 5:45 PM John Huss <[email protected]> wrote:

> Yep, Postgres.
>
> On Tue, Jun 4, 2019 at 9:43 AM Andrus Adamchik <[email protected]>
> wrote:
>
> > Hmm.. In theory auto-pk should be compatible with batching. Is this on
> > PostgreSQL?
> >
> > Andrus
> >
> > > On Jun 4, 2019, at 5:39 PM, John Huss <[email protected]> wrote:
> > >
> > > Just to follow up on this, after some experimentation it looks like
> using
> > > PKs generated by the database can be much slower when doing bulk
> inserts,
> > > because Cayenne doesn't (can't?) do a batch bind to execute the inserts
> > as
> > > a batch and instead has to execute them one by one. With a large batch
> of
> > > row for the same entity this can make a huge difference. So moving to
> > > generated PKs might not be the best idea for many use cases.
> > >
> > > On Wed, May 29, 2019 at 4:45 PM Hugi Thordarson <[email protected]>
> > wrote:
> > >
> > >> /me instantly starts modifying DBs.
> > >>
> > >> Thanks for pointing this out John!
> > >>
> > >> - hugi
> > >>
> > >>
> > >>> On 29 May 2019, at 15:23, John Huss <[email protected]> wrote:
> > >>>
> > >>> Doh! Turns out Cayenne already supports this for Postgres. Who knew!
> > :-P
> > >>>
> > >>> 2621 [main] INFO org.apache.cayenne.log.JdbcEventLogger  - INSERT
> INTO
> > >> test
> > >>> (payload) VALUES (?)
> > >>>
> > >>> 2621 [main] INFO org.apache.cayenne.log.JdbcEventLogger  - [bind:
> > >>> 1->payload:'test']
> > >>>
> > >>> 2632 [main] INFO org.apache.cayenne.log.JdbcEventLogger  - Generated
> > PK:
> > >>> test.id = 1
> > >>>
> > >>> On Tue, May 28, 2019 at 12:30 PM Andrus Adamchik <
> > [email protected]
> > >>>
> > >>> wrote:
> > >>>
> > >>>> Thanks for the pointer. If PG passes generated PK back through the
> > JDBC
> > >>>> driver and we can read it after an INSERT, we most definitely
> should.
> > >>>> Creating extraneous objects in DB for the sake of PK generation
> feels
> > >> old.
> > >>>>
> > >>>> Andrus
> > >>>>
> > >>>>> On May 28, 2019, at 6:47 PM, John Huss <[email protected]>
> wrote:
> > >>>>>
> > >>>>> Postgresql also recently improved their support in this area (in
> > >> version
> > >>>>> 10). It's more like syntactic sugar on top of things you could
> > already
> > >>>> do,
> > >>>>> but I'd be interested to know if it can be used by Cayenne in the
> > same
> > >>>> way
> > >>>>> as the MySQL auto-increment columns.
> > >>>>>
> > >>>>> The DDL syntax is supposedly an SQL standard:
> > >>>>>
> > >>>>> CREATE TABLE test_new (
> > >>>>>  id int GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
> > >>>>>  payload text
> > >>>>> );
> > >>>>>
> > >>>>>
> > >>>>> On Mon, May 27, 2019 at 1:49 AM Andrus Adamchik <
> > >> [email protected]>
> > >>>>> wrote:
> > >>>>>
> > >>>>>> Looks like Oracle started supporting auto-increment columns since
> > 12c:
> > >>>>>>
> > >>>>>>
> > >>>>>>
> > >>>>
> > >>
> >
> https://www.arungudelli.com/tutorial/oracle/auto-increment-identity-column-in-oracle-table-primary-key/
> > >>>>>>
> > >>>>>> We should try using that in the adapter.
> > >>>>>>
> > >>>>>> Andrus
> > >>>>
> > >>>>
> > >>
> > >>
> >
> >
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.