"wangs...@highgo.com.cn" <wangs...@highgo.com.cn> wrote: > I modified the code for this situation.I consider it very simple.
> It will does not modify the table file, when the scale has been > increased exclusively. This patch would allow data in a column which was not consistent with the column definition: test=# create table n (val numeric(5,2)); CREATE TABLE test=# insert into n values ('123.45'); INSERT 0 1 test=# select * from n; val -------- 123.45 (1 row) test=# alter table n alter column val type numeric(5,4); ALTER TABLE test=# select * from n; val -------- 123.45 (1 row) Without your patch the ALTER TABLE command gets this error (as it should): test=# alter table n alter column val type numeric(5,4); ERROR: numeric field overflow DETAIL: A field with precision 5, scale 4 must round to an absolute value less than 10^1. -- Kevin Grittner EDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers