On Wed, Feb 8, 2012 at 11:53 AM, Leo Razoumov <[email protected]> wrote:

> On Wed, Feb 8, 2012 at 11:05, Richard Hipp <[email protected]> wrote:
> > Probably what happened is that you did some operation that created a
> large
> > "undo" stack, which was stored in the _FOSSIL_ file.  Then later, after
> the
> > undo expired, that space was freed.  If the space utilization is an issue
> > for you, you can do this:
> >
> >     sqlite3 _FOSSIL_ 'PRAGMA auto_vacuum=FULL; VACUUM;'
> >
> > And then the space will be automatically reclaimed in the future.
> >
>
> A cursory look into
> http://www.sqlite.org/pragma.html#pragma_auto_vacuum   puzzles me:
>
> " Auto-vacuuming is only possible if the database stores some
> additional information that allows each database page to be traced
> backwards to its referrer. Therefore, auto-vacuuming must be turned on
> before any tables are created. It is not possible to enable or disable
> auto-vacuum after a table has been created."
>
> Does VACUUM command also rebuild a database or it should be done
> separately?
>

The VACUUM command rebuilds the database.  That's why you have to run
VACUUM after doing "PRAGMA auto_vacuum=FULL" - to rebuild the database
using the new auto_vacuum setting.  Otherwise the PRAGMA will end up being
a no-op.



>
> --Leo--
>



-- 
D. Richard Hipp
[email protected]
_______________________________________________
fossil-users mailing list
[email protected]
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to