Version 3.1.6 of SQLite is now available on the website.
This release fixes a critical bug that has been present
since version 3.0.0.  When constructing a record to insert
into a table, if that header of that record was exactly
129 bytes in length, the length of the header was recorded
as being only 128 bytes.  This would result in a corrupt
database file.

The length of a record header is roughly equal to the number
of columns in the table, in most cases.  Or the length might
be a few bytes more - depending on the row content.  So in
order for the header length to come out to exactly 129 bytes,
you would need to have a table with around 125 columns.
SQLite is tested on tables with thousands of columns, but we never
before tested on a table with just the right number of columns
so this bug has gone undetected until now.  Note that unless
you are of a habit of constructing very wide tables, this
error will probably not effect you.  But upgrading is still
a good idea.
-- 
D. Richard Hipp <[EMAIL PROTECTED]>

Reply via email to