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