BUG #14448: create table as values - type check skipped
The following bug has been logged on the website:
Bug reference: 14448
Logged by: Hassan Mahmood
Email address: hmahmood89@googlemail.com
PostgreSQL version: 9.6.1
Operating system: Windows 7x64
Description:
drop table if exists product_codes;
create temporary table product_codes as select *
from (
values
('abcdefg'::character varying(20)),
('012345678901234567ABCDEFGHIJKLMN')
) csv_data (product_code);
select *
from product_codes;
I would expect that the type check got applied across all values or that the
value got truncated.
The result column states "character varying(20)". Inserts/Updates/Casts all
truncate as expected.
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
hmahmood89@googlemail.com writes:
create temporary table product_codes as select *
from (
values
('abcdefg'::character varying(20)),
('012345678901234567ABCDEFGHIJKLMN')
) csv_data (product_code);
select *
from product_codes;
I would expect that the type check got applied across all values or that the
value got truncated.
The result column states "character varying(20)". Inserts/Updates/Casts all
truncate as expected.
Hmm. I'm not sure whether that VALUES construct should be expected to
produce varchar(20) or just unrestricted varchar, but I agree that if
it claims to produce varchar(20) then the results should all meet that
limit. Will look into it, thanks for the report!
regards, tom lane
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs