db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lance J. Andersen" <Lance.Ander...@Sun.COM>
Subject Re: [jira] Commented: (DERBY-1501) PreparedStatement#setNull(int parameterIndex, int sqlType) throws SQL Exception if given sqlType is LONGVARBINARY in embedded mode
Date Thu, 13 Jul 2006 21:22:41 GMT
I am not sure why the wording was added to the overloaded setNull  
method which was added in JDBC 3.

 i probably would expect it to not ignore the specified sql type in 
order to make sure the action requested is valid.  I would have to check 
the SQL standard and discuss this with the EG further but it is 
something else to try and clean up and added it to my ever growing to do 
list


Daniel John Debrunner (JIRA) wrote:
>     [ http://issues.apache.org/jira/browse/DERBY-1501?page=comments#action_12420620 ]

>
> Daniel John Debrunner commented on DERBY-1501:
> ----------------------------------------------
>
> Knut Anders indicates
>
> setNull(int,int,String)
>  - If a JDBC driver does not need the type code or type name
>   information, it may ignore it. 
> setNull(int,int)
>     You must specify the parameter's SQL type.
>
> Interesting, here the issue is about setNull(int,int) which doesn't have that comment
about ignoring typeCode.
> Could the omission be intentional and the wording in setNull(int,int,String) meant to
be clearer, so that
> one of typeCode or typeName could be ignored, but not both?
>
> With setNull(1, Types.LONGVARBINARY) it is saying send a NULL of LONGVARBINARY to the
engine,
> the engine should then treat it the same as a cast of a LONGVARCHAR FOR BIT DATA to the
target type.
>
>
>
>
>   
>> PreparedStatement#setNull(int parameterIndex, int sqlType) throws SQL Exception if
given sqlType is LONGVARBINARY in embedded mode
>> ----------------------------------------------------------------------------------------------------------------------------------
>>
>>          Key: DERBY-1501
>>          URL: http://issues.apache.org/jira/browse/DERBY-1501
>>      Project: Derby
>>         Type: Bug
>>     
>
>   
>>     Versions: 10.1.1.0
>>  Environment: WindowsXP
>>     Reporter: Markus Fuchs
>>  Attachments: ByteArrayTest.java
>>
>> When inserting a row into following table
>> BYTEARRAY_TEST( ID int, BYTEARRAY_VAL blob)
>> PreparedStatement#setNull(int parameterIndex, int sqlType) throws SQL Exception if
given sqlType is LONGVARBINARY. You must give sqlType BLOB to make the insert work. The same
test works using sqlType LONGVARBINARY in network mode. The following combinations don't work:
>> Column type               sqlType not working             mandatory sqlType
>> BLOB                           LONGVARBINARY                 BLOB
>> CLOB                           LONGVARCHAR                    CLOB
>> The issue here is that first Derby behaves differently in network and embedded mode.
And secondly, should accept LONGVARBINARY/LONGVARCHAR for BLOB/CLOB columns.
>>     
>
>   

Mime
View raw message