You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Tomohito Nakayama (JIRA)" <de...@db.apache.org> on 2005/11/21 12:26:44 UTC
[jira] Updated: (DERBY-721) State of InputStream retrieved from resultset is not clean , if there exists previous InputStream .
[ http://issues.apache.org/jira/browse/DERBY-721?page=all ]
Tomohito Nakayama updated DERBY-721:
------------------------------------
Attachment: testLob.java
testResult.txt
These are test program for reproduction of the phenomena what I found , and result of the program .
> 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
> Type: Bug
> Components: Unknown
> 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
> Attachments: testLob.java, testResult.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