Unfortunately, a user has just reported the same primary key error message with shared cache disabled, although the freezing appears to have been fixed.
However, when I ask the user to send me their deck, I find that: sqlite> pragma integrity_check; integrity_check --------------- ok sqlite> select id, count(id) from cards group by id having count(id) > 1; sqlite> Any ideas? On Fri, Mar 20, 2009 at 10:00 AM, Damien Elmes <reso...@ichi2.net> wrote: > Hi all, > > Some of my users have been reporting strange database problems > recently, which seem to have gone away when I removed a call to > enable_shared_cache(). The problems were noticeable in at least 3.6.1 > and 3.6.11, when using databases of 30MB+, and doing large updates > using pysqlite. > > There were two distinct reported problems. One was that the program > would just freeze, with no disk access and CPU usage, seemingly in the > middle of a DB query, on Win32. I wasn't able to reproduce this on > Linux. > > The other problem was reported by both win32 and mac users, and again > I wasn't able to reproduce it. It resulted in errors like this: > > sqlalchemy.exceptions.IntegrityError: (IntegrityError) PRIMARY KEY > must be unique 'update cards set isDue = 0 where type in (0,1,2) and > priority = 0 and isDue = 1' {} > > .. which is strange, because the primary key on that table is called > 'id' and is not affected by the update call. > > I also had some reports of DB corruption on OSX, but I'm not sure if > that occurred since I upgrade to 3.6.11. > > One other hint is that while I'd been using shared cache mode for at > least 6 months or more, these problems seem to have only surfaced > recently. I'm not sure if that's due to a change in the queries I've > been doing, or the fact that I changed the cache size to a bigger > number, and changed the page size to 4096. > > Anyway, disabling the shared cache appears to have fixed the problem, > and since my program is single threaded and has no need for the shared > cache, it's not an issue for us anymore. But I thought it's worth > reporting. Have there been any other instances of problems with the > shared cache mode? > > Cheers, > > Damien > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users