[yunqa.de] SQLiteSpy 1.9.3 REINDEX differs from 1.9.1

  • From: "Tom Holden" <ve3meo@xxxxxxxxx>
  • To: <yunqa@xxxxxxxxxxxxx>
  • Date: Tue, 25 Jun 2013 10:12:27 -0400

Hi Ralf,

I’m disturbed by odd results on REINDEXing against the fake RMNOCASE collation 
(a renamed NOCASE) extension you made for me.

In a sample database, running:
REINDEX;
PRAGMA INTEGRITY_CHECK;

1.9.1 returns 19 rowids missing from 3 indexes
1.9.3 returns 32 rowids missing from 4 indexes

If I REINDEX using one version and do the INTEGRITY_CHECK with the other:
1.9.1 reports 32 ...
1.9.3 reports 19 ...

So it looks like REINDEXing behaves differently on the two versions.

I received a CDECL type extension of a RMNOCASE-like collation that works with 
the command line shell sqlite3.exe and with another Delphi-based SQLite manager 
but not with SQLIteSpy. REINDEXing with either of these or with the original 
application results in OK from INTEGRITY_CHECK on any of the three.

REINDEXing with the original application:
1.9.1 & 1.9.3 report 20 rowids missing from 4 indexes

So:
1. Why does a REINDEX by one version of SQLiteSpy result in a different set of 
results from INTEGRITY_CHECK compared to REINDEXing by another version? Given 
the same collation sequence, they should be the same.
2. Why should a REINDEX result in any missing rowids from indexes when 
INTEGRITY_CHECK is executed by the same SQLiteSpy version?

Tom

Other related posts: