SQLite version 3.7.2 is now available on the SQLite website:
http://www.sqlite.org/

SQLite version 3.7.2 fixes a single bug that was discovered just hours after
the release of 3.7.1.  The bug can result in corruption of the database
free-list after an incremental vacuum.  The bug had nothing whatsoever to do
with SQLite version 3.7.1 or any other recent release.  The problem had been
in the code for over a year, since version 3.6.16.  The discovery of the
problem so soon after the release of version 3.7.1 was purely coincidental.

The bug fixed in 3.7.2 can result in database corruption.  However, the
corruption caused by this bug can almost always be fixed simply by running
VACUUM on the database.  And the corruption will only occur in an
incrementally vacuumed database which at some point in time contains
hundreds of unused pages which are slowly released back to the operating
system by multiple calls to the incremental_vacuum PRAGMA.  Even then, one
must be particularly unlucky to hit the right combination of freed pages in
order to trigger the bug.  Hence the problem is quite obscure and was not
noticed for over a year.

Hundreds of lines of code where changed for version 3.7.2, but most of those
changes were to test procedures.  As is the custom with SQLite, not only was
the specific bug fixed, but new tests where put in place to detect and
prevent similar kinds of bugs elsewhere in the code.  We believe that one
should not just fix the bug, but also fix the process that generated the
bug. The only 4 working lines of code were changed for version 3.7.2:

     http://www.sqlite.org/src/fdiff?v1=2dff4076d3c994dc&v2=5047fb303cdf6806

Special thanks to Filip Navara for finding and reporting the problem with
incremental vacuum.

Please report any other problems to the sqlite-users@sqlite.org mailing
list, or directly to me.  Thanks.

-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to