Обсуждение: BUG #14448: create table as values - type check skipped
VGhlIGZvbGxvd2luZyBidWcgaGFzIGJlZW4gbG9nZ2VkIG9uIHRoZSB3ZWJz aXRlOgoKQnVnIHJlZmVyZW5jZTogICAgICAxNDQ0OApMb2dnZWQgYnk6ICAg ICAgICAgIEhhc3NhbiBNYWhtb29kCkVtYWlsIGFkZHJlc3M6ICAgICAgaG1h aG1vb2Q4OUBnb29nbGVtYWlsLmNvbQpQb3N0Z3JlU1FMIHZlcnNpb246IDku Ni4xCk9wZXJhdGluZyBzeXN0ZW06ICAgV2luZG93cyA3eDY0CkRlc2NyaXB0 aW9uOiAgICAgICAgCgpkcm9wIHRhYmxlIGlmIGV4aXN0cyBwcm9kdWN0X2Nv ZGVzOw0KY3JlYXRlIHRlbXBvcmFyeSB0YWJsZSBwcm9kdWN0X2NvZGVzICBh cyBzZWxlY3QgKg0KZnJvbSAoDQoJdmFsdWVzDQoJKCdhYmNkZWZnJzo6Y2hh cmFjdGVyIHZhcnlpbmcoMjApKSwNCgkoJzAxMjM0NTY3ODkwMTIzNDU2N0FC Q0RFRkdISUpLTE1OJykNCikgY3N2X2RhdGEgKHByb2R1Y3RfY29kZSk7DQpz ZWxlY3QgKg0KZnJvbSBwcm9kdWN0X2NvZGVzOw0KDQoNCkkgd291bGQgZXhw ZWN0IHRoYXQgdGhlIHR5cGUgY2hlY2sgZ290IGFwcGxpZWQgYWNyb3NzIGFs bCB2YWx1ZXMgb3IgdGhhdCB0aGUKdmFsdWUgZ290IHRydW5jYXRlZC4NCg0K VGhlIHJlc3VsdCBjb2x1bW4gc3RhdGVzICJjaGFyYWN0ZXIgdmFyeWluZygy MCkiLiBJbnNlcnRzL1VwZGF0ZXMvQ2FzdHMgYWxsCnRydW5jYXRlIGFzIGV4 cGVjdGVkLgoK
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