-- -- news__revision_new/15 -- create or replace function news__revision_new( integer, timestamp with time zone, text, character varying, text, character varying, integer, timestamp with time zone, integer, timestamp with time zone, character varying, timestamp with time zone, character varying, integer, boolean ) returns int4 as $$ declare p_item_id alias for $1; -- p_publish_date alias for $2; -- default null p_text alias for $3; -- default null p_title alias for $4; -- -- here goes the revision log p_description alias for $5; -- p_mime_type alias for $6; -- default 'text/plain' p_package_id alias for $7; -- default null p_archive_date alias for $8; -- default null p_approval_user alias for $9; -- default null p_approval_date alias for $10; -- default null p_approval_ip alias for $11; -- default null -- p_creation_date alias for $12; -- default current_timestamp p_creation_ip alias for $13; -- default null p_creation_user alias for $14; -- default null -- p_make_active_revision_p alias for $15; -- default 'f' v_revision_id integer; begin -- create revision v_revision_id := content_revision__new( p_title, -- title p_description, -- description p_publish_date, -- publish_date p_mime_type, -- mime_type null, -- nls_language p_text, -- text p_item_id, -- item_id null, -- revision_id p_creation_date, -- creation_date p_creation_user, -- creation_user p_creation_ip -- creation_ip ); -- create new news entry with new revision insert into cr_news (news_id, package_id, archive_date, approval_user, approval_date, approval_ip) values (v_revision_id, p_package_id, p_archive_date, p_approval_user, p_approval_date, p_approval_ip); -- make active revision if indicated if p_make_active_revision_p = 't' then PERFORM news__revision_set_active(v_revision_id); end if; return v_revision_id; end; $$ language plpgsql; -- -- news__revision_new/16 -- create or replace function news__revision_new( p_item_id integer, p_publish_date timestamp with time zone, p_text text, p_title character varying, p_description text, p_mime_type character varying, p_package_id integer, p_archive_date timestamp with time zone, p_approval_user integer, p_approval_date timestamp with time zone, p_approval_ip character varying, p_creation_date timestamp with time zone, p_creation_ip character varying, p_creation_user integer, p_make_active_revision_p boolean, p_lead character varying ) returns int4 as $$ DECLARE v_revision_id integer; BEGIN -- create revision v_revision_id := content_revision__new( p_title, -- title p_description, -- description p_publish_date, -- publish_date p_mime_type, -- mime_type null, -- nls_language p_text, -- text p_item_id, -- item_id null, -- revision_id p_creation_date, -- creation_date p_creation_user, -- creation_user p_creation_ip, -- creation_ip null, -- content_length p_package_id -- package_id ); -- create new news entry with new revision insert into cr_news (news_id, lead, package_id, archive_date, approval_user, approval_date, approval_ip) values (v_revision_id, p_lead, p_package_id, p_archive_date, p_approval_user, p_approval_date, p_approval_ip); -- make active revision if indicated if p_make_active_revision_p = 't' then PERFORM news__revision_set_active(v_revision_id); end if; return v_revision_id; END; $$ language plpgsql;