Hello.

I found next error of jdbcapi/Stream.java in regression test using DB2 universal driver .
http://www.multinet.no/~solberg/public/Apache/TinderBox_Derby/testlog/SunOS-5.10_i86pc-i386/357435-derbynetmats_diff.txt

I could not found this problem , because test for DB2 universal driver was not executed at my environment in derbyall suite ....


The error tells that modification done in DERBY-721 made different behavior
between using  DB2 universal driver and using Network client JDBC driver .

Because this difference is a natural consequence from decision in DERBY-721 , I will add master .out file of jdbcapi/Stream.java for DB2 universal driver to be passed .


Best regards.


Tomohito Nakayama (JIRA) wrote:

    [ http://issues.apache.org/jira/browse/DERBY-721?page=all ]
Tomohito Nakayama resolved DERBY-721:
-------------------------------------

   Resolution: Fixed

Committed .

Sending        java/client/org/apache/derby/client/am/ResultSet.java
Sending        java/engine/org/apache/derby/iapi/reference/SQLState.java
Sending        java/engine/org/apache/derby/impl/jdbc/EmbedResultSet.java
Sending        java/engine/org/apache/derby/loc/messages_en.properties
Sending        
java/testing/org/apache/derbyTesting/functionTests/master/DerbyNet/LOBTest.out
Sending        
java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/LOBTest.out
Adding         
java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/Stream.out
Sending        
java/testing/org/apache/derbyTesting/functionTests/master/LOBTest.out
Adding         
java/testing/org/apache/derbyTesting/functionTests/master/Stream.out
Sending        
java/testing/org/apache/derbyTesting/functionTests/master/connectionJdbc20.out
Sending        
java/testing/org/apache/derbyTesting/functionTests/suites/jdbcapi.runall
Sending        
java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/LOBTest.java
Adding         
java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/Stream.java
Sending        
java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/connectionJdbc20.java
Sending        
java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/resultsetStream.java
Transmitting file data ...............
Committed revision 357435.

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: [EMAIL PROTECTED]:~/derby/dev/trunk$ cat /proc/version Linux version 2.6.12-1-386 ([EMAIL PROTECTED]) (gcc version 4.0.2 20050917 (prerelease) (Debian 4.0.1-8)) #1 Tue Sep 27 12:41:08 JST 2005
[EMAIL PROTECTED]:~/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
   Assignee: Tomohito Nakayama
Attachments: DERBY-721.patch, DERBY-721_2.patch, DERBY-721_3.patch, 
DERBY-721_4.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 ....
[EMAIL PROTECTED]:~/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.


--
/*

       Tomohito Nakayama
       [EMAIL PROTECTED]
       [EMAIL PROTECTED]
       [EMAIL PROTECTED]

       Naka
       http://www5.ocn.ne.jp/~tomohito/TopPage.html

*/

Reply via email to