|Title:||Compatibility break on INTEGER PRIMARY KEY columns.|
|Last Modified:||2016-04-18 15:58:37|
|Version Found In:|
drh added on 2016-04-18 15:24:18:
SQLite as always allowed the datatype of a column to be quoted. For example:
CREATE TABLE t1( a "INTEGER" PRIMARY KEY, b "TEXT" );
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.