Uploaded image for project: 'Grouper'
  1. Grouper
  2. GRP-867

find subject by identifier is not efficient for entities (causes problems)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Minor
    • 2.1.3
    • 2.1.2
    • subject API
    • None

    Description

      e.g. when importing members of a group, or adding a member by combobox, etc

      We ran in the same problem with another operation, here is the stack trace (yay more details!), we see again findByNamesSecure :

      2012-11-20 14:12:28,700: [http-8080-8] ERROR GrouperUiRestServlet.doGet(247) - - Problem calling reflection from URL: edu.internet2.middleware.grouper.grouperUi.serviceLogic.SimpleMembershipUpdate.addMember

      java.lang.RuntimeException: Error adding member to group: acad:0340:Autres:0340-test-annick, gauthier, Problem in HibernateSession: HibernateSession: isNew: true, isReadonly: true, grouperTransactionType: READONLY_NEW,
      Exception in list: (class edu.internet2.middleware.grouper.Group), ByHqlStatic, query: 'select distinct theGroup from Group as theGroup , MembershipEntry __accessMembership where __accessMembership.ownerGroupId = theGroup.uuid and __accessMembership.fieldId in (:RJ1G36EC0, :RJ1G36EC1, :RJ1G36EC2, :RJ1G36EC3, :RJ1G36EC4, :RJ1G36EC5) and __accessMembership.memberUuid in (:RJ1G36ED0, :RJ1G36ED1) and __accessMembership.enabledDb = 'T' and ( theGroup.nameDb in ( :RJ1G36EE0 ) or theGroup.alternateNameDb in ( :RJ1G36EF0 ) ) and theGroup.typeOfGroupDb in ( :RJ1G36EG0 ) or exists ( select theAttributeAssignValue from AttributeAssign theAttributeAssign, AttributeAssignValue theAttributeAssignValue, AttributeDefName theAttributeDefName where theGroup.typeOfGroupDb = 'entity' and theGroup.uuid = theAttributeAssign.ownerGroupId and theAttributeAssign.attributeDefNameId = theAttributeDefName.id and theAttributeDefName.nameDb = :entitySubjectIdDefName and theAttributeAssignValue.attributeAssignId = theAttributeAssign.id and theAttributeAssignValue.valueString in ( :RJ1G36EH0 ) ) ) ) ', cacheable: true, cacheRegion: edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO.FindByNamesSecure, tx type: null, tx type: nullBind var[0]: 'Param (class java.lang.String): 'RJ1G36EC0'>'f55c09be6fa74d17b4a421475e01e16e', Bind var[1]: 'Param (class java.lang.String): 'RJ1G36EC1'>'41560e1f7b4f4e8790e36cf62a24e7d2', Bind var[2]: 'Param (class java.lang.String): 'RJ1G36EC2'>'0e787b71e9514de7a44475a115d3d073', Bind var[3]: 'Param (class java.lang.String): 'RJ1G36EC3'>'14480ae6a65c4ee3aec482ba42023675', Bind var[4]: 'Param (class java.lang.String): 'RJ1G36EC4'>'5244cccad1f845648b2f25d7a825486b', Bind var[5]: 'Param (class java.lang.String): 'RJ1G36EC5'>'1b63511ccde0478b978f2868d2eecf36', Bind var[6]: 'Param (class java.lang.String): 'RJ1G36ED0'>'5771e495a1324539a9fffd215eba9fb2', Bind var[7]: 'Param (class java.lang.String): 'RJ1G36ED1'>'2e8140c5844941279dedec7bfef4f662', Bind var[8]: 'Param (class java.lang.String): 'RJ1G36EE0'>'gauthier', Bind var[9]: 'Param (class java.lang.String): 'RJ1G36EF0'>'gauthier', Bind var[10]: 'Param (class java.lang.String): 'RJ1G36EG0'>'entity', Bind var[11]: 'Param (class java.lang.String): 'entitySubjectIdDefName'>'etc:attribute:entities:entitySubjectIdentifier'Bind var[12]: 'Param (class java.lang.String): 'RJ1G36EH0'->'gauthier', ,
      Problem calling method addMember on edu.internet2.middleware.grouper.grouperUi.serviceLogic.SimpleMembershipUpdate
      at edu.internet2.middleware.grouper.grouperUi.serviceLogic.SimpleMembershipUpdate.addMember(SimpleMembershipUpdate.java:672)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at edu.internet2.middleware.grouper.util.GrouperUtil.invokeMethod(GrouperUtil.java:3896)
      at edu.internet2.middleware.grouper.util.GrouperUtil.callMethod(GrouperUtil.java:3847)
      at edu.internet2.middleware.grouper.j2ee.GrouperUiRestServlet.doGet(GrouperUiRestServlet.java:217)
      at edu.internet2.middleware.grouper.j2ee.GrouperUiRestServlet.doPost(GrouperUiRestServlet.java:133)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at edu.internet2.middleware.grouper.ui.GrouperUiFilter.doFilter(GrouperUiFilter.java:849)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:209)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at uk.ac.bris.is.grouper.ui.PreCASFilter.doFilter(PreCASFilter.java:128)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: edu.internet2.middleware.grouper.internal.dao.GrouperDAOException: Problem in HibernateSession: HibernateSession: isNew: true, isReadonly: true, grouperTransactionType: READONLY_NEW,
      Exception in list: (class edu.internet2.middleware.grouper.Group), ByHqlStatic, query: 'select distinct theGroup from Group as theGroup , MembershipEntry __accessMembership where __accessMembership.ownerGroupId = theGroup.uuid and __accessMembership.fieldId in (:RJ1G36EC0, :RJ1G36EC1, :RJ1G36EC2, :RJ1G36EC3, :RJ1G36EC4, :RJ1G36EC5) and __accessMembership.memberUuid in (:RJ1G36ED0, :RJ1G36ED1) and __accessMembership.enabledDb = 'T' and ( theGroup.nameDb in ( :RJ1G36EE0 ) or theGroup.alternateNameDb in ( :RJ1G36EF0 ) ) and theGroup.typeOfGroupDb in ( :RJ1G36EG0 ) or exists ( select theAttributeAssignValue from AttributeAssign theAttributeAssign, AttributeAssignValue theAttributeAssignValue, AttributeDefName theAttributeDefName where theGroup.typeOfGroupDb = 'entity' and theGroup.uuid = theAttributeAssign.ownerGroupId and theAttributeAssign.attributeDefNameId = theAttributeDefName.id and theAttributeDefName.nameDb = :entitySubjectIdDefName and theAttributeAssignValue.attributeAssignId = theAttributeAssign.id and theAttributeAssignValue.valueString in ( :RJ1G36EH0 ) ) ) ) ', cacheable: true, cacheRegion: edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO.FindByNamesSecure, tx type: null, tx type: nullBind var[0]: 'Param (class java.lang.String): 'RJ1G36EC0'>'f55c09be6fa74d17b4a421475e01e16e', Bind var[1]: 'Param (class java.lang.String): 'RJ1G36EC1'>'41560e1f7b4f4e8790e36cf62a24e7d2', Bind var[2]: 'Param (class java.lang.String): 'RJ1G36EC2'>'0e787b71e9514de7a44475a115d3d073', Bind var[3]: 'Param (class java.lang.String): 'RJ1G36EC3'>'14480ae6a65c4ee3aec482ba42023675', Bind var[4]: 'Param (class java.lang.String): 'RJ1G36EC4'>'5244cccad1f845648b2f25d7a825486b', Bind var[5]: 'Param (class java.lang.String): 'RJ1G36EC5'>'1b63511ccde0478b978f2868d2eecf36', Bind var[6]: 'Param (class java.lang.String): 'RJ1G36ED0'>'5771e495a1324539a9fffd215eba9fb2', Bind var[7]: 'Param (class java.lang.String): 'RJ1G36ED1'>'2e8140c5844941279dedec7bfef4f662', Bind var[8]: 'Param (class java.lang.String): 'RJ1G36EE0'>'gauthier', Bind var[9]: 'Param (class java.lang.String): 'RJ1G36EF0'>'gauthier', Bind var[10]: 'Param (class java.lang.String): 'RJ1G36EG0'>'entity', Bind var[11]: 'Param (class java.lang.String): 'entitySubjectIdDefName'>'etc:attribute:entities:entitySubjectIdentifier'Bind var[12]: 'Param (class java.lang.String): 'RJ1G36EH0'->'gauthier',
      at edu.internet2.middleware.grouper.hibernate.HibernateSession._internal_hibernateSessionCatch(HibernateSession.java:495)
      at edu.internet2.middleware.grouper.hibernate.HibernateSession.callbackHibernateSession(HibernateSession.java:581)
      at edu.internet2.middleware.grouper.hibernate.ByHqlStatic.list(ByHqlStatic.java:372)
      at edu.internet2.middleware.grouper.hibernate.ByHqlStatic.listSet(ByHqlStatic.java:421)
      at edu.internet2.middleware.grouper.internal.dao.hib3.Hib3GroupDAO.findByNamesSecure(Hib3GroupDAO.java:2605)
      at edu.internet2.middleware.grouper.GrouperSourceAdapter$1.callback(GrouperSourceAdapter.java:244)
      at edu.internet2.middleware.grouper.GrouperSession.callbackGrouperSession(GrouperSession.java:801)
      at edu.internet2.middleware.grouper.GrouperSourceAdapter.getSubjectsByIdentifiers(GrouperSourceAdapter.java:239)
      at edu.internet2.middleware.grouper.GrouperSourceAdapter.getSubjectByIdentifier(GrouperSourceAdapter.java:312)
      at edu.internet2.middleware.subject.provider.BaseSourceAdapter.getSubjectByIdOrIdentifier(BaseSourceAdapter.java:145)
      at edu.internet2.middleware.grouper.subj.SourcesXmlResolver$4.callLogic(SourcesXmlResolver.java:517)
      at edu.internet2.middleware.grouper.subj.SourcesXmlResolver$4.callLogic(SourcesXmlResolver.java:514)
      at edu.internet2.middleware.grouper.subj.SourcesXmlResolver$LogLabelCallable.call(SourcesXmlResolver.java:170)
      at edu.internet2.middleware.grouper.subj.SourcesXmlResolver.executeCallables(SourcesXmlResolver.java:231)
      at edu.internet2.middleware.grouper.subj.SourcesXmlResolver.findByIdOrIdentifier(SourcesXmlResolver.java:523)
      at edu.internet2.middleware.grouper.subj.CachingResolver.findByIdOrIdentifier(CachingResolver.java:377)
      at edu.internet2.middleware.grouper.subj.ValidatingResolver.findByIdOrIdentifier(ValidatingResolver.java:202)
      at edu.internet2.middleware.grouper.SubjectFinder.findByIdOrIdentifier(SubjectFinder.java:160)
      at edu.internet2.middleware.grouper.ui.util.GrouperUiUtils.findSubject(GrouperUiUtils.java:1008)
      at edu.internet2.middleware.grouper.grouperUi.serviceLogic.SimpleMembershipUpdate.addMember(SimpleMembershipUpdate.java:568)
      ... 32 more
      Caused by: org.hibernate.QueryTimeoutException: could not execute query
      at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:124)
      at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
      at org.hibernate.loader.Loader.doList(Loader.java:2536)
      at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2319)
      at org.hibernate.loader.Loader.list(Loader.java:2268)
      at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:452)
      at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
      at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
      at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1268)
      at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
      at edu.internet2.middleware.grouper.hibernate.ByHql.list(ByHql.java:318)
      at edu.internet2.middleware.grouper.hibernate.ByHqlStatic$2.callback(ByHqlStatic.java:382)
      at edu.internet2.middleware.grouper.hibernate.HibernateSession.callbackHibernateSession(HibernateSession.java:571)
      ... 50 more
      Caused by: java.sql.SQLException: ORA-01652: unable to extend temp segment by 128 in tablespace TEMP

      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:145)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
      at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:219)
      at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1135)
      at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1155)
      at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:977)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1275)
      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3500)
      at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3545)
      at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
      at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
      at org.hibernate.loader.Loader.getResultSet(Loader.java:1953)
      at org.hibernate.loader.Loader.doQuery(Loader.java:802)
      at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
      at org.hibernate.loader.Loader.doList(Loader.java:2533)
      ... 60 more

      De : Gagné Sébastien
      Envoyé : 20 novembre 2012 15:24
      À : 'Chris Hyzer'
      Objet : RE: SimpleMembershipUpdateImportExport databse problems

      I’m trying to import 2 users in a group.
      The group has about 100 group members. It’really weird because my sysadmin account can do the same thing…

      Another weird thing : my sysadmin account sees “is a member by 1 path” while the same member from the same group says “is a member by 2 paths” with my delegation account (it’s doubled, if it’s actually 5 paths, I’ll see “by 10 paths”)

      I’ll run the script and get it back to you.

      De : Chris Hyzer
      Envoyé : 20 novembre 2012 14:54
      À : Gagné Sébastien;
      Objet : RE: SimpleMembershipUpdateImportExport databse problems

      Let me know how big the groups are that you are importing…

      Can you analyze the tables in your database and see if it helps?

      This will generate the script:

      select 'ANALYZE TABLE ' || table_name || ' COMPUTE STATISTICS;' as script from user_Tables where table_name like 'GROUPER%'

      Which will look like this, run the generated script (it will take some time), and see if it helps:

      SCRIPT
      ----------------------------------------------------------------
      ANALYZE TABLE GROUPER_ATTRIBUTES COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_ATTRIBUTE_ASSIGN COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_ATTRIBUTE_ASSIGN_VALUE COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_ATTRIBUTE_DEF COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_ATTRIBUTE_DEF_NAME COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_ATTRIBUTE_DEF_NAME_SET COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_ATTRIBUTE_DEF_SCOPE COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_ATTR_ASSIGN_ACTION COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_ATTR_ASSIGN_ACTION_SET COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_AUDIT_ENTRY COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_AUDIT_TYPE COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_CHANGE_LOG_CONSUMER COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_CHANGE_LOG_ENTRY COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_CHANGE_LOG_ENTRY_TEMP COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_CHANGE_LOG_TYPE COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_COMPOSITES COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_DDL COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_EXT_SUBJ COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_EXT_SUBJ_ATTR COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_FIELDS COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_GROUPS COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_GROUPS_TYPES COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_GROUP_SET COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_LOADER_LOG COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_MEMBERS COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_MEMBERSHIPS COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_ATTRIBUTE_ASSIGN COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_ATTRIBUTE_DEF COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_ATTR_ASSN_ACTN COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_ATTR_ASSN_ACTN_SET COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_ATTR_ASSN_VALUE COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_ATTR_DEF_NAME COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_ATTR_DEF_NAME_SET COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_FIELDS COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_GROUPS COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_GROUP_SET COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_MEMBERS COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_MEMBERSHIPS COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_ROLE_SET COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_PIT_STEMS COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_ROLE_SET COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_STEMS COMPUTE STATISTICS;
      ANALYZE TABLE GROUPER_TYPES COMPUTE STATISTICS;

      From: grouper-dev-request On Behalf Of Gagné Sébastien
      Sent: Tuesday, November 20, 2012 10:34 AM
      To: grouper-dev
      Subject: [grouper-dev] SimpleMembershipUpdateImportExport databse problems

      Hi,
      When delegated admins try to use the SimpleMembershipUpdateImportExport to import a CSV or ids from the textbox, it fails and fills up the whole TEMP file in the database. We’re talking of filling up the 32gb TEMP file with a database that is only 4gb. Grouper is then very slow, but after waiting a few minutes the TEMP file is cleared and Grouper is back to normal.

      What’s strange is if I do it with my GrouperSysAdmin account it works and both account type works in our DEV environment (TEST is failing). Delegated admins have update rights on the group, but not admin. Based on the problematic SQL Query (see below), it seems the problem is when calling Hib3GroupDAO.findByNamesSecure() [line 2537], but I’m stuck there solving this.

      My current hypotheses are :

      • Some privilege is missing (doubtfull since I can manually add members to the group and it work in Dev with the same configuration)
      • Database is somehow corrupt (but it works with the SysAdmin account, maybe the “or exists” isn’t used in that case…)

      Thanks

      Error message :
      [http-8080-1] ERROR JDBCExceptionReporter.logExceptions(234) - - ORA-01652: unable to extend temp segment by 128 in tablespace TEMP

      SQL query that does the problem :
      select distinct
      group0_.id as id21_,
      group0_.hibernate_version_number as hibernate2_21_,
      group0_.last_membership_change as last3_21_,
      group0_.last_imm_membership_change as last4_21_,
      group0_.parent_stem as parent5_21_,
      group0_.creator_id as creator6_21_,
      group0_.create_time as create7_21_,
      group0_.modifier_id as modifier8_21_,
      group0_.modify_time as modify9_21_,
      group0_.name as name21_,
      group0_.display_name as display11_21_,
      group0_.extension as extension21_,
      group0_.display_extension as display13_21_,
      group0_.description as descrip14_21_,
      group0_.context_id as context15_21_,
      group0_.alternate_name as alternate16_21_,
      group0_.type_of_group as type17_21_
      from
      grouper_groups group0_,
      grouper_memberships_all_v membership1_
      where
      membership1_.owner_group_id=group0_.id
      and (membership1_.field_id in (:1 , :2 , :3 , :4 , :5 , :6))
      and (membership1_.member_id in (:7 , :8))
      and membership1_.immediate_mship_enabled='T'
      and (group0_.name in (:9) or group0_.alternate_name in (:10))
      and (group0_.type_of_group in (:11))
      or exists
      (select attributea3_.id
      from grouper_attribute_assign attributea2_, grouper_attribute_assign_value attributea3_, grouper_attribute_def_name attributed4_
      where group0_.type_of_group='entity'
      and group0_.id=attributea2_.owner_group_id
      and attributea2_.attribute_def_name_id=attributed4_.id
      and attributed4_.name=:12
      and attributea3_.attribute_assign_id=attributea2_.id
      and (attributea3_.value_string in (:13)))

      Sébastien Gagné, | Analyste en informatique
      Université de Montréal,

      Pavillon Roger-Gaudry, local X-100-11

      Attachments

        Activity

          People

            chris.hyzer@at.internet2.edu Chris Hyzer
            chris.hyzer@at.internet2.edu Chris Hyzer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: