[ 
http://issues.apache.org/jira/browse/DERBY-1610?page=comments#action_12429368 ] 
            
Knut Anders Hatlen commented on DERBY-1610:
-------------------------------------------

There will be user impact even if only a few of the incompatible combinations 
are changed to throw exceptions. Therefore, I think that it is better to fix 
all of them at once. Fixing only a couple of them makes the current state of 
the code harder to understand. For instance, I don't understand why 
setBlob(null) should fail on a CHAR parameter, but succeed on a DOUBLE 
parameter.

Also, I'm not sure whether this type checking should happen on the server. 
Since the DRDA protocol doesn't preserve which JDBC method was used, and which 
arguments the user passed in, it might not always have enough information to 
decide what to do. Another problem with having the check on the server, is that 
old clients (or jcc clients) running against a new server will also get these 
new exceptions. Some people might call that a regression.

If it is possible to get the type checks on the client instead of on the 
server, I would prefer that solution. If that is not possible, I think we 
should only make sure that all setXXX(null) calls work as before DERBY-1535, 
and delay the change of behaviour until we have found a way to make all calls 
behave correctly.

> Updating column typed as CHAR to value passed via setBinaryStream(notNull) is 
> failed because of imcompatiblity of types though it was not taken as error 
> when setBinaryStream(null)
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-1610
>                 URL: http://issues.apache.org/jira/browse/DERBY-1610
>             Project: Derby
>          Issue Type: Bug
>          Components: Network Server, Network Client
>            Reporter: Tomohito Nakayama
>         Assigned To: Tomohito Nakayama
>         Attachments: DERBY-1610.diff, DERBY-1610_2.diff, 
> parameterMapping.diff, parameterMapping.diff, TestNullChar.java
>
>
> There exists difference between updating character typed column to value 
> passed via setBinaryStream(notNullValue) and updating the column to value 
> passed via setBinaryStream(null).
> This difference is problematic because it does not exist in Embedded mode.

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