db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig Russell (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-1516) Inconsistent behavior for getBytes and getSubString for embedded versus network
Date Sun, 30 Jul 2006 22:31:14 GMT
    [ http://issues.apache.org/jira/browse/DERBY-1516?page=comments#action_12424448 ] 
Craig Russell commented on DERBY-1516:

Hi Kathey,

Thanks for the feedback on the patch. A few notes:

1. I've added myself to the derby-developers list so I can assign the issue to myself.
2. The differences in the master blobclob4BLOB.out files shows the inconsistency of the behaviors
quite nicely.
3. I can update the master blobclob4BLOB.out files once we agree what we should test. What
I understand from you is that you would like to see lengths of 0, -1, and -76 tested, and
the master files updated. But the tests in question clobTest6 and blobTest6 are negative tests
that look for exceptions. It's not clear to me that the test for 0 (which works for the network
case) should be tested here.
4. I noticed an unusual comment in clobTest6:
            // 0 or negative position value
                        if (isDerbyNet)
                                System.out.println(" negative tests for clob.getSubstring
won't run  for network server  until 5243 is fixed");
Can you translate this? What's a 5243? 



> Inconsistent behavior for getBytes and getSubString for embedded versus network
> -------------------------------------------------------------------------------
>                 Key: DERBY-1516
>                 URL: http://issues.apache.org/jira/browse/DERBY-1516
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>            Reporter: Craig Russell
>            Priority: Minor
>         Attachments: DERBY-1516.patch, DERBY-1516.patch
> org.apache.derby.client.am.Clob.getSubString(pos, length) and org.apache.derby.client.am.Blob.getBytes(pos,
length) check the length for less than zero. 
>             if ((pos <= 0) || (length < 0)) {
>                 throw new SqlException(agent_.logWriter_, "Invalid position " + pos +
" or length " + length);
> But org.apache.derby.impl.jdbc.EmbedClob(pos, length) and org.apache.derby.impl.jdbc.EmbedBlob(pos,
length) check the length for less than or equal to zero.
>        if (length <= 0)
>             throw Util.generateCsSQLException(
>                 SQLState.BLOB_NONPOSITIVE_LENGTH, new Integer(length));
> The specification does not disallow length of zero, so zero length should be allowed.
I believe that the implementation in org.apache.derby.client.am is correct, and the implementation
in org.apache.derby.impl.jdbc is incorrect. 

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


View raw message