System.Data.SQLite

Login
This project makes use of Eagle, provided by Mistachkin Systems.
Eagle: Secure Software Automation
Ticket Hash: 9c41399a28a30e645adc2e984571be4f43fcda4a
Title: PRAGMA integrity_check; doesn't catch file corruption
Status: Closed Type: Code_Defect
Severity: Important Priority: Medium
Subsystem: Native_Assembly Resolution: External_Bug
Last Modified: 2017-10-16 03:05:20
Version Found In: 3.20.1
User Comments:
anonymous added on 2017-09-04 09:03:51: (text/html)
I have a database where “PRAGMA integrity_check;” returns ok in sqlite3.exe and sqlite3.dll.

The database can be downloaded here: https://schneider-electric.box.com/s/nwx5k8h7xa0l0gufs7o8vo2u3xptiq2f

Integrity check gives ok, but the following query shows there’s a file corruption

SELECT * FROM t_7E_2FSystem_2FEvents_2FEventLog_2FEventRecords  ORDER BY TimeStamp DESC

dan added on 2017-09-04 21:03:11: (text/x-fossil-plain)
Thanks for this.

The corruption is inside a table record, in the "size" field of a non-indexed column. Which integrity-check doesn't currently look for. It could - and we'll look into whether or not it should - but there are other, similar types of corruption that are not possible to detect. If a few characters in the middle of a text value are exchanged for example.

mistachkin added on 2017-10-16 03:05:20: (text/x-fossil-plain)
Fixed upstream.