On 26 Sep 2011, at 11:32pm, Tim Streater wrote:

> For the most part it's going to be SELECT, INSERT, UPDATE, BEGIN, COMMIT. 
> Less often, there's VACUUM. Let me have a look at my logs - OK, when I got 
> the error today, there was a thread doing a VACUUM on the db which got the 
> error (within a few seconds, in terms of the log timestamps). The SQL 
> statement being done when the error was reported was in fact:

>  update uids set uid_date='1317028381',rec_date='1317002026' where 
> uid='UID3335-1298893761'

I believe that VACUUM is one of the statements which counts as changing the 
schema, because it does its work by rewriting entire tables and/or indexes.  So 
don't do a VACUUM when you're doing multi-process access.  Cut out the VACUUMs 
and see whether you still get this result code.

> But, very often the database on which the error occurs is :memory: - and I 
> guess each thread will have its own one of those.

Are you doing concurrent access to your :memory: databases ?

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

Reply via email to