Daniel John Debrunner wrote:
Rick Hillegas wrote:
Kathey Marsden wrote:
Rick Hillegas wrote:
Before filing a bug on this, I'd like the community's advice:
1) Is this a bug? Should Statement.getGeneratedKeys() return a
ResultSet whose column has the same type as the underyling
autogenerated column?
2) If this is a bug, is it permitted to change this behavior in a
minor release?
I can't say if it is a bug or not, but with regard to 2, I wonder:
What usage cases would benefit from changing it?
This would help customers who want to get the type of a table's
generated key from getGeneratedKeys() itself and not have to extract
this information from a more complicated series of metadata calls.
I'm lost here, what's complicated about DatabaseMetaData.getColumns()?
You're right. It's not that complicated. If the driver returns the JDBC4
contents of DatabaseMetaData.getColumns(), you can loop through the
results until you get to the row whose IS_AUTOINCREMENT column is set to
YES. If the driver returns JDBC3 results, it looks a little busier to me:
o Prepare a SELECT on the base table.
o Get the corresponding ResultSetMetaData
o Loop till you find the column index with
ResultSetMetaData.isAutoIncrement() == true
But JDBC is big so there could be a simpler scheme.
Dan.