db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "V.Narayanan (JIRA)" <j...@apache.org>
Subject [jira] Created: (DERBY-2763) InputStream returned using Blob.getBinaryStream() should reflect the changes made to the underlying Blob.
Date Tue, 05 Jun 2007 13:52:25 GMT
InputStream returned using Blob.getBinaryStream() should reflect the changes made to the underlying
Blob.
---------------------------------------------------------------------------------------------------------

                 Key: DERBY-2763
                 URL: https://issues.apache.org/jira/browse/DERBY-2763
             Project: Derby
          Issue Type: Bug
          Components: Network Client
    Affects Versions: 10.3.0.0
            Reporter: V.Narayanan
             Fix For: 10.3.0.0


Currently the Embedded and Network Client would differ 
in behaviour when the following series of steps is 
followed.

a) Create an empty Blob
b) get an InputStream using Blob.getBinaryStream()
c) write data into this Blob
   c.1) Get an OutputStream
   c.2) Use OutputStream.write(byte [] b) to write
        into this Blob.
d) Now read from the InputStream obtained in step b)
   and print the number of bytes read as output.

The output of step d) differs in the client and in the Embedded side.


In the Client
-------------

The number of bytes read would always be -1.

In the Embedded
---------------

The number of bytes would be the number of bytes we
reflected.

The above behaviour in the NetworkClient is because
the length of the Blob is read once and stored in the 
constructor of the locator Stream returned (in the 
attribute maxPos).

This instead should be read each time we use the streams.

A similar issue exists for Clobs also.

I will raise a seperate JIRA issue for this.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message