Rewriting existing table tuples on alter type
Started by Rikard Pavelicover 13 years ago2 messages
How hard would it be to rewrite table content on composite attribute type change?
For simple use cases:
create type complex as (i int, j int);
create table numbers (c complex);
insert into numbers values(row(1,2));
I can work around
alter complex from int to bigint
"fairly" easy with
alter type complex add attribute _tmp_i bigint;
--loop for each table
update numbers set c._tmp_i = (c).i;
--end loop
alter type complex drop attribute i;
alter type complex rename attribute _tmp_i to i;
I can "easily" work with deep nested types, but things starts to get PITA when there is
array involved because I need to unroll it and pack it again.
Regards,
Rikard