We're experiencing a new, recurrent failure mode in an old (ie; not recently
changed) sqlite application. This may be associated with buggy networked
file system implementations (thanks to apple and/or microsoft)
The apparent problem is that indexes on a small table become corrupted
by not being unique. Except for the non-uniqueness of the index keys,
there's no apparent damage.
The facile explanation would be that a transaction to insert a new
record was executed twice, but the indexes were incorrectly maintained.
INSERT INTO "preference_table" VALUES('Picture Placer-707-1304b-19-Maranda
Richardson','scrollPos','0');
INSERT INTO "preference_table" VALUES('Picture Placer-707-1304b-19-Maranda
Richardson','nFill','0');
INSERT INTO "preference_table" VALUES('Picture Placer-707-1304b-19-Maranda
Richardson','placeInBW','0');
INSERT INTO "preference_table" VALUES('Picture Placer-707-1304b-19-Maranda
Richardson','DB_Subset','');
I suppose that this might be a sqlite bug if the "insert records" step
and the "maintain indexes" step were separated by a disk error and the
rollback of the failed transaction was incomplete.