Derby
  1. Derby
  2. DERBY-4521

Stream passed out to user does not heed close, allowing reads after next ResultSet#getXXX

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 10.0.2.0, 10.0.2.1, 10.1.1.0, 10.1.2.1, 10.1.3.1, 10.2.1.6, 10.2.2.0, 10.3.1.4, 10.3.2.1, 10.3.3.0, 10.4.1.3, 10.4.2.0, 10.5.1.1, 10.5.2.0, 10.5.3.0, 10.6.1.0, 10.6.2.1, 10.7.1.1
    • Fix Version/s: 10.9.1.0
    • Component/s: JDBC
    • Urgency:
      Low
    • Issue & fix info:
      Repro attached
    • Bug behavior facts:
      Deviation from standard, Embedded/Client difference

      Description

      This was discovered investigating DERBY-4477 using the repro for DERBY-3646, which erroneously
      tries to keep two streams passed out via REsultSet#getBinaryStream open at the same time. This is prohibited by JDBC [1],
      but Derby allows it for non-materialized streams because the close call on the passed out stream (performed by EmbedResultSet#closeCurrentStream at the time of the next getXXX) is not heed by the underlying Derby stream.

      [1] http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html#getBinaryStream(int)

      1. repro.diff
        2 kB
        Dag H. Wanvik

        Issue Links

          Activity

          Hide
          Knut Anders Hatlen added a comment -

          [bulk update] Close all resolved issues that haven't been updated for more than one year.

          Show
          Knut Anders Hatlen added a comment - [bulk update] Close all resolved issues that haven't been updated for more than one year.
          Hide
          Kathey Marsden added a comment -

          Labeled derby_backport_reject_10_8. Since it is a behavior change prohibiting an operation, probably not suitable for a maintenance release.

          Show
          Kathey Marsden added a comment - Labeled derby_backport_reject_10_8. Since it is a behavior change prohibiting an operation, probably not suitable for a maintenance release.
          Hide
          Kristian Waagan added a comment -

          Marking as fixed, will update issue when DERBY-5090 has been closed/finalized.

          Show
          Kristian Waagan added a comment - Marking as fixed, will update issue when DERBY-5090 has been closed/finalized.
          Hide
          Dag H. Wanvik added a comment -

          Uploading a repro, as a patch to ResultSetStreamTest which shows both that the embedded driver behaves incorrectly and that the client driver behaves correctly.

          Show
          Dag H. Wanvik added a comment - Uploading a repro, as a patch to ResultSetStreamTest which shows both that the embedded driver behaves incorrectly and that the client driver behaves correctly.
          Hide
          Dag H. Wanvik added a comment -

          The error is seen only with the embedded driver. The client driver behaves as expected.

          Show
          Dag H. Wanvik added a comment - The error is seen only with the embedded driver. The client driver behaves as expected.

            People

            • Assignee:
              Unassigned
              Reporter:
              Dag H. Wanvik
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development