Can you send me the moz_places.sqlite file you are using to my private
email?  Or get it to me by some other means.  So that we can try to
reproduce this?

On 11/2/16, Ben Hearsum <bhear...@mozilla.com> wrote:
> Hi there,
>
> I recently had an issue with an index in a large-ish (>100,000 rows) table
> becoming corrupted. I tried to issue a REINDEX on it, but it complained of
> duplicated values. I dug into that a bit, and couldn't find any duplicate
> entries:
> sqlite> select count(*) from moz_places;
> 100575
> sqlite> select count(distinct guid) from moz_places;
> 100575
> sqlite> select guid from moz_places group by guid having count(*) >1;
> sqlite>
>
> I then tried to bisect to find which entry was actually causing a problem by
> creating a new table + index:
> CREATE TABLE moz_places_bhearsum  (   id INTEGER PRIMARY KEY, url
> LONGVARCHAR, title LONGVARCHAR, rev_host LONGVARCHAR, visit_count INTEGER
> DEFAULT 0, hidden INTEGER DEFAULT 0 NOT NULL, typed INTEGER DEFAULT 0 NOT
> NULL, favicon_id INTEGER, frecency INTEGER DEFAULT -1 NOT NULL,
> last_visit_date INTEGER , guid TEXT, foreign_count INTEGER DEFAULT 0 NOT
> NULL, url_hash INTEGER DEFAULT 0 NOT NULL);
> sqlite> CREATE UNIQUE INDEX moz_places_bhearsum_guid_uniqueindex ON
> moz_places_bhearsum (guid);
>
> I then did some inserts, and discovered that the order in which the rows are
> inserted appears to be affecting the uniqueness of the index:
> sqlite> insert into moz_places_bhearsum select * from moz_places order by
> guid;
> sqlite> reindex moz_places_bhearsum;
> sqlite> delete from moz_places_bhearsum;
> sqlite> insert into moz_places_bhearsum select * from moz_places;
> sqlite> reindex moz_places_bhearsum;
> Error: UNIQUE constraint failed: moz_places_bhearsum.guid
>
>
> Is this a real bug, or am I misunderstanding something about the way things
> are supposed to work?
>
> - Ben
>


-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to