The "type" column in PRAGMA table_info() is now a blank string when the
target object is a view in 3.12.0. In 3.11.0 and prior versions, the
typing information is returned,
Version 3.11.0:
SQLite version 3.11.0 2016-02-15 17:29:24
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> CREATE TABLE users (
...> user_id INTEGER NOT NULL
...> );
sqlite> CREATE VIEW users_v AS SELECT * FROM users;
sqlite> PRAGMA table_info("users_v");
0|user_id|INTEGER|0||0
Version 3.12.0:
SQLite version 3.12.0 2016-03-29 10:14:15
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> CREATE TABLE users (
user_id INTEGER NOT NULL
)
...> ...> ...> ;
sqlite> CREATE VIEW users_v AS SELECT * FROM users;
sqlite> PRAGMA table_info("users_v");
0|user_id||0||0
if it is by design that views no longer carry typing information, this
is a major behavioral change and no mention of it occurs in the release
notes for 3.12.0, so at the very least this change should be documented
if expected.