Does the "undolog" table, or whatever you're using in its place, have  
a primary key?

On Mar 20, 2009, at 1:20 PM, Damien Elmes wrote:

> Well, those 3 x the number of tables in the Db.
>
> On Fri, Mar 20, 2009 at 3:17 PM, Damien Elmes <reso...@ichi2.net>  
> wrote:
>> Yep - but only the three listed on this page:
>>
>> http://www.sqlite.org/cvstrac/wiki?p=UndoRedo
>>
>> So they shouldn't be modifying anything in the main DB, only the  
>> temporary DB.
>>
>> On Fri, Mar 20, 2009 at 3:13 PM, Dan <danielk1...@gmail.com> wrote:
>>>
>>> On Mar 20, 2009, at 8:10 AM, Damien Elmes wrote:
>>>
>>>> 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?
>>>
>>> Triggers?
>>>
>>>
>>>>
>>>>
>>>> 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
>>>
>>> _______________________________________________
>>> sqlite-users mailing list
>>> sqlite-users@sqlite.org
>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>>
>>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to