drh added on 2013-05-15 13:23:33:
If a database schema uses an application-defined collating sequence, and
an instance of SQLite is run on that database that does not have the
necessary collating sequence defined, then the "REINDEX" and
"PRAGMA integrity_check" commands run without generating an error
and substitute the built-in BINARY
collating sequence in place of the application-defined collating sequence.
Running the REINDEX command this way corrupts the index (though the
corruption can be reversed by rerunning REINDEX in a new database connection
where the application-defined collating sequence has been defined).
Running PRAGMA integrity_check this way results in spurious errors.
This problem appears to have been introduced by check-in
[8542e6180d4321d] and first appeared in release 3.7.15.