db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anurag Shekhar (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-2812) Assessing blob (when its linked to DVD stream, ie large blob) corrupts stream fetched prior to this access.
Date Fri, 15 Jun 2007 05:54:25 GMT

     [ https://issues.apache.org/jira/browse/DERBY-2812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Anurag Shekhar updated DERBY-2812:
----------------------------------

    Attachment: derby-2812.diff

Description of Patch

This patch makes use of PositionedStoreStream intoroduced in 
derby-2806. I have introduced a wrapper AutoPositioningStream 
for PositionedStoreStream. This class checks if PositionedStoreStream 
has moved to a new postition since last read or seek and sets 
it to back to the right position if it has.
There repositioning and actual operation on PositionedStoreStream 
is performed within a synchrnized block synchrnizing on Connection Syncroniation object to
avoid race condition.

Class AutoPositioningStream extends from BinaryToRawStream to 
skip the length information from PositionedStoreStream. I feel the 
this class can be merged with BinaryToRawStream but wanted to 
avoid making any change in BinaryToRawStream as this class is used 
by few more classes (ResultSet and Statement) and we are too close 
to deadline.

Modified classes

java/engine/org/apache/derby/impl/jdbc/EmbedBlob.java
       EmbedBlob now wraps stream retrieved from dvd before storing the 
refrence locally.
       In getBinaryStream method it constructos and passes 
AutoPositioningStrea as argument to UpdateableBlobStream.

java/engine/org/apache/derby/impl/jdbc/BinaryToRawStream.java
       BinaryToRawStream is not final as AutoPositioningStream extends 
from it. I plan to merger these two classes in a latter patch after 10.3 
release branch is cut.

java/engine/org/apache/derby/impl/jdbc/UpdateableBlobStream.java
      UpdateableBlobStream was wrongly calling super.read in 
read (byte [], int, int) method fixed it to call to stream instead.


> Assessing blob (when its linked to DVD stream, ie large blob) corrupts stream fetched
prior to this access.
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2812
>                 URL: https://issues.apache.org/jira/browse/DERBY-2812
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.2.2.0, 10.3.0.0
>            Reporter: Anurag Shekhar
>            Assignee: Anurag Shekhar
>         Attachments: derby-2812.diff, Derby2806.java
>
>


-- 
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