--
-- 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;