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

Client driver does not roll back the effects of a stored procedure when incorrectly invoked by executeQuery()/executeUpdate()

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 10.1.2.1, 10.2.1.6
    • 10.2.1.6
    • JDBC, Network Client
    • None

    Description

      When executing a stored procedure with executeQuery() and the proc
      doesn't return exactly one result set, the query should fail and the
      statement should be rolled back. Embedded does this correctly.

      The client driver, however, does not roll back the statement, so the
      effects of statements executed on nested connections in the stored
      procedure are still visible. The reason for this is that the network
      server executes the statement with execute() instead of
      executeQuery(), so that it succeeds on the server. The client then
      counts the number of result sets, and raises an exception if it is not
      one, but it does not roll back the effects of the stored procedure.
      verified that.)

      The same problem exists for executeUpdate(). JCC also has these
      problems.

      Attachments

        1. derby-1364-v1.stat
          0.5 kB
          Knut Anders Hatlen
        2. derby-1364-v1.diff
          28 kB
          Knut Anders Hatlen

        Activity

          People

            knutanders Knut Anders Hatlen
            knutanders Knut Anders Hatlen
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: