You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "John Hendrikx (JIRA)" <ji...@apache.org> on 2015/12/31 20:26:40 UTC

[jira] [Created] (DERBY-6849) Statement.RETURN_GENERATED_KEYS returns "keys" even if there are no auto-generated fields

John Hendrikx created DERBY-6849:
------------------------------------

             Summary: 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:

    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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)