[yunqa.de] Re: Integrity check bug?

  • From: Delphi Inspiration <delphi@xxxxxxxx>
  • To: yunqa@xxxxxxxxxxxxx,yunqa@xxxxxxxxxxxxx
  • Date: Sun, 16 Aug 2009 21:52:49 +0200

At 04:27 16.08.2009, Clyde England wrote:

>I can supply the database if needed but I believe you can probably duplicate 
>this with any database that has non ASCII characters, and indexes over columns 
>that contain these non ASCII characters. 

Sending the database might indeed not be necessary, but you can send the 
database schema.

>1. Go into Control panel, and select "Regional and language options".
>2. On the "Regional Options" tab select "Swedish"
>3. On the "Advanced" tab select "Swedish" for "Language for non Unicode 
>This I believe is the standard setup for a "Swedish" Windows user.
>Now start SQLiteSpy, open the database, and do a "Pragma Integrity_check"

This looks like a collating sequence problem. Does your database use custom 
collation sequences which use the Windows API for string comparisons?

Please know that if the definition of a collation sequence that you have used 
to create an index varies even slightly from locale to locale (English to 
Swedish) or machine to machine (win98 to windows vista), you are headed for 
database corruption.

If this applies to your application and database, please exchange the 
Windows-based collation function with an application based one.

Alternatively, you might want to ask your customers to reindex the database and 
run PRAGMA integrity_check again.


Delphi Inspiration mailing list

Other related posts: