SQLite User Forum

Integrity check failures on Mac OS
Login

Integrity check failures on Mac OS

(1) By anonymous on 2022-10-26 19:43:13 [source]

I work as technical support for a database software company that uses the SQLite engine in our software. We have both Windows and native Mac versions of the software. We often recommend our users run our Database Tools which include the Integrity Check. However, we have found that the Mac version does not find errors in the file that the Windows version does find. Databases do work cross platform. This seems to be an error in the Mac SQLite engine that does not find and fix these missing line errors that the Windows version finds. Can this be checked out?

(2) By Donald Griggs (dfgriggs) on 2022-10-26 20:27:39 in reply to 1 [link] [source]

I'm not on the development team, but I suspect they would have advice that would include some of the following.

It may well be that the Windows and Mac versions you are comparing are using different versions of sqlite. You'd want to be sure you're not comparing apples to oranges. If they are the same, you'll want to post the precise version, then retry with most recent version (for both).

Do you have the same symptom using the official command line interface program (CLI) as downloaded from https://www.sqlite.org/download.html (rather than your own database tools) ?

Have you double-checked that the two files are byte-for-byte identical? (E.g. same hash)

If you're certain the files hash to the same value, you're using the same official CLI for the current version of sqlite, and you've posted here your Windows and Mac screen pastes that show this, then is the file private or can it have a public link from a site like Google Drive or Dropbox, etc. ?

If the database is private, (and you've previously posted the evidence above) then perhaps you can send a private link to the developers after agreeing to non-disclosure.

Hope this is of help, Donald

(3) By Simon Slavin (slavin) on 2022-10-27 12:48:53 in reply to 1 [link] [source]

In Mac and Windows versions of your software (or write a special test program which uses the same toolchain), what is the result of

SELECT sqlite_version() AS version

? The command returns a one row one column table containing text value, so handle it however your development platform would handle that.

How do both versions get their SQLite APIs ? Are you compiling SQLite into your programs ? Or are you using SQLite libraries compiled into your development platforms ? Or are you somehow accessing SQLite libraries which you expect to find already existing as part of your user's operating systems ?

(4) By anonymous on 2022-10-27 14:57:50 in reply to 2 [link] [source]

Databases are the same, restored from the same backup file, compressed with ,ZIP compression. Our database tools are Check Integrity, Rebuild Indexes, Remove Phanton Records, and Compact file. Those tools do use the CLI in their calls. Our Development team checked the command lines in the program that they are the same, and they could duplicate the issue. Our development uses Delphi for writing and compiling the program.

(5) By Keith Medcalf (kmedcalf) on 2022-10-27 16:58:19 in reply to 4 [link] [source]

Executing the command .version in the CLI will tell you what version it is.