[ 
http://issues.apache.org/jira/browse/DERBY-1516?page=comments#action_12424850 ] 
            
Kathey Marsden commented on DERBY-1516:
---------------------------------------

The new positive cases sound fine to me. 

 If I understand all you wrote, you are saying that getSubstring(pos,0) where 
pos > the length of the clob  should throw an exception for now while spec 
clarification is underway.  Is that correct?  If so,  that sounds good to me as 
it is always *much* easier to change an exception case to work in the future if 
need be.  What we want to avoid is a situation where something works and then 
we have to throw an exception later  to be compliant.  Can you add negative 
cases for this to make sure we are throwing an appropriate exception?  Then I 
think all the needed zero length cases will be covered.


Thanks

Kathey



> 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
>         Assigned To: Craig Russell
>            Priority: Minor
>         Attachments: DERBY-1516.patch, 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

        

Reply via email to