Index: openacs-4/packages/workflow/sql/postgresql/upgrade/upgrade-1.2d1-1.2b2.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/workflow/sql/postgresql/upgrade/Attic/upgrade-1.2d1-1.2b2.sql,v diff -u -N --- openacs-4/packages/workflow/sql/postgresql/upgrade/upgrade-1.2d1-1.2b2.sql 11 Dec 2003 21:40:16 -0000 1.2 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,130 +0,0 @@ --- --- Fixes case deletion, which can now be done completely through cascading delete --- Also adds missing upgrade scripts from that bug fix --- --- @author Lars Pind (lars@collaboraid.biz) --- --- @cvs-id $Id: upgrade-1.2d1-1.2b2.sql,v 1.2 2003/12/11 21:40:16 jeffd Exp $ - -create or replace function workflow_case_pkg__delete (integer) -returns integer as ' -declare - delete_case_id alias for $1; - rec record; -begin - -- All workflow data cascades from the case id - delete from workflow_cases - where case_id = delete_case_id; - - return 0; -end;' language 'plpgsql'; - - - -create or replace function workflow_case_log_entry__new ( - integer, -- entry_id - varchar, -- content_type - integer, -- case_id - integer, -- action_id - varchar, -- comment - varchar, -- comment_mime_type - integer, -- creation_user - varchar -- creation_ip -) returns integer as ' -declare - p_item_id alias for $1; - p_content_type alias for $2; - p_case_id alias for $3; - p_action_id alias for $4; - p_comment alias for $5; - p_comment_mime_type alias for $6; - p_creation_user alias for $7; - p_creation_ip alias for $8; - - v_name varchar; - v_action_short_name varchar; - v_action_pretty_past_tense varchar; - v_case_object_id integer; - v_item_id integer; - v_revision_id integer; -begin - select short_name, pretty_past_tense - into v_action_short_name, v_action_pretty_past_tense - from workflow_actions - where action_id = p_action_id; - - -- use case object as context_id - select object_id - into v_case_object_id - from workflow_cases - where case_id = p_case_id; - - -- build the unique name - if p_item_id is not null then - v_item_id := p_item_id; - else - select nextval - into v_item_id - from acs_object_id_seq; - end if; - v_name := v_action_short_name || '' '' || v_item_id; - - v_item_id := content_item__new ( - v_item_id, -- item_id - v_name, -- name - v_case_object_id, -- parent_id - v_action_pretty_past_tense, -- title - now(), -- creation_date - p_creation_user, -- creation_user - v_case_object_id, -- context_id - p_creation_ip, -- creation_ip - ''t'', -- is_live - p_comment_mime_type, -- mime_type - p_comment, -- text - ''text'', -- storage_type - ''t'', -- security_inherit_p - ''CR_FILES'', -- storage_area_key - ''content_item'', -- item_subtype - p_content_type -- content_type - ); - - -- insert the row into the single-column entry revision table - select content_item__get_live_revision (v_item_id) - into v_revision_id; - - insert into workflow_case_log_rev (entry_rev_id) - values (v_revision_id); - - -- insert into workflow-case-log - insert into workflow_case_log (entry_id, case_id, action_id) - values (v_item_id, p_case_id, p_action_id); - - -- return id of newly created item - return v_item_id; -end;' language 'plpgsql'; - - --- Now change parent_id of existing cases - -create or replace function inline_0() returns integer as ' -declare - rec record; -begin - for rec in select c.object_id, - l.entry_id - from workflow_cases c, - workflow_case_log l - where c.case_id = l.case_id - loop - update cr_items - set parent_id = rec.object_id - where item_id = rec.entry_id; - end loop; - - return 0; -end;' language 'plpgsql'; - -select inline_0(); - -drop function inline_0(); -