(text/x-fossil-wiki)
SQLite as always allowed the datatype of a column to be quoted. For
example:
<blockquote><verbatim>
CREATE TABLE t1(
a "INTEGER" PRIMARY KEY,
b "TEXT"
);
</verbatim></blockquote>
But beginning with version 3.12.0, quoting the "INTEGER" datatype causes
SQLite to fail to recognize that the column is the INTEGER PRIMARY KEY that
has special properties. This means that legacy database files that were
created using INTEGER PRIMARY KEYs where the "INTEGER" keywords was quoted
become unreadable.
The fact that legacy versions of SQLite allowed datatype names to be quoted
is undocumented and untested, and was a fact unknown to the developers,
which is how this problem managed to slip through testing.
|