Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 9088 invoked from network); 12 Jun 2007 12:43:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Jun 2007 12:43:48 -0000 Received: (qmail 24455 invoked by uid 500); 12 Jun 2007 12:43:50 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 24411 invoked by uid 500); 12 Jun 2007 12:43:50 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 24387 invoked by uid 99); 12 Jun 2007 12:43:50 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Jun 2007 05:43:50 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Jun 2007 05:43:46 -0700 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 3B9797141F7 for ; Tue, 12 Jun 2007 05:43:26 -0700 (PDT) Message-ID: <16012749.1181652206241.JavaMail.jira@brutus> Date: Tue, 12 Jun 2007 05:43:26 -0700 (PDT) From: "V.Narayanan (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Updated: (DERBY-2763) In the Network Client InputStreams and Readers returned from LOB's should be sensitive to underlying LOB data changes. In-Reply-To: <785582.1181051545961.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-2763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] V.Narayanan updated DERBY-2763: ------------------------------- Attachment: UpdateSensitiveStreamsForClient_v1.stat UpdateSensitiveStreamsForClient_v1.diff I concur with the support voiced for Approach 2 since it is being supported by a very valid use case and seems a very logical approach at this juncture. I highly appreciate the guidance offered and thank Rick and Oystein for their invaluable inputs in this patch. Attached here is the patch that is a extension of the already attached Approach_2.txt In this patch I have enabled jdbcapi/BlobUpdaetableStreamTest jdbcapi/ClobupdateableReaderTest for the Network Client. I have added tests for the case when a stream is taken from a empty Clob or a empty Blob (con.createClob or con.createBlob) to jdbc4/BlobTest jdbc4/ClobTest Pls find a detailed explanation for this approach in my previous attachment Approach_2.txt > In the Network Client InputStreams and Readers returned from LOB's should be sensitive to underlying LOB data changes. > ---------------------------------------------------------------------------------------------------------------------- > > 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 > Assignee: V.Narayanan > Fix For: 10.3.0.0 > > Attachments: Approach_2.diff, Approach_2.stat, Approach_2.txt, Approach_3.diff, Approach_3.stat, Approach_4.diff, Approach_4.stat, LOBLengthPersists.java, UpdateSensitiveStreamsForClient_v1.diff, UpdateSensitiveStreamsForClient_v1.stat > > > 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.