On Sunday 08 August 2004 3:53 pm, Scott Leighton wrote: > On Sunday 08 August 2004 3:42 pm, D. Richard Hipp wrote: > > You should start looking for problems. The -journal file should be > > deleted the moment a transaction commits. In fact, transaction commit is > > defined as the moment when the journal file is deleted. If the journal > > is never deleted, then the commit never occurs. > > Thanks, I was afraid of that. Off to search for the cause..... >
OK, I've located my problem. I think I need a better understanding of the 'locking'. Looks like my commits are failing due to earlier statements remaining 'in progress'. What I don't understand is this 'database table is locked' stuff. This is a single process (no threads) accessing the database, what is locking it? A previous SQL statement that hasn't finished or something? The identical code worked fine with SQLite 2.8.x so the problem has to be something related to the change in locking in 3.x.x but I'm not seeing it. BTW, this is using the just release 3.04 version. Scott POPFile Engine v0.21.1 running DBD::SQLite::st execute failed: database table is locked(1) at dbdimp.c line 371 at /usr/local/bin/popfile/Classifier/Bayes.pm line 2916. DBD::SQLite::st execute failed: database table is locked(1) at dbdimp.c line 371 at /usr/local/bin/popfile/Classifier/Bayes.pm line 2916. DBD::SQLite::st execute failed: database table is locked(1) at dbdimp.c line 371 at /usr/local/bin/popfile/Classifier/Bayes.pm line 2916. DBD::SQLite::st execute failed: database table is locked(1) at dbdimp.c line 371 at /usr/local/bin/popfile/Classifier/Bayes.pm line 2916. DBD::SQLite::db commit failed: cannot commit transaction - SQL statements in progress(1) at dbdimp.c line 540 at /usr/local/bin/popfile/Classifier/Bayes.pm line 1289. DBD::SQLite::db begin_work failed: Already in a transaction at /usr/local/bin/popfile/Classifier/Bayes.pm line 1260. DBD::SQLite::db commit failed: cannot commit transaction - SQL statements in progress(1) at dbdimp.c line 203 at /usr/local/bin/popfile/Classifier/Bayes.pm line 1289. DBD::SQLite::st execute failed: database table is locked(1) at dbdimp.c line 371 at /usr/local/bin/popfile/Classifier/Bayes.pm line 2916. DBD::SQLite::st execute failed: database table is locked(1) at dbdimp.c line 371 at /usr/local/bin/popfile/Classifier/Bayes.pm line 2916. DBD::SQLite::st execute failed: database table is locked(1) at dbdimp.c line 371 at /usr/local/bin/popfile/Classifier/Bayes.pm line 2916. DBD::SQLite::st execute failed: database table is locked(1) at dbdimp.c line 371 at /usr/local/bin/popfile/Classifier/Bayes.pm line 2916. helphand:/var/log/popfile # -- POPFile, the OpenSource EMail Classifier http://popfile.sourceforge.net/ Linux 2.6.5-7.104-default x86_64