[ 
https://issues.apache.org/jira/browse/DERBY-2769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12703842#action_12703842
 ] 

Kathey Marsden commented on DERBY-2769:
---------------------------------------

Thanks Yun.  derby-2769-4.diff looks good.   I verified the message prints out 
ok now and  changed the message file a bit to correct an indentation issue and 
changed the mssage just a bit.  The new message is: "The range specified for 
the substring with offset {0} and len {1} is out of range for the String: {2}."

I will run tests and check this in. Thanks for the contribution!

On the release note,  under Rationale for Change, you should refer to the JDBC 
specification, not the SQL specification. Under Application Changes Required 
you should not list the changes made to Derby, but rather the changes that an 
application calling Clob.setString() might need to make.

> Implement error handling/parameter checking in Clob.setString
> -------------------------------------------------------------
>
>                 Key: DERBY-2769
>                 URL: https://issues.apache.org/jira/browse/DERBY-2769
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.3.1.4
>            Reporter: Kristian Waagan
>            Assignee: Yun Lee
>         Attachments: DERBY-2769-1.patch, DERBY-2769-1.stat, 
> DERBY-2769-2.patch, DERBY-2769-2.stat, DERBY-2769-3-a.diff, 
> DERBY-2769-3-a.stat, DERBY-2769-3-b.diff, DERBY-2769-3-b.stat, 
> DERBY-2769-4.diff, DERBY-2769-4.stat, releaseNote.html
>
>
> The error handling, or parameter checking, in Clob.subString is not adequate.
> There are four parameters that can be invalid;
>  * pos
>  * str
>  * offset
>  * len
> The first one is already handled properly, the remaining three are not. They 
> typically result in some low-level exception like a NPE.
> I have not found anything in the JDBC specification nor JavaDoc that dictates 
> the behavior, except for that SQLException should use states defined in the 
> SQL 2003 specification. A brief search there resulted in the following 
> possibilities:
>  22003 - numeric value out of range
>  22004 - null value not allowed
>  2200F - zero-length character string
>  22011 - substring error 
>  22023 - invalid parameter value
> Some of these are already defined by Derby, but with unsuitable or very 
> specific error messages.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to