Thread: autogenerated keys is not supported in 8.4dev-700 as specified in the changelog

autogenerated keys is not supported in 8.4dev-700 as specified in the changelog

From
"Scott Murphy"
Date:
http://jdbc.postgresql.org/changes.html#version_8.4dev-700

The changelog for 8.4dev-700 says:

"Implement basic generated keys support. It does not support returning
columns by index because that requires complicated parsing of the query to
determine the table being used. Right now it supports returning all columns
and columns by name. (jurka)"

I still get "org.postgresql.util.PSQLException: Returning autogenerated keys
is not supported."

If I get the latest source and build it myself, it works.

Are autogenerated keys not supported in dev-700?

Also, I noticed that the way it is written, all statements return generated
keys.  "RETURNING" is added to all insert statements.  Wouldn't it be better
to let the developer add RETURNING to their SQL statement rather than
forcing all columns back? That way if the developer expects generated keys,
they just need to modify their SQL.

When do you guys plan on the next dev70x release?


Scott Murphy wrote:
>
> The changelog for 8.4dev-700 says:
>
> "Implement basic generated keys support."
>
> I still get "org.postgresql.util.PSQLException: Returning autogenerated keys
> is not supported."
>
> If I get the latest source and build it myself, it works.
>
> Are autogenerated keys not supported in dev-700?

They are for Statements, but not PreparedStatements.  That was
overlooked and didn't go into the -700 release, but has gone into CVS
since then.

> Also, I noticed that the way it is written, all statements return generated
> keys.  "RETURNING" is added to all insert statements.

You should only get generated keys if you ask for them.  Apparently
you're always asking for them or there is some kind of bug going on.

> Wouldn't it be better to let the developer add RETURNING to their SQL
> statement rather than forcing all columns back? That way if the
> developer expects generated  keys, they just need to modify their SQL.

Developers are free to completely ignore the getGeneratedKeys interface
and write RETURNING statements themselves.  The whole point is to do it
portably so your code works against other databases as well.

> When do you guys plan on the next dev70x release?
>

There are no firm plans at the moment, probably another month or two.

Kris Jurka