postgresql7.1 select acs_object__name(:party_id) from dual select distinct(o.object_id) as calendar_id, calendar__name(o.object_id) as calendar_name, calendar__show_p(o.object_id, :party_id) as show_p from acs_objects o where calendar__readable_p(o.object_id, :party_id) = 't' and party_id = :party_id and acs_object_util__object_type_p(o.object_id, 'calendar') = 't' and calendar__private_p(o.object_id) = 'f' union select cal_item__on_which_calendar(o.object_id) as calendar_id, calendar__name(cal_item__on_which_calendar(o.object_id)) as calendar_name, calendar__show_p(cal_item__on_which_calendar(o.object_id), :party_id) as show_p from acs_objects o where privilege = 'cal_item_read' and party_id = :party_id and acs_object_util__object_type_p(o.object_id, 'cal_item') = 't' and calendar__private_p(cal_item__on_which_calendar(o.object_id)) = 'f'