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.



Reply via email to