Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-4031

If NO_GENERATED_KEYS is specified, Statement.getGeneratedKeys should return an empty ResultSet, not null

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 10.3.3.0, 10.4.2.0, 10.5.1.1
    • Fix Version/s: None
    • Component/s: JDBC
    • Urgency:
      Normal
    • Issue & fix info:
      Release Note Needed
    • Bug behavior facts:
      Deviation from standard

      Description

      Currently Derby returns null from Statement.getGeneratedKeys() if the statement is prepared or executed with Statement.NO_GENERATED_KEYS. The javadoc says:

      If this Statement object did not generate any keys, an empty ResultSet object is returned.

      so we should return an empty ResultSet for this case. It is not entirely clear what the structure of the ResultSet and ResultSetMetaData should be. I tend to think the following:

      getConcurrency() - inherit from the parent statement
      getStatement() - null

      ResultSetMetaData
      getColumnCount - 0

      an alternative would be to have the ResultSetMetaData match the signature of Identity_Val_local() but I think to return 0 columns makes more sense.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                kmarsden Kathey Marsden
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: