postgresql7.1 select case when exists (select 1 from acs_object_types t1, acs_object_types t2, group_type_rels g where g.group_id = :group_id and t2.object_type <> g.rel_type and t1.object_type in ('membership_rel','composition_rel') and t2.tree_sortkey between t1.tree_sortkey and tree_right(t1.tree_sortkey) ) then 1 else 0 end select case when exists (select 1 from acs_object_types t1, acs_object_types t2, group_type_rels g where g.group_type = :group_type and t2.object_type <> g.rel_type and t1.object_type in ('membership_rel','composition_rel') and t2.tree_sortkey between t1.tree_sortkey and tree_right(t1.tree_sortkey) ) then 1 else 0 end select acs_rel_type__drop_type(:rel_type, 'f') select acs_rel_type__create_type ( :rel_type, :pretty_name, :pretty_plural, :supertype, :table_name, 'rel_id', :package_name, :object_type_one, :role_one, :min_n_rels_one, :max_n_rels_one, :object_type_two, :role_two, :min_n_rels_two, :max_n_rels_two, :composable_p ); select acs_rel_type__create_role(:role, :pretty_name, :pretty_plural) select acs_rel_type__drop_role(:role)