Hi Sander

> Actually i tested it when immediately when you released 1.6.5 but
> forgot post about it. Sorry for that.
>
> Yes, it works like a charm! Thank you for addressing this issue!

Nice, thanks

> Wouldn't it be possible (and a good idea?) to also request the other
> columns in the RETURNING clause instead of only the primary key? After
> all the other columns could be filled or manipulated by sequences or
> triggers too. Not really necessary for me, just something that crossed
> my mind..

You can do this explicitly when you issue an INSERT statement as
documented here:
https://sourceforge.net/apps/trac/jooq/wiki/Manual/JOOQ/Query#Example:INSERT..RETURNINGclause

You can have jOOQ return either some or all fields.

As far as UpdatableRecords are concerned, your suggestion might be
nice in Postgres. But in the some RDBMS, only the IDENTITY value can
be retrieved from the JDBC driver. In SQLite and Sybase, there isn't
even support for that, so jOOQ has to issue separate queries. So
here's how many queries are needed to return columns other than the
IDENTITY/PK:

1: DB2, HSQLDB, Oracle, Postgres
2: Derby, H2, Ingres, MySQL, SQL Server, Sybase SQL Anywhere / ASE
(with the jTDS driver),
3: SQLite, Sybase SQL Anywhere / ASE (with the jconn3 driver)

In general, I want to avoid issuing more than one query in the store()
method. I also want to avoid having dialect-dependent behaviour in the
store() method (Refreshing ALL columns in 1, but only SOME columns in
2)

Maybe a separate storeAndRefresh() method might be better? Or manually
calling store() and then refresh() if needed.

Cheers
Lukas

PS: On a side note, you could join the user group. Then I wouldn't
have to unblock your messages... ;-)

Reply via email to