On 3/17/16, Domingo Alvarez Duarte <sqlite-mail at dev.dadbiz.es> wrote: > Hello ! > > Hello I have an application that uses sqlite3_progress_handler to update a > gui application and when we do a "vacuum" on a big database the gui get > frozen, maybe vacuum should use different parameters to call > sqlite3_progress_handler I'm using actually: > > db.progress_handler(1000, sqlite3_progress_handler, this.weakref()); > > And with a 1000 as parameter it works fine for select. > > Sqlite3 is really calling sqlite3_progress_handler ? Or it's not > implemented > there ? >
Vacuum works by running a bunch of secondary SQL statements. Each of these secondaries has its own progress counter. So, in other words, the progress counter is not cumulative for a VACUUM. Maybe your 1000 is set to high and none of the many secondary SQL statements ever hit the limit. -- D. Richard Hipp drh at sqlite.org