is_member_of_role(Oid member, Oid role)
{
	/* Fast path for simple case */
	if (member == role)
		return true;

	/* Superusers have every privilege, so are part of every role */
	if (superuser_arg(member))
		return true;

	/*
	 * Find all the roles that member is a member of, including multi-level
	 * recursion, then see if target role is any one of them.
	 */
	return list_member_oid(roles_is_member_of(member), role);
}
is_member_of_role(Oid member, Oid role)
{
	 
	if (member == role)
		return true;

	 
	if (superuser_arg(member))
		return true;

	 
	return list_member_oid(roles_is_member_of(member), role);
}