--
-- application_group__group_id_from_package_id/2
--
create or replace function application_group__group_id_from_package_id(
integer,
boolean
) returns int4 as $$
declare
group_id_from_package_id__package_id alias for $1;
group_id_from_package_id__no_complain_p alias for $2; -- default 'f'
v_group_id application_groups.group_id%TYPE;
v_object_name varchar;
begin
select group_id
into v_group_id
from application_groups
where package_id = group_id_from_package_id__package_id;
-- TODO: does this shortcut the exception in Oracle?
-- return v_group_id;
if not found then
if group_id_from_package_id__no_complain_p != 't' then
v_object_name := acs_object__name(group_id_from_package_id__package_id);
raise EXCEPTION '-20000: No group_id found for package % (%)', group_id_from_package_id__package_id, v_object_name;
end if;
return null;
else
return v_group_id;
end if;
end;$$ language plpgsql;