-- -- bt_bug__new/13 -- create or replace function bt_bug__new( integer, integer, integer, character varying, integer, integer, integer, character varying, text, character varying, character varying, integer, character varying ) returns int4 as $$ declare p_bug_id alias for $1; p_project_id alias for $2; p_component_id alias for $3; p_bug_type alias for $4; p_severity alias for $5; p_priority alias for $6; p_found_in_version alias for $7; p_summary alias for $8; p_description alias for $9; p_desc_format alias for $10; p_user_agent alias for $11; p_creation_user alias for $12; p_creation_ip alias for $13; v_bug_id integer; v_bug_number integer; v_assignee integer; v_action_id integer; begin v_assignee := bt_component__default_assignee(p_component_id); v_bug_id := acs_object__new( p_bug_id, -- object_id 'bt_bug', -- object_type now(), -- creation_date p_creation_user, -- creation_user p_creation_ip, -- creation_ip p_project_id, -- context_id 't' -- security_inherit_p ); select coalesce(max(bug_number),0) + 1 into v_bug_number from bt_bugs where project_id = p_project_id; insert into bt_bugs (bug_id, project_id, component_id, bug_number, bug_type, severity, assignee, priority, found_in_version, summary, user_agent) values (v_bug_id, p_project_id, p_component_id, v_bug_number, p_bug_type, p_severity, v_assignee, p_priority, p_found_in_version, p_summary, p_user_agent); select nextval('t_acs_object_id_seq') into v_action_id; insert into bt_bug_actions (action_id, bug_id, action, actor, comment, comment_format) values (v_action_id, v_bug_id, 'open', p_creation_user, p_description, p_desc_format); return 0; end; $$ language plpgsql; -- -- bt_bug__new/14 -- create or replace function bt_bug__new( integer, integer, integer, integer, integer, character varying, character varying, text, character varying, timestamp with time zone, integer, character varying, character varying, character varying ) returns int4 as $$ declare p_bug_id alias for $1; p_bug_number alias for $2; p_package_id alias for $3; p_component_id alias for $4; p_found_in_version alias for $5; p_summary alias for $6; p_user_agent alias for $7; p_comment_content alias for $8; p_comment_format alias for $9; p_creation_date alias for $10; p_creation_user alias for $11; p_creation_ip alias for $12; p_item_subtype alias for $13; p_content_type alias for $14; v_bug_id integer; v_revision_id integer; v_bug_number integer; v_folder_id integer; begin -- get the content folder for this instance select folder_id into v_folder_id from bt_projects where project_id = p_package_id; -- get bug_number if p_bug_number is null then select coalesce(max(bug_number),0) + 1 into v_bug_number from bt_bugs where parent_id = v_folder_id; else v_bug_number := p_bug_number; end if; -- create the content item v_bug_id := content_item__new( v_bug_number::varchar, -- name v_folder_id, -- parent_id p_bug_id, -- item_id null, -- locale p_creation_date, -- creation_date p_creation_user, -- creation_user v_folder_id, -- context_id p_creation_ip, -- creation_ip p_item_subtype, -- item_subtype p_content_type, -- content_type null, -- title null, -- description null, -- mime_type null, -- nls_language null -- data ); -- create the item type row insert into bt_bugs (bug_id, bug_number, comment_content, comment_format, parent_id, project_id, creation_date, creation_user) values (v_bug_id, v_bug_number, p_comment_content, p_comment_format, v_folder_id, p_package_id, p_creation_date, p_creation_user); -- create the initial revision v_revision_id := bt_bug_revision__new( null, -- bug_revision_id v_bug_id, -- bug_id p_component_id, -- component_id p_found_in_version, -- found_in_version null, -- fix_for_version null, -- fixed_in_version null, -- resolution p_user_agent, -- user_agent p_summary, -- summary p_creation_date, -- creation_date p_creation_user, -- creation_user p_creation_ip -- creation_ip ); return v_bug_id; end; $$ language plpgsql; -- -- bt_bug__new/15 -- create or replace function bt_bug__new( integer, integer, integer, integer, integer, character varying, character varying, text, character varying, timestamp with time zone, integer, character varying, integer, character varying, character varying ) returns int4 as $$ declare p_bug_id alias for $1; p_bug_number alias for $2; p_package_id alias for $3; p_component_id alias for $4; p_found_in_version alias for $5; p_summary alias for $6; p_user_agent alias for $7; p_comment_content alias for $8; p_comment_format alias for $9; p_creation_date alias for $10; p_creation_user alias for $11; p_creation_ip alias for $12; p_fix_for_version alias for $13; p_item_subtype alias for $14; p_content_type alias for $15; v_bug_id integer; v_revision_id integer; v_bug_number integer; v_folder_id integer; begin -- get the content folder for this instance select folder_id into v_folder_id from bt_projects where project_id = p_package_id; -- get bug_number if p_bug_number is null then select coalesce(max(bug_number),0) + 1 into v_bug_number from bt_bugs where parent_id = v_folder_id; else v_bug_number := p_bug_number; end if; -- create the content item v_bug_id := content_item__new( v_bug_number::varchar, -- name v_folder_id, -- parent_id p_bug_id, -- item_id null, -- locale p_creation_date, -- creation_date p_creation_user, -- creation_user v_folder_id, -- context_id p_creation_ip, -- creation_ip p_item_subtype, -- item_subtype p_content_type, -- content_type null, -- title null, -- description null, -- mime_type null, -- nls_language null -- data ); -- create the item type row insert into bt_bugs (bug_id, bug_number, comment_content, comment_format, parent_id, project_id, creation_date, creation_user, fix_for_version) values (v_bug_id, v_bug_number, p_comment_content, p_comment_format, v_folder_id, p_package_id, p_creation_date, p_creation_user, p_fix_for_version); -- create the initial revision v_revision_id := bt_bug_revision__new( null, -- bug_revision_id v_bug_id, -- bug_id p_component_id, -- component_id p_found_in_version, -- found_in_version p_fix_for_version, -- fix_for_version null, -- fixed_in_version null, -- resolution p_user_agent, -- user_agent p_summary, -- summary p_creation_date, -- creation_date p_creation_user, -- creation_user p_creation_ip, -- creation_ip ); return v_bug_id; end; $$ language plpgsql;