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: Record not found in some SQL - Bug?
Date Wed, 28 Jan 2009 20:00:56 GMT
derby@segel.com wrote:
>> -----Original Message-----
>> From: jrgchip [mailto:chip@datamology.com]
>> Sent: Wednesday, January 28, 2009 10:10 AM
>> To: derby-user@db.apache.org
>> Subject: Re: Record not found in some SQL - Bug?

[ snip ]

> How did you load the data? 
> What character set(s) are you using? Latin-1 or UTF-8?
> Just out of curiosity, if you are using UTF-8 and you have a 2 byte set of
> characters, when you use the length() function, do you see the number of
> bytes or the number of characters. By this I mean suppose you have 'cat' but
> each character is 2 bytes wide. Does length() return 3 or does it return 6?


Derby should be returning the number of characters.
The on-disk format of character values in Derby is the modified UTF-8 
encoding (see java.io.DataInput).

This information doesn't make neither the bug nor bad-import theory 
invalid, of course :)

Be aware that and had a corruption bug, mostly (or 
only) seen on Windows. It may or may not be related to the problem 
described. In any case, you should move to Derby 10.4 or


> My guess is that you have some corruption in your load file. But that's only
> a SWAG and you haven't presented enough info on this.
> Since your database is in a 'broken' state, what happens if you create a
> copy of the table and select the rows that match your like 'xxxx%' clause
> and insert them in to your temp duplicate table.
> When you query the bogus row, do you get it or do you still get an error?
> I'm pretty hesitant to call this case a bug... 
> In using other databases, I've had similar 'ghosts' but they all turned out
> to be from corrupted input files.
> -Mike

View raw message