-- -- download_rep__new/9 -- create or replace function download_rep__new( integer, character varying, character varying, character varying, timestamp with time zone, integer, integer, integer, character varying ) returns int4 as $$ declare new__repository_id alias for $1; new__title alias for $2; new__description alias for $3; new__help_text alias for $4; -- default null new__creation_date alias for $5; -- default now() new__creation_user alias for $6; -- default null new__parent_id alias for $7; -- default null new__context_id alias for $8; -- default null new__creation_ip alias for $9; -- default null v_name cr_items.name%TYPE; v_repository_id integer; v_revision_id integer; begin v_name := 'download_repository' || new__repository_id; select into v_repository_id content_item__new ( v_name, new__parent_id, new__repository_id, null, -- locale new__creation_date, new__creation_user, new__context_id, new__creation_ip, 'content_item', -- item_subtype 'cr_download_rep', new__title, new__description, 'text/plain', -- mime_type null, -- nls_language new__help_text, 'text' -- storage_type (vk - not sure about this) ); insert into download_repository (repository_id) values (new__repository_id); -- get the latest revision select into v_revision_id content_item__get_latest_revision (v_repository_id); -- make it live select into v_revision_id content_item__set_live_revision ( v_revision_id ); return v_repository_id; end;$$ language plpgsql;