(SELECT ClazzAssignment.caClazzUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid) LIMIT 1), 0) ) > 0 AND CourseGroupMember.cgmSetUid = (SELECT caGroupUid FROM ClazzAssignment WHERE caUid = :assignmentUid) AND CourseGroupMember.cgmPersonUid = :accountPersonUid LIMIT 1), -1) END SORT_NAME_ASC Int SORT_NAME_DESC SUBMITTER_LIST_CTE2_SQL  SubmitterList(submitterId, name) AS -- List of submitter uids and names if individual assignment eg caGroupUid = 0 (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, Person.firstNames || ' ' || Person.lastName AS name FROM ClazzEnrolment JOIN Person ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid WHERE ( SELECT ClazzAssignment.caGroupUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid ) = 0 AND ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid AND ClazzEnrolment.clazzEnrolmentRole = 1000 -- either the active user has learnign record select permission on class or is an assigned reviewer for submitter AND ( (SELECT hasPermission FROM HasLearningRecordSelectPermission) OR -- check if the active person eg accountpersonuid is assigned to mark this peer ( ((SELECT ClazzAssignment.caMarkingType FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid) = 2) AND EXISTS(SELECT PeerReviewerAllocation.praUid FROM PeerReviewerAllocation WHERE PeerReviewerAllocation.praAssignmentUid = :assignmentUid AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid AND PeerReviewerAllocation.praMarkerSubmitterUid = :accountPersonUid)) ) UNION -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0 SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, :group || ' ' || CourseGroupMember.cgmGroupNumber AS name FROM CourseGroupMember WHERE ( SELECT ClazzAssignment.caGroupUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid ) != 0 AND CourseGroupMember.cgmSetUid = ( SELECT ClazzAssignment.caGroupUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid ) -- either the active user has learning record select permission on class or is an assigned reviewer for submitter AND ( (SELECT hasPermission FROM HasLearningRecordSelectPermission) OR --check if the active user is in a group that was allocated to do a peer review of the given submitter uid ( ((SELECT ClazzAssignment.caMarkingType FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid) = 2) AND EXISTS(SELECT PeerReviewerAllocation.praUid FROM PeerReviewerAllocation WHERE PeerReviewerAllocation.praAssignmentUid = :assignmentUid AND PeerReviewerAllocation.praToMarkerSubmitterUid = CourseGroupMember.cgmGroupNumber AND PeerReviewerAllocation.praMarkerSubmitterUid = (SELECT CourseGroupMemberInner.cgmGroupNumber FROM CourseGroupMember CourseGroupMemberInner WHERE CourseGroupMemberInner.cgmSetUid = ( SELECT ClazzAssignment.caGroupUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid ) AND CourseGroupMemberInner.cgmPersonUid = :accountPersonUid LIMIT 1) )) ) ) %SUBMITTER_LIST_WITHOUT_ASSIGNMENT_CTE WITH SubmitterList (submitterId, name) AS (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, Person.firstNames || ' ' || Person.lastName AS name FROM ClazzEnrolment JOIN Person ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid WHERE :groupUid = 0 AND clazzEnrolmentClazzUid = :clazzUid AND clazzEnrolmentActive AND clazzEnrolmentRole = 1000 GROUP BY submitterId, name UNION SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, :group || ' ' || CourseGroupMember.cgmGroupNumber AS name FROM CourseGroupMember JOIN CourseGroupSet ON CourseGroupSet.cgsUid = :groupUid WHERE CourseGroupMember.cgmSetUid = CourseGroupSet.cgsUid AND CourseGroupMember.cgmGroupNumber != 0 GROUP BY submitterId, name ) @           "BRHXT ( R HXT ( RHXT ( RHXT ( RHXT ( RHXT ( RHXT ( RHXT  RHXT  RHXT ( RHXT (  0 0 0 com.ustadmobile.core.db.dao h  com ustadmobile lib db entities CourseGroupMemberAndName kotlin Any seen1 Int cgm CourseGroupMember name String personUid Long enrolmentIsActive Boolean pictureUri serializationConstructorMarker kotlinx serialization internal SerializationConstructorMarker Deprecated message 8This synthesized declaration should not be used directly replaceWith ReplaceWith expression imports level DeprecationLevel HIDDEN js JsExport Ignore CourseGroupMemberAndName.kt androidx room Embedded component1 component2 component3 component4 component5 copy equals other hashCode toString $serializer Companion Serializable serializer KSerializer GeneratedSerializer descriptor descriptors SerialDescriptor childSerializers Array deserialize decoder encoding Decoder serialize Unit encoder Encoder value                        ! # $ % ' ( ) 6 5 8 4 9 ; < > A "B D "F"3BJ78H  & 0 0 0 &"BJ=8H  &J?2@(8H  &JC2E(2G(8H  &R:8WHX  & , 0 0 0 0 0! 0# 0$ 0% 6( B(    08"  &" 5:45Bj( ( ((((( 6( B(    08" B( ( ((((J *8H &J +8H &J ,8H &J -8H &J .8H &J2/2 (2 (2(2(2(8H &J021(8H &J 28H &J 38 H &R 8@HX & R HX &R  HX &R HX &R HX &0 0 0 0 0 0 0 0 0 0 0  & com.ustadmobile.lib.db.entities