Index: openacs-4/packages/acs-events/sql/oracle/acs-events-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-events/sql/oracle/acs-events-create.sql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-events/sql/oracle/acs-events-create.sql 9 Feb 2002 02:33:35 -0000 1.2 +++ openacs-4/packages/acs-events/sql/oracle/acs-events-create.sql 8 Mar 2002 22:30:11 -0000 1.3 @@ -68,6 +68,13 @@ ); attr_id := acs_attribute.create_attribute ( object_type => 'acs_event', + attribute_name => 'status_summary', + pretty_name => 'Status Summary', + pretty_plural => 'Status Summaries', + datatype => 'string' + ); + attr_id := acs_attribute.create_attribute ( + object_type => 'acs_event', attribute_name => 'html_p', pretty_name => 'HTML?', pretty_plural => '', @@ -114,12 +121,14 @@ -- acs_event.get_name() -- acs_event.get_description() -- acs_event.get_html_p() + -- acs_event.get_status_summary() -- name varchar2(255), description varchar2(4000), -- is the event description written in html html_p char(1) constraint acs_events_html_p_ck check(html_p in ('t','f')), + status_summary varchar2(255), -- -- The following three columns encapsulate the remaining attributes of an Event: -- the activity that takes place during the event, its timespan (a collection of time @@ -176,6 +185,14 @@ The description of the event. '; +comment on column acs_events.html_p is ' + Whether or not the description is in HTML. +'; + +comment on column acs_events.status_summary is ' + Additional information to display along with the name. +'; + comment on column acs_events.timespan_id is ' The time span associated with this event. '; @@ -232,6 +249,7 @@ nvl(e.name, a.name) as name, nvl(e.description, a.description) as description, nvl(e.html_p, a.html_p) as html_p, + nvl(e.status_summary, a.status_summary) as status_summary, e.activity_id, timespan_id, recurrence_id @@ -240,8 +258,8 @@ where e.activity_id = a.activity_id; comment on table acs_events_activities is ' - This view pulls the event name and description from the underlying - activity if necessary. + This view pulls the event name, description and status_summary + from the underlying activity if necessary. '; -- These views should make it easier to find recurrences that @@ -294,6 +312,8 @@ -- -- get_name () -- get_description () +-- get_html_p () +-- get_status_summary () -- -- timespan_set (timespan_id) -- activity_set (activity_id) @@ -321,6 +341,8 @@ -- @param event_id optional id to use for new event -- @param name optional Name of the new event -- @param description optional Description of the new event + -- @param html_p optional Description is html + -- @param status_summary optional status information to add to name -- @param timespan_id optional initial time interval set -- @param activity_id optional initial activity -- @param recurrence_id optional id of recurrence information @@ -335,6 +357,7 @@ name in acs_events.name%TYPE default null, description in acs_events.description%TYPE default null, html_p in acs_events.html_p%TYPE default null, + status_summary in acs_events.status_summary%TYPE default null, timespan_id in acs_events.timespan_id%TYPE default null, activity_id in acs_events.activity_id%TYPE default null, recurrence_id in acs_events.recurrence_id%TYPE default null, @@ -399,6 +422,15 @@ event_id in acs_events.event_id%TYPE ) return acs_events.html_p%TYPE; + function get_status_summary ( + -- Returns status_summary or status_summary of the activity associated with the event if + -- status_summary is null. + -- @author W. Scott Meeks + -- @param event_id id of event to get status_summary for + -- + event_id in acs_events.event_id%TYPE + ) return acs_events.status_summary%TYPE; + procedure timespan_set ( -- Sets the time span for an event (20.10.15) -- @author W. Scott Meeks @@ -533,6 +565,7 @@ name in acs_events.name%TYPE default null, description in acs_events.description%TYPE default null, html_p in acs_events.html_p%TYPE default null, + status_summary in acs_events.status_summary%TYPE default null, timespan_id in acs_events.timespan_id%TYPE default null, activity_id in acs_events.activity_id%TYPE default null, recurrence_id in acs_events.recurrence_id%TYPE default null, @@ -555,9 +588,9 @@ ); insert into acs_events - (event_id, name, description, html_p, activity_id, timespan_id, recurrence_id) + (event_id, name, description, html_p, status_summary, activity_id, timespan_id, recurrence_id) values - (new_event_id, name, description, html_p, activity_id, timespan_id, recurrence_id); + (new_event_id, name, description, html_p, status_summary, activity_id, timespan_id, recurrence_id); return new_event_id; end new; @@ -658,6 +691,20 @@ return html_p; end get_html_p; + function get_status_summary ( + event_id in acs_events.event_id%TYPE + ) return acs_events.status_summary%TYPE + is + status_summary acs_events.status_summary%TYPE; + begin + select nvl(e.status_summary, a.status_summary) into status_summary + from acs_events e, acs_activities a + where event_id = get_status_summary.event_id + and e.activity_id = a.activity_id(+); + + return status_summary; + end get_status_summary; + procedure timespan_set ( event_id in acs_events.event_id%TYPE, timespan_id in timespans.timespan_id%TYPE @@ -774,6 +821,8 @@ new_event_id := new( name => event.name, description => event.description, + html_p => event.html_p, + status_summary => event.status_summary, timespan_id => new_timespan_id, activity_id => event.activity_id, recurrence_id => event.recurrence_id, Index: openacs-4/packages/acs-events/sql/oracle/activity-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-events/sql/oracle/activity-create.sql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-events/sql/oracle/activity-create.sql 13 Jul 2001 02:00:30 -0000 1.1 +++ openacs-4/packages/acs-events/sql/oracle/activity-create.sql 8 Mar 2002 22:30:11 -0000 1.2 @@ -45,6 +45,14 @@ pretty_plural => 'HTML?', datatype => 'string' ); + + attr_id := acs_attribute.create_attribute ( + object_type => 'acs_activity', + attribute_name => 'status_summary', + pretty_name => 'Status Summary', + pretty_plural => 'Status Summaries', + datatype => 'string' + ); end; / show errors @@ -63,7 +71,8 @@ -- is the activity description written in html? html_p char(1) constraint acs_activities_html_p_ck - check(html_p in ('t','f')) + check(html_p in ('t','f')), + status_summary varchar2(255) ); comment on table acs_activities is ' @@ -93,6 +102,8 @@ -- @param activity_id optional id to use for new activity -- @param name Name of the activity -- @param description optional description of the activity + -- @param html_p optional description is html + -- @param status_summary optional additional status to display -- @param object_type 'acs_activity' -- @param creation_date default sysdate -- @param creation_user acs_object param @@ -104,6 +115,7 @@ name in acs_activities.name%TYPE, description in acs_activities.description%TYPE default null, html_p in acs_activities.html_p%TYPE default 'f', + status_summary in acs_activities.status_summary%TYPE default null, object_type in acs_object_types.object_type%TYPE default 'acs_activity', creation_date in acs_objects.creation_date%TYPE default sysdate, creation_user in acs_objects.creation_user%TYPE default null, @@ -140,7 +152,8 @@ activity_id in acs_activities.activity_id%TYPE, name in acs_activities.name%TYPE default null, description in acs_activities.description%TYPE default null, - html_p in acs_activities.html_p%TYPE default null + html_p in acs_activities.html_p%TYPE default null, + status_summary in acs_activities.status_summary%TYPE default null ); procedure object_map ( @@ -174,6 +187,7 @@ name in acs_activities.name%TYPE, description in acs_activities.description%TYPE default null, html_p in acs_activities.html_p%TYPE default 'f', + status_summary in acs_activities.status_summary%TYPE default null, object_type in acs_object_types.object_type%TYPE default 'acs_activity', creation_date in acs_objects.creation_date%TYPE default sysdate, creation_user in acs_objects.creation_user%TYPE default null, @@ -193,9 +207,9 @@ ); insert into acs_activities - (activity_id, name, description) + (activity_id, name, description, html_p, status_summary) values - (new_activity_id, name, description); + (new_activity_id, name, description, html_p, status_summary); return new_activity_id; end new; @@ -240,14 +254,16 @@ activity_id in acs_activities.activity_id%TYPE, name in acs_activities.name%TYPE default null, description in acs_activities.description%TYPE default null, - html_p in acs_activities.html_p%TYPE default null + html_p in acs_activities.html_p%TYPE default null, + status_summary in acs_activities.status_summary%TYPE default null ) is begin update acs_activities set name = nvl(edit.name, name), description = nvl(edit.description, description), - html_p = nvl(edit.html_p, html_p) + html_p = nvl(edit.html_p, html_p), + status_summary = nvl(edit.status_summary, status_summary) where activity_id = edit.activity_id; end edit; Index: openacs-4/packages/acs-events/sql/postgresql/acs-events-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-events/sql/postgresql/acs-events-create.sql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-events/sql/postgresql/acs-events-create.sql 10 Feb 2002 22:11:31 -0000 1.2 +++ openacs-4/packages/acs-events/sql/postgresql/acs-events-create.sql 8 Mar 2002 22:30:11 -0000 1.3 @@ -113,6 +113,21 @@ ); attr_id := acs_attribute__create_attribute ( ''acs_event'', -- object_type + ''status_summary'', -- attribute_name + ''string'', -- datatype + ''Status Summary'', -- pretty_name + ''Status Summaries'', -- pretty_plural + null, -- table_name (default) + null, -- column_name (default) + null, -- default_value (default) + 1, -- min_n_values (default) + 1, -- max_n_values (default) + null, -- sort_order (default) + ''type_specific'', -- storage (default) + ''f'' -- static_p (default) + ); + attr_id := acs_attribute__create_attribute ( + ''acs_event'', -- object_type ''html_p'', -- attribute_name ''string'', -- datatype ''HTML?'', -- pretty_name @@ -192,15 +207,17 @@ -- The Event API supports methods to retrieve name/description from -- either the event (if defined) or the underlying activity (if not defined) -- - -- acs_event.get_name() - -- acs_event.get_description() - -- acs_event.get_html_p() + -- acs_event__get_name() + -- acs_event__get_description() + -- acs_event__get_html_p() + -- acs_event__get_status_summary() -- name varchar(255), description text, -- -- is the event description written in html? html_p boolean, + status_summary varchar(255), -- -- The following three columns encapsulate the remaining attributes of an Event: -- the activity that takes place during the event, its timespan (a collection of time @@ -257,6 +274,14 @@ The description of the event. '; +comment on column acs_events.html_p is ' + Whether or not the description is in HTML. +'; + +comment on column acs_events.status_summary is ' + Additional information to display along with the name. +'; + comment on column acs_events.timespan_id is ' The time span associated with this event. '; @@ -311,6 +336,7 @@ coalesce(e.name, a.name) as name, coalesce(e.description, a.description) as description, coalesce(e.html_p, a.html_p) as html_p, + coalesce(e.status_summary, a.status_summary) as status_summary, e.activity_id, timespan_id, recurrence_id @@ -373,6 +399,8 @@ -- -- get_name () -- get_description () +-- get_html_p () +-- get_status_summary () -- -- timespan_set (timespan_id) -- activity_set (activity_id) @@ -401,6 +429,8 @@ -- @param event_id id to use for new event -- @param name Name of the new event -- @param description Description of the new event + -- @param html_p Is the description HTML? + -- @param status_summary Optional additional status line to display -- @param timespan_id initial time interval set -- @param activity_id initial activity -- @param recurrence_id id of recurrence information @@ -415,6 +445,8 @@ integer, -- acs_events.event_id%TYPE, varchar, -- acs_events.name%TYPE, text, -- acs_events.description%TYPE, + boolean, -- acs_events.html_p%TYPE, + text, -- acs_events.status_summary%TYPE, integer, -- acs_events.timespan_id%TYPE, integer, -- acs_events.activity_id%TYPE, integer, -- acs_events.recurrence_id%TYPE, @@ -429,14 +461,16 @@ new__event_id alias for $1; -- default null, new__name alias for $2; -- default null, new__description alias for $3; -- default null, - new__timespan_id alias for $4; -- default null, - new__activity_id alias for $5; -- default null, - new__recurrence_id alias for $6; -- default null, - new__object_type alias for $7; -- default ''acs_event'', - new__creation_date alias for $8; -- default now(), - new__creation_user alias for $9; -- default null, - new__creation_ip alias for $10; -- default null, - new__context_id alias for $11; -- default null + new__html_p alias for $4; -- default null + new__status_summary alias for $5; -- default null + new__timespan_id alias for $6; -- default null, + new__activity_id alias for $7; -- default null, + new__recurrence_id alias for $8; -- default null, + new__object_type alias for $9; -- default ''acs_event'', + new__creation_date alias for $10; -- default now(), + new__creation_user alias for $11; -- default null, + new__creation_ip alias for $12; -- default null, + new__context_id alias for $13; -- default null v_event_id acs_events.event_id%TYPE; begin v_event_id := acs_object__new( @@ -449,9 +483,10 @@ ); insert into acs_events - (event_id, name, description, activity_id, timespan_id, recurrence_id) + (event_id, name, description, html_p, status_summary, activity_id, timespan_id, recurrence_id) values - (v_event_id, new__name, new__description, new__activity_id, new__timespan_id, new__recurrence_id); + (v_event_id, new__name, new__description, new__html_p, new__status_summary, new__activity_id, new__timespan_id, + new__recurrence_id); return v_event_id; @@ -647,7 +682,35 @@ end;' language 'plpgsql'; +create function acs_event__get_status_summary ( + -- + -- Returns status_summary or status_summary of the activity associated with the event if + -- status_summary is null. + -- + -- @author W. Scott Meeks + -- + -- @param event_id id of event to get status_summary for + -- + -- @return The status_summary or status_summary of the activity associated with the event if status_summary is null. + -- + integer -- acs_events.event_id%TYPE +) +returns boolean as ' -- acs_events.status_summary%TYPE +declare + get_status_summary__event_id in acs_events.event_id%TYPE + v_status_summary acs_events.status_summary%TYPE; +begin + select coalesce(e.status_summary, a.status_summary) into v_status_summary + from acs_events e + left join acs_activities a + on (e.activity_id = a.activity_id) + where e.event_id = get_status_summary__event_id + return v_status_summary; + +end;' language 'plpgsql'; + + create function acs_event__timespan_set ( -- -- Sets the time span for an event (20.10.15) @@ -900,10 +963,12 @@ null, -- event_id (default) event_row.name, -- name event_row.description, -- description + event_row.html_p, -- html_p + event_row.status_summary, -- status_summary v_timespan_id, -- timespan_id event_row.activity_id, -- activity_id` event_row.recurrence_id, -- recurrence_id - object_row.object_type, -- object_type (default) + ''acs_event'', -- object_type (default) now(), -- creation_date (default) object_row.creation_user, -- creation_user object_row.creation_ip, -- creation_ip @@ -1346,21 +1411,3 @@ end;' language 'plpgsql'; - - --- JS: THE FUNCTION BELOW CAN BE OVERLOADED --- JS: BECAUSE THE PARAMETER TYPES ARE THE SAME AS ABOVE. --- procedure shift_all ( --- recurrence_id in recurrences.recurrence_id%TYPE default null, --- start_offset in number default 0, --- end_offset in number default 0 --- ) --- is --- begin --- update acs_events_dates --- set start_date = start_date + start_offset, --- end_date = end_date + end_offset --- where recurrence_id = shift_all.recurrence_id; --- end shift_all; - - Index: openacs-4/packages/acs-events/sql/postgresql/activity-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-events/sql/postgresql/activity-create.sql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-events/sql/postgresql/activity-create.sql 13 Jul 2001 02:45:01 -0000 1.1 +++ openacs-4/packages/acs-events/sql/postgresql/activity-create.sql 8 Mar 2002 22:30:11 -0000 1.2 @@ -77,6 +77,22 @@ ''f'' -- static_p (default) ); + attr_id := acs_attribute__create_attribute ( + ''acs_activity'', -- object_type + ''status_summary'', -- attribute_name + ''string'', -- data_type + ''Status Summary'', -- pretty_name + ''Status Summaries'', -- pretty_plural + null, -- table_name (default) + null, -- column_name (default) + null, -- default_value (default) + 1, -- min_n_values (default) + 1, -- max_n_values (default) + null, -- sort_order (default) + ''type_specific'', -- storage (default) + ''f'' -- static_p (default) + ); + return 0; end;' language 'plpgsql'; @@ -96,7 +112,8 @@ name varchar(255) not null, description text, -- is the activity description written in html? - html_p boolean default 'f' + html_p boolean default 'f', + status_summary varchar(255) ); comment on table acs_activities is ' @@ -125,7 +142,7 @@ -- delete() -- -- name() --- edit (name,description,html_p) +-- edit (name,description,html_p,status_summary) -- -- object_map (object_id) -- object_unmap (object_id) @@ -140,6 +157,8 @@ -- @param activity_id Id to use for new activity -- @param name Name of the activity -- @param description Description of the activity + -- @param html_p Is the description HTML? + -- @param status_summary Additional status note (optional) -- @param object_type 'acs_activity' -- @param creation_date default now() -- @param creation_user acs_object param @@ -152,6 +171,7 @@ varchar, -- in acs_activities.name%TYPE, text, -- in acs_activities.description%TYPE boolean, -- in acs_activities.html_p%TYPE + text, -- in acs_activities.status_summary%TYPE varchar, -- in acs_object_types.object_type%TYPE timestamp, -- in acs_objects.creation_date%TYPE integer, -- in acs_objects.creation_user%TYPE @@ -164,11 +184,12 @@ new__name alias for $2; new__description alias for $3; -- default null, new__html_p alias for $4; -- default ''f'', - new__object_type alias for $5; -- default ''acs_activity'' - new__creation_date alias for $6; -- default now(), - new__creation_user alias for $7; -- default null, - new__creation_ip alias for $8; -- default null, - new__context_id alias for $9; -- default null + new__status_summary alias for $5; -- default null, + new__object_type alias for $6; -- default ''acs_activity'' + new__creation_date alias for $7; -- default now(), + new__creation_user alias for $8; -- default null, + new__creation_ip alias for $9; -- default null, + new__context_id alias for $10; -- default null v_activity_id acs_activities.activity_id%TYPE; begin v_activity_id := acs_object__new( @@ -181,9 +202,9 @@ ); insert into acs_activities - (activity_id, name, description,html_p) + (activity_id, name, description, html_p, status_summary) values - (v_activity_id, new__name, new__description,new__html_p); + (v_activity_id, new__name, new__description, new__html_p, new__status_summary); return v_activity_id; @@ -254,25 +275,29 @@ -- @param name optional New name for this activity -- @param description optional New description for this activity -- @param html_p optional New value of html_p for this activity + -- @param status_summary optional New value of status_summary for this activity -- -- @return 0 (procedure dummy) -- integer, -- acs_activities.activity_id%TYPE, varchar, -- acs_activities.name%TYPE default null, text, -- acs_activities.description%TYPE default null, - boolean -- acs_activities.html_p%TYPE default null + boolean, -- acs_activities.html_p%TYPE default null + text -- acs_activities.status_summary%TYPE default null, ) returns integer as ' declare edit__activity_id alias for $1; edit__name alias for $2; -- default null, edit__description alias for $3; -- default null, edit__html_p alias for $4; -- default null + edit__status_summary alias for $5; -- default null begin update acs_activities set name = coalesce(edit__name, name), description = coalesce(edit__description, description), - html_p = coalesce(edit__html_p, html_p) + html_p = coalesce(edit__html_p, html_p), + status_summary = coalesce(edit__status_summary, status_summary) where activity_id = edit__activity_id; return 0; Index: openacs-4/packages/acs-events/sql/postgresql/test/acs-events-test.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-events/sql/postgresql/test/acs-events-test.sql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-events/sql/postgresql/test/acs-events-test.sql 13 Jul 2001 03:16:32 -0000 1.1 +++ openacs-4/packages/acs-events/sql/postgresql/test/acs-events-test.sql 8 Mar 2002 22:30:11 -0000 1.2 @@ -106,6 +106,7 @@ ''Testing (pre-edit)'', ''Making sure the acs_activity code works (pre-edit)'', ''t'', + null, ''acs_activity'', now(), null, @@ -184,6 +185,8 @@ -- Create a null event for test of existence functions insert_instances__event_id := acs_event__new(null, null, + null, + null, null, null, null, @@ -347,7 +350,7 @@ to_date(''2001-12-01'',''YYYY-MM-DD''), null); - insert_instances__event_id := acs_event__new(null,''Weekly'',null, + insert_instances__event_id := acs_event__new(null,''Weekly'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -393,7 +396,7 @@ to_date(''2001-05-01'',''YYYY-MM-DD''), null); - insert_instances__event_id := acs_event__new(null,''month_by_date'',null, + insert_instances__event_id := acs_event__new(null,''month_by_date'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -437,7 +440,7 @@ to_date(''2002-02-01'',''YYYY-MM-DD''), null); - insert_instances__event_id := acs_event__new(null,''month_by_date'',null, + insert_instances__event_id := acs_event__new(null,''month_by_date'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -488,7 +491,7 @@ null); - insert_instances__event_id := acs_event__new(null,''every 2 days'',null, + insert_instances__event_id := acs_event__new(null,''every 2 days'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -538,7 +541,7 @@ null); - insert_instances__event_id := acs_event__new(null,''every 2 days'',null, + insert_instances__event_id := acs_event__new(null,''every 2 days'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -588,7 +591,7 @@ null); - insert_instances__event_id := acs_event__new(null,''yearly (one DST day)'',null, + insert_instances__event_id := acs_event__new(null,''yearly (one DST day)'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -631,7 +634,7 @@ null); - insert_instances__event_id := acs_event__new(null,''yearly (non-DST)'',null, + insert_instances__event_id := acs_event__new(null,''yearly (non-DST)'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -675,7 +678,7 @@ null); - insert_instances__event_id := acs_event__new(null,''yearly (DST)'',null, + insert_instances__event_id := acs_event__new(null,''yearly (DST)'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -717,7 +720,7 @@ null); - insert_instances__event_id := acs_event__new(null,''last_of_month'',null, + insert_instances__event_id := acs_event__new(null,''last_of_month'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -763,7 +766,7 @@ null); - insert_instances__event_id := acs_event__new(null,''last_of_month'',null, + insert_instances__event_id := acs_event__new(null,''last_of_month'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -809,7 +812,7 @@ ''recur_every3''); - insert_instances__event_id := acs_event__new(null,''custom'',null, + insert_instances__event_id := acs_event__new(null,''custom'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -856,7 +859,7 @@ null); - insert_instances__event_id := acs_event__new(null,''month_by_day'',null, + insert_instances__event_id := acs_event__new(null,''month_by_day'',null, null, null, insert_instances__timespan_id, insert_instances__activity_id, insert_instances__recurrence_id, @@ -925,8 +928,8 @@ ); -- Insert two non-recurring event to test acs_event__delete, using acs_event__new alone - PERFORM acs_event__new(null,null,null,null,null,null,''acs_event'',now(),null,null,null); - insert_instances__event_id := acs_event__new(null,''Another event'',''Yet another event description'', + PERFORM acs_event__new(null,null,null,null,null,null,null,null,''acs_event'',now(),null,null,null); + insert_instances__event_id := acs_event__new(null,''Another event'',''Yet another event description'', null, null, insert_instances__timespan_id,null,null,''acs_event'',now(),null,null,null);