[ 
https://issues.apache.org/jira/browse/DERBY-4970?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Knut Anders Hatlen updated DERBY-4970:
--------------------------------------

    Attachment: d4970.diff

The attached patch makes getBlob() and getClob() in EmbedCallableStatement 
throw a proper error when there's a type mismatch. The exception in the repro 
is changed from

    java.lang.ClassCastException: java.lang.String cannot be cast to 
java.sql.Blob

to

    java.sql.SQLDataException: An attempt was made to get a data value of type 
'java.sql.Blob' from a data value of type 'VARCHAR'.

I haven't run any tests or added a regression test case yet.

> ClassCastException from getBlob() on string parameter
> -----------------------------------------------------
>
>                 Key: DERBY-4970
>                 URL: https://issues.apache.org/jira/browse/DERBY-4970
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.7.1.1
>            Reporter: Knut Anders Hatlen
>         Attachments: d4970.diff, Test.java
>
>
> If you call getBlob() on a string parameter in a CallableStatement, you'll 
> get a ClassCastException. We should get a proper SQLException.
> Exception in thread "main" java.lang.ClassCastException: java.lang.String 
> cannot be cast to java.sql.Blob
>         at 
> org.apache.derby.impl.jdbc.EmbedCallableStatement.getBlob(EmbedCallableStatement.java:580)
>         at Test.main(Test.java:13)

-- 
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