db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-721) State of InputStream retrieved from resultset is not clean , if there exists previous InputStream .
Date Wed, 19 Jul 2006 17:39:14 GMT
     [ http://issues.apache.org/jira/browse/DERBY-721?page=all ]

Kathey Marsden updated DERBY-721:
---------------------------------

    Derby Info: [Existing Application Impact, Release Note Needed]

I think this change may affect existing applicaitons. Because of the fact that the  InputStream
retrieved from resultset is not clean , we now throw an exception if the user gest the stream
for a value in result set twice. 

Typically this would mean they were getting wrong results before if they retrieved the stream
more than once. Now they will get an exception which is correct but may be surprising to users
that  are now seeing this new symptom.  A formal release note still needs to be added.


> State of InputStream retrieved from resultset is not clean , if there exists previous
InputStream .
> ---------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-721
>                 URL: http://issues.apache.org/jira/browse/DERBY-721
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC, Network Client
>         Environment: naka@rufelza:~/derby/dev/trunk$ cat /proc/version 
> Linux version 2.6.12-1-386 (horms@tabatha.lab.ultramonkey.org) (gcc version 4.0.2 20050917
(prerelease) (Debian 4.0.1-8)) #1 Tue Sep 27 12:41:08 JST 2005
> naka@rufelza:~/derby/dev/trunk$ java -version
> java version "1.4.2_10"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_10-b03)
> Java HotSpot(TM) Client VM (build 1.4.2_10-b03, mixed mode)
>            Reporter: Tomohito Nakayama
>         Assigned To: Tomohito Nakayama
>             Fix For: 10.2.0.0
>
>         Attachments: DERBY-721.patch, DERBY-721_2.patch, DERBY-721_3.patch, DERBY-721_4.patch,
DERBY-721_5.patch, DERBY-721_rollback_1+2.patch, testLob.java, testLob2.java, testResult.txt,
testResult2.txt
>
>
> State of InputStream retrieved from ResultSet was not clean , if there exists previous
InputStream retrieved from ResultSet .
> Test code ...
> 	PreparedStatement pst = conn.prepareStatement("insert into a(b) values(?)");
> 	byte[] data = new byte[1024 * 1024];
> 	for(int i = 0;
> 	    i < 1024 * 1024;
> 	    i  ++){
> 	    data[i] = (byte)(i % 256);
> 	}
> 	pst.setBinaryStream(1,new ByteArrayInputStream(data),data.length);
> 	pst.executeUpdate();
> 	pst.close();
> 	
> 	
> 	st = conn.createStatement();
> 	ResultSet rs = st.executeQuery("select b from a");
> 	rs.next();
> 	
> 	InputStream is = rs.getBinaryStream(1);
> 	System.out.println("Here goes first stream");
> 	System.out.println(is.read());
> 	System.out.println(is.read());
> 	System.out.println(is.read());
> 	
> 	is = rs.getBinaryStream(1);
> 	System.out.println("Here goes 2nd stream");
> 	System.out.println(is.read());
> 	System.out.println(is.read());
> 	System.out.println(is.read());
> Result ....
> naka@rufelza:~/derby/test/20051121$ java testLob
> Here goes first stream
> 0
> 1
> 2
> Here goes 2nd stream
> 7
> 8
> 9
> It is expected that result printed from first stream is as same as result printed from
2nd.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message