Обсуждение: numerics lose scale and precision in views of unions

Поиск
Список
Период
Сортировка

numerics lose scale and precision in views of unions

От
"Brian C. DeRocher"
Дата:
It appears that when you create a view of a union, numeric data types
loose their scale and precision.

db=3D> create table t1 (c1 numeric(4,2));
CREATE TABLE

db=3D> create view v1 as select c1 from t1;
CREATE VIEW

db=3D> \d v1
          View "brian.v1"
 Column |     Type     | Modifiers
--------+--------------+-----------
 c1     | numeric(4,2) |
View definition:
 SELECT t1.c1
   FROM t1;


db=3D> create view v2 as select c1 from t1 union select c1 from t1;
CREATE VIEW
db=3D> \d v2
       View "brian.v2"
 Column |  Type   | Modifiers
--------+---------+-----------
 c1     | numeric |
View definition:
 SELECT t1.c1
   FROM t1
UNION
 SELECT t1.c1
   FROM t1;

db=3D> create view v3 as select c1::numeric(4,2) from t1 union select c1::n=
umeric(4,2) from t1;
CREATE VIEW

db=3D> \d v3
       View "brian.v3"
 Column |  Type   | Modifiers
--------+---------+-----------
 c1     | numeric |
View definition:
 SELECT t1.c1
   FROM t1
UNION
 SELECT t1.c1
   FROM t1;


--=20
Brian C. DeRocher @ Mitretek Systems
This email was signed using OpenPGP.

Re: numerics lose scale and precision in views of unions

От
Tom Lane
Дата:
"Brian C. DeRocher" <brian.derocher@mitretek.org> writes:
> It appears that when you create a view of a union, numeric data types
> loose their scale and precision.

I think this is the same issue discussed here:
http://archives.postgresql.org/pgsql-hackers/2004-12/msg00408.php

That was just before 8.0 release, so the change got postponed and then
seems to have slipped through the cracks :-(.  Any objections to
fixing it for 8.2?
        regards, tom lane