db-derby-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristian Waagan <Kristian.Waa...@Sun.COM>
Subject Re: varchar length
Date Tue, 25 Nov 2008 12:36:54 GMT
tom_ wrote:
> Hello Kristian,
>
> this is a good idea, truncating by java before writing by SQL. Yes, varchar
> removes trailing blanks, though it would help if it would cut larger values
> instead of not writing them. If you have a look at the error message it
> shows that he tries to cut the value to the limit but has an exception.
>   

Yes, it is trying to cut, but is not allowed to do so because the data 
to be cut consists on non-blanks.
There is no support for allowing Derby to truncate "real data". You 
could add a feature request to Jira[1], but since there are relatively 
simple work arounds available, I don't know if it will get much traction 
in the community.


cheers,
-- 
Kristian

[1] https://issues.apache.org/jira/browse/DERBY

> Thank you for helping
> Tom
>
>
> Kristian Waagan-4 wrote:
>   
>> tom_ wrote:
>>     
>>> When defining a datatype with varchar(128) and providing an input with
>>> more
>>> than 128 characters the value is not inserted in the database. There is
>>> an
>>> error message "error when trying to cut to 128 characters" (translated
>>> from
>>> german). 
>>>   
>>>       
>> Hello Tom,
>>
>> Only trailing white space will be truncated by Derby. I *think* this is 
>> according to the SQL standard, but I haven't checked this (anyone?).
>>
>> Two options would be to either extract a substring from the value in 
>> Java (i.e. before you call PreparedStatement.setString), or rely on 
>> exception handling to detect and handle the problem.
>>
>>
>> regards,
>> -- 
>> Kristian
>>
>>     
>>> I could encrease the maximum length but when there are a lot of values
>>> with
>>> shorter length and only very few with longer length than 128 this would
>>> decrease the speed of search operations ...  
>>>   
>>>       
>>
>>     
>
>   


Mime
View raw message