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

Rick Hillegas updated DERBY-4949:
---------------------------------

           Description: 
If you try to get a Time value out of an INTEGER column, the client driver 
gives this error. I believe that similar nonsense comes back when you try other 
mismatched getters on other datatypes:

    "An attempt was made to get a data value of type 'java.sql.Types 4' from a 
data value of type 'java.sql.Time'."

The exception is a java.sql.SQLDataException with SQLState 22005. The embedded 
driver returns a better message:

    "An attempt was made to get a data value of type 'java.sql.Time' from a 
data value of type INTEGER'."

I recommend two improvements to the utility method which generates these 
exceptions:

1) Flip the order of the type names.

2) Use the ResultSetMetaData to look up the source data type name.



  was:
If you try to get a Time value out of an INTEGER column, the client driver 
gives this error. I believe that similar nonsense comes back when you try other 
mismatched getters on other datatypes:

    "An attempt was made to get a data value of type 'java.sql.Types 4' from a 
data value of type 'java.sql.Time'."

The exception is a java.sql.SQLDataException with SQLState 22005. A better 
message would be:

    "An attempt was made to get a data value of type 'java.sql.Time' from a 
data value of type INTEGER'."

I recommend two improvements to the utility method which generates these 
exceptions:

1) Flip the order of the type names.

2) Use the ResultSetMetaData to look up the source data type name.



    Bug behavior facts: [Embedded/Client difference]

> Backward, confusing error message when you use the wrong ResultSet.getXXX() 
> method in the client driver
> -------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4949
>                 URL: https://issues.apache.org/jira/browse/DERBY-4949
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Client
>    Affects Versions: 10.8.0.0
>            Reporter: Rick Hillegas
>         Attachments: zz.java
>
>
> If you try to get a Time value out of an INTEGER column, the client driver 
> gives this error. I believe that similar nonsense comes back when you try 
> other mismatched getters on other datatypes:
>     "An attempt was made to get a data value of type 'java.sql.Types 4' from 
> a data value of type 'java.sql.Time'."
> The exception is a java.sql.SQLDataException with SQLState 22005. The 
> embedded driver returns a better message:
>     "An attempt was made to get a data value of type 'java.sql.Time' from a 
> data value of type INTEGER'."
> I recommend two improvements to the utility method which generates these 
> exceptions:
> 1) Flip the order of the type names.
> 2) Use the ResultSetMetaData to look up the source data type name.

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