[
https://issues.apache.org/jira/browse/DERBY-6849?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John Hendrikx updated DERBY-6849:
---------------------------------
Description:
I have a very simple table:
{noformat}
CREATE TABLE images (
url varchar(1000) NOT NULL,
image blob NOT NULL,
CONSTRAINT images_url PRIMARY KEY (url)
);
{noformat}
No auto-generated fields. However when I do an insert, JDBC tells me there are
auto-generated keys (rs.next() does not return false and a LONG value is
returned):
{noformat}
try(PreparedStatement statement = connection.prepareStatement(sql,
Statement.RETURN_GENERATED_KEYS)) {
setParameters(parameterValues, statement);
statement.execute();
try(ResultSet rs = statement.getGeneratedKeys()) {
if(rs.next()) {
return rs.getObject(1);
}
return null;
}
}
catch(SQLException e) {
throw new DatabaseException(this, sql + ": " + parameters, e);
}
{noformat}
This sounds like a bug to me. For comparison, PostgreSQL does not have the
same behaviour.
was:
I have a very simple table:
CREATE TABLE images (
url varchar(1000) NOT NULL,
image blob NOT NULL,
CONSTRAINT images_url PRIMARY KEY (url)
);
No auto-generated fields. However when I do an insert, JDBC tells me there are
auto-generated keys (rs.next() does not return false and a LONG value is
returned):
try(PreparedStatement statement = connection.prepareStatement(sql,
Statement.RETURN_GENERATED_KEYS)) {
setParameters(parameterValues, statement);
statement.execute();
try(ResultSet rs = statement.getGeneratedKeys()) {
if(rs.next()) {
return rs.getObject(1);
}
return null;
}
}
catch(SQLException e) {
throw new DatabaseException(this, sql + ": " + parameters, e);
}
This sounds like a bug to me. For comparison, PostgreSQL does not have the
same behaviour.
> Statement.RETURN_GENERATED_KEYS returns "keys" even if there are no
> auto-generated fields
> -----------------------------------------------------------------------------------------
>
> Key: DERBY-6849
> URL: https://issues.apache.org/jira/browse/DERBY-6849
> Project: Derby
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 10.9.1.0
> Reporter: John Hendrikx
>
> I have a very simple table:
> {noformat}
> CREATE TABLE images (
> url varchar(1000) NOT NULL,
> image blob NOT NULL,
>
> CONSTRAINT images_url PRIMARY KEY (url)
> );
> {noformat}
> No auto-generated fields. However when I do an insert, JDBC tells me there
> are auto-generated keys (rs.next() does not return false and a LONG value is
> returned):
> {noformat}
> try(PreparedStatement statement = connection.prepareStatement(sql,
> Statement.RETURN_GENERATED_KEYS)) {
> setParameters(parameterValues, statement);
> statement.execute();
> try(ResultSet rs = statement.getGeneratedKeys()) {
> if(rs.next()) {
> return rs.getObject(1);
> }
> return null;
> }
> }
> catch(SQLException e) {
> throw new DatabaseException(this, sql + ": " + parameters, e);
> }
> {noformat}
> This sounds like a bug to me. For comparison, PostgreSQL does not have the
> same behaviour.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)