[ http://issues.apache.org/jira/browse/DERBY-1527?page=all ]

Knut Anders Hatlen updated DERBY-1527:
--------------------------------------

    Attachment: derby-1527-v1.diff
                derby-1527-v1.stat

Attached is a patch which factors out the type checks from the set*Stream 
methods in EmbedPreparedStatement and the update*Stream methods in 
EmbedResultSet. Three new static methods were added to DataTypeDescriptor: 
isAsciiStreamAssignable(), isBinaryStreamAssignable() and 
isCharacterStreamAssignable(). These methods return true if a column or 
parameter of the specified type could be updated/set with an ascii stream, a 
binary stream or a character stream, respectively. Derbyall runs cleanly.

> Factor out type checks in EmbedResultSet and EmbedPreparedStatement
> -------------------------------------------------------------------
>
>                 Key: DERBY-1527
>                 URL: http://issues.apache.org/jira/browse/DERBY-1527
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC
>    Affects Versions: 10.2.0.0
>            Reporter: Knut Anders Hatlen
>         Assigned To: Knut Anders Hatlen
>            Priority: Minor
>         Attachments: derby-1527-v1.diff, derby-1527-v1.stat
>
>
> EmbedPreparedStatement and EmbedResultSet have many occurrences of
>     switch (...) {
>         case Types.CHAR:
>         case Types.VARCHAR:
>         case Types.LONGVARCHAR:
>         case Types.CLOB:
>             break;
>         default:
>             throw dataTypeConversion(...);
>     }
> and
>     switch (...) {
>         case Types.BINARY:
>         case Types.VARBINARY:
>         case Types.LONGVARBINARY:
>         case Types.BLOB:
>             break;
>         default:
>             throw dataTypeConversion(...);
>     }
> Instead of having many copies of this code, it would be good to factor
> it out into methods that can be shared. For instance, one could add
> these methods to DataTypeDescriptor:
>   public static boolean isAsciiStreamCompatible(int jdbcType)
>   public static boolean isBinaryStreamCompatible(int jdbcType)
>   public static boolean isCharacterStreamCompatible(int jdbcType)

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