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

Reply via email to