Some attribute queries use views like this:

Traditional query with views


select
	gg.id,
	gg.name,
	gg.display_name,
	gg.description,
	gg.id_index
from
	grouper_groups gg,
	grouper_aval_asn_asn_group_v gaaagv_target,
	grouper_aval_asn_asn_group_v gaaagv_do_provision
where
	gg.id = gaaagv_do_provision.group_id
	and gg.id = gaaagv_target.group_id
	and gaaagv_do_provision.enabled2 = 'T'
	and gaaagv_target.enabled2 = 'T'
	and gaaagv_target.attribute_def_name_name1 = 'etc:provisioning:provisioningMarker'
	and gaaagv_do_provision.attribute_def_name_name1 = 'etc:provisioning:provisioningMarker'
	and gaaagv_target.attribute_def_name_name2 = 'etc:provisioning:provisioningTarget'
	and gaaagv_do_provision.attribute_def_name_name2 = 'etc:provisioning:provisioningDoProvision'
	and gaaagv_target.value_string = 'eduPersonEntitlement'
	and gaaagv_do_provision.value_string = 'true'

Simpler query (and no views)

select
    gg.id,
    gg.name,
    gg.display_name,
    gg.description,
    gg.id_index
from
    grouper_groups gg,
    grouper_attribute_assign gaa_marker,
    grouper_attribute_assign gaa_target,
    grouper_attribute_assign_value gaav_target,
    grouper_attribute_assign gaa_do_provision,
    grouper_attribute_assign_value gaav_do_provision,
    grouper_attribute_def_name gadn_marker,
    grouper_attribute_def_name gadn_do_provision,
    grouper_attribute_def_name gadn_target
where
    gg.id = gaa_marker.owner_group_id
    and gaa_target.owner_attribute_assign_id = gaa_marker.id
    and gaa_do_provision.owner_attribute_assign_id = gaa_marker.id
    and gaav_target.attribute_assign_id = gaa_target.id
    and gaav_do_provision.attribute_assign_id = gaa_do_provision.id
    and gaa_marker.attribute_def_name_id = gadn_marker.id
    and gaa_target.attribute_def_name_id = gadn_target.id
    and gaa_do_provision.attribute_def_name_id = gadn_do_provision.id
    and gadn_marker.name = 'etc:provisioning:provisioningMarker'
    and gadn_target.name = 'etc:provisioning:provisioningTarget'
    and gadn_do_provision.name = 'etc:provisioning:provisioningDoProvision'
    and gaav_target.value_string = 'eduPersonEntitlement'
    and gaav_do_provision.value_string = 'true'

Alternate query (seems simpler but inefficient with Oracle)

-- cache these for 5 minutes

-- 4f49d7e7b28040d1b6a1fe55652c6b37
select id from grouper_attribute_def_name where name = 'etc:provisioning:provisioningMarker';

-- 4541cc7de4d14486b7c1d61dd568fd01
select id from grouper_attribute_def_name where name = 'etc:provisioning:provisioningDoProvision';

-- d70495da16f848079f5f76996a556003
select id from grouper_attribute_def_name where name = 'etc:provisioning:provisioningTarget';

select
	gg.id,
	gg.name,
	gg.display_name,
	gg.description,
	gg.id_index
from
	grouper_groups gg,
	grouper_attribute_assign gaa_marker,
	grouper_attribute_assign gaa_target,
	grouper_attribute_assign_value gaav_target,
	grouper_attribute_assign gaa_do_provision,
	grouper_attribute_assign_value gaav_do_provision
where
	gg.id = gaa_marker.owner_group_id
	and gaa_marker.attribute_def_name_id = '4f49d7e7b28040d1b6a1fe55652c6b37'
	and gaa_target.owner_attribute_assign_id = gaa_marker.id
	and gaa_do_provision.owner_attribute_assign_id = gaa_marker.id
	and gaa_target.attribute_def_name_id = 'd70495da16f848079f5f76996a556003'
	and gaa_do_provision.attribute_def_name_id = '4541cc7de4d14486b7c1d61dd568fd01'
	and gaav_target.attribute_assign_id = gaa_target.id
	and gaav_do_provision.attribute_assign_id = gaa_do_provision.id
	and gaav_target.value_string = 'eduPersonEntitlement'
	and gaav_do_provision.value_string = 'true';
  • No labels