postgresql7.1
select CASE WHEN :start_date::timestamptz <= :end_date::timestamptz
THEN 1
ELSE -1
END
select
i.cal_item_id,
0 as n_attachments,
to_char(start_date, 'YYYY-MM-DD HH24:MI:SS') as start_date_ansi,
to_char(end_date, 'YYYY-MM-DD HH24:MI:SS') as end_date_ansi,
coalesce(e.name, a.name) as name,
coalesce(e.description, a.description) as description,
recurrence_id,
i.item_type_id,
it.type as item_type,
on_which_calendar as calendar_id,
c.calendar_name,
o.creation_user
from
acs_events e join timespans s
on (e.timespan_id = s.timespan_id)
join time_intervals t
on (s.interval_id = t.interval_id)
join acs_activities a
on (e.activity_id = a.activity_id)
join cal_items i
on (e.event_id = i.cal_item_id)
left join cal_item_types it
on (it.item_type_id = i.item_type_id)
left join calendars c
on (c.calendar_id = i.on_which_calendar)
left join acs_objects o
on (o.object_id = i.cal_item_id)
where
e.event_id = :cal_item_id
select
i.cal_item_id,
(select count(*) from attachments where object_id = cal_item_id) as n_attachments,
to_char(start_date, 'YYYY-MM-DD HH24:MI:SS') as start_date_ansi,
to_char(end_date, 'YYYY-MM-DD HH24:MI:SS') as end_date_ansi,
coalesce(a.name, e.name) as name,
coalesce(e.description, a.description) as description,
recurrence_id,
i.item_type_id,
it.type as item_type,
on_which_calendar as calendar_id,
c.calendar_name,
o.creation_user
from
acs_events e join timespans s
on (e.timespan_id = s.timespan_id)
join time_intervals t
on (s.interval_id = t.interval_id)
join acs_activities a
on (e.activity_id = a.activity_id)
join cal_items i
on (e.event_id = i.cal_item_id)
left join cal_item_types it
on (it.item_type_id = i.item_type_id)
left join calendars c
on (c.calendar_id = i.on_which_calendar)
left join acs_objects o
on (o.object_id = i.cal_item_id)
where
e.event_id = :cal_item_id
select recurrence__new(:interval_type,
:every_n,
:days_of_week,
:recur_until,
NULL)
select acs_event__insert_instances(:cal_item_id, NULL);