On 4/4/16, Mike Bayer <classic at zzzcomputing.com> wrote:
> 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,
>

This could easily be considered a bug fix rather than a regression.
Please explain why you think it is important to know the "type" of a
column in a view?

There are further inconsistencies here.  Example:

    CREATE TABLE t1(x INTEGER);
    CREATE VIEW v1 AS SELECT x FROM t1;
    CREATE VIEW v2(x) AS SELECT x FROM t1;
    PRAGMA table_info('v1');
    PRAGMA table_info('v2');

As of version 3.12.0, the two pragma's give the same answer. but in
version 3.11.0, they were different.  Which of the two answers
returned by 3.11.0 is correct?

Or, consider this situation:

    CREATE TABLE t2(w SHORT INT, x DECIMAL, y BIGINT, z REAL);
    CREATE VIEW v3 AS SELECT w+x+y+z FROM t2;

What should "PRAGMA table_info('v3')" report as the column type?

It seems to me that the most consistent answer is that the "type" of
columns in a VIEW should always be an empty string.

-- 
D. Richard Hipp
drh at sqlite.org

Reply via email to