-- -- content_item__edit_name/2 -- create or replace function content_item__edit_name( integer, character varying ) returns int4 as $$ declare edit_name__item_id alias for $1; edit_name__name alias for $2; exists_id integer; begin select item_id into exists_id from cr_items where name = edit_name__name and parent_id = (select parent_id from cr_items where item_id = edit_name__item_id); if NOT FOUND then update cr_items set name = edit_name__name where item_id = edit_name__item_id; else if exists_id != edit_name__item_id then raise EXCEPTION '-20000: An item with the name % already exists in this directory.', edit_name__name; end if; end if; return 0; end;$$ language plpgsql;