On 27 Sep 2011 at 00:19, Simon Slavin <slav...@bigfraud.org> wrote: > 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.
Ah, thanks, that's a good clue. I can do some work in that area to ensure that the VACUUMs are done at a quiet moment. >> 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 ? No, that's the odd part. But I'll check back through my logs. Thanks for the help. -- Cheers -- Tim
_______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users