Derby
  1. Derby
  2. DERBY-3646

Embedded returns wrong results when selecting a blob column twice and using getBinaryStream()

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 10.1.3.1, 10.2.2.0, 10.3.3.0, 10.4.1.3, 10.5.1.1
    • Fix Version/s: 10.5.3.1, 10.6.1.0
    • Component/s: JDBC
    • Labels:
      None
    • Urgency:
      Normal
    • Issue & fix info:
      High Value Fix, Repro attached
    • Bug behavior facts:
      Wrong query result

      Description

      The attached program DoubleSelect selects a blob column twice and tries to access the blob column with getBinaryStream.

      With embedded the output is:
      4 5 6 7 8 9 10 11 12 13
      14 15 16 17 18 19 20 21 22 23
      I am done

      Two things seem to be happening with embedded.
      1) Both getBinaryStream() calls are returning the same stream.
      2) The second getBinaryStream() call throws away 4 bytes.

      With client the output is:
      Exception in thread "main" java.io.IOException: The object is already
      closed.
      at
      org.apache.derby.client.am.CloseFilterInputStream.read(CloseFilterInputStream.java:50)
      at DoubleSelect.printNextTen(DoubleSelect.java:53)
      at DoubleSelect.main(DoubleSelect.java:43)
      0 1 2 3 4 5 6 7 8 9
      So with client it looks like the second getBinaryStream() call closes
      the first stream but then returns the right result for the second stream.

      Perhaps embedded should behave the same as client or perhaps the query should just work. Regardless embedded should not return wrong results.

      1. derby-3646_diff_10_5.txt
        16 kB
        Kathey Marsden
      2. DoubleSelect.java
        2 kB
        Kathey Marsden

        Issue Links

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development