oracle8.1.6 select acs_object.name(:object_id) from dual select grantee_id, grantee_name, privilege from (select grantee_id, acs_object.name(grantee_id) as grantee_name, privilege, 1 as counter from acs_permissions_all where object_id = :object_id union all select grantee_id, acs_object.name(grantee_id) as grantee_name, privilege, -1 as counter from acs_permissions where object_id = :object_id ) group by grantee_id, grantee_name, privilege having sum(counter) > 0 select grantee_id, acs_object.name(grantee_id) as grantee_name, privilege from acs_permissions where object_id = :object_id $extra_where_clause SELECT acs_object.name(context_id) as context_name, context_id, security_inherit_p FROM acs_objects WHERE object_id = :object_id select object_id as c_object_id,acs_object.name(object_id) as c_name, object_type as c_type from acs_objects o where context_id = :object_id and exists (select 1 from all_object_party_privilege_map where object_id = o.object_id and party_id = :user_id and privilege = 'admin') select count(*) as num_children from acs_objects o where context_id = :object_id and acs_permission.permission_p(o.object_id, :user_id, 'admin') = 't'