postgresql7.1 select acs_object_type__drop_type('$group_type', 'f'); select acs_object_type__create_type ( :group_type, :pretty_name, :pretty_plural, :supertype, :table_name, :id_column, :package_name, 'f', null, null ) begin update acs_object_types set dynamic_p='t' where object_type = :group_type; return null; end; begin insert into group_type_rels (group_rel_type_id, rel_type, group_type) select nextval('t_acs_object_id_seq'), r.rel_type, :group_type from group_type_rels r where r.group_type = :supertype; return null; end; select case when exists (select 1 from pg_proc where proname like :package_name || '%') then 1 else 0 end select drop_package(:group_type) select acs_object_type__drop_type(:group_type, 'f')