T4/E1 7 stj  3 SJ^.B~(  <_ w0v Mi `3 :` #  =R tF@4"Z $;INv }A.: X 9\G< !+-A & %m}j+d "9[ &.= I;% C}  o+^! LJ z ~ o G=D^$ j!?dl*?_ Y z]~sI4 H +8./iq4+p< >gqxGi"jhZ 0? Tj'A*p  \PO  NcO /4q(>//A,//5y_///////////////d///(///=/5////;/////$/ //x//`//3///D/////6/+///&///////7777777777y7777,p  w2U6  9[ C 7 :u Iy   zA J +6 L H 4 : O1 {  Y 3 M <g f  X ~ W + . r ~ x  ~ w_c  U 2    =g  !7 *   +y B % X o::::::::::::::::::::::::: o ' 9P /    ""     !!   comustadmobilecoredbUmAppDatabaseDEFINEDkotlinUnitdoorroomRoomDatabasepersonDaodaoPersonDaoclazzDaoClazzDaocourseBlockDaoCourseBlockDaocourseTerminologyDaoCourseTerminologyDaocourseGroupSetDaoCourseGroupSetDaocourseGroupMemberDaoCourseGroupMemberDaoclazzEnrolmentDaoClazzEnrolmentDaoleavingReasonDaoLeavingReasonDaocontentEntryDaoContentEntryDaocontentEntryContentCategoryJoinDaoContentEntryContentCategoryJoinDaocontentEntryParentChildJoinDaoContentEntryParentChildJoinDaocontentEntryRelatedEntryJoinDaoContentEntryRelatedEntryJoinDaocontentCategorySchemaDaoContentCategorySchemaDaocontentCategoryDaoContentCategoryDaolanguageDaoLanguageDaolanguageVariantDaoLanguageVariantDaopersonAuthDaoPersonAuthDaopersonGroupDaoPersonGroupDaopersonGroupMemberDaoPersonGroupMemberDaopersonPictureDaoPersonPictureDaoverbDaoxapiVerbDaoactivityEntityDaoActivityEntityDaoreportDaoReportDaostatementDaoStatementDaoactorDaoActorDaoclazzLogAttendanceRecordDaoClazzLogAttendanceRecordDaoclazzLogDaoClazzLogDaoscheduleDaoScheduleDaoholidayCalendarDaoHolidayCalendarDaoholidayDaoHolidayDaoclazzAssignmentDaoClazzAssignmentDaocourseAssignmentSubmissionDaoCourseAssignmentSubmissionDaocourseAssignmentSubmissionFileDaoCourseAssignmentSubmissionFileDaocourseAssignmentMarkDaoCourseAssignmentMarkDaocommentsDaoCommentsDaosyncNodeDaoSyncNodeDaositeDaoSiteDaositeTermsDaoSiteTermsDaopersonParentJoinDaoPersonParentJoinDaoscopedGrantDaoScopedGrantDaoerrorReportDaoErrorReportDaopersonAuth2DaoPersonAuth2DaouserSessionDaoUserSessionDaocontentEntryImportJobDaoContentEntryImportJobDaocoursePictureDaoCoursePictureDaocontentEntryPictureDaoContentEntryPictureDaomessageDaoMessageDaopeerReviewerAllocationDaoPeerReviewerAllocationDaodiscussionPostDaoDiscussionPostDaoexternalAppPermissionDaoExternalAppPermissionDaocontentEntryVersionDaoContentEntryVersionDaooutgoingReplicationDaoOutgoingReplicationDaotransferJobDaoTransferJobDaotransferJobItemDaoTransferJobItemDaocacheLockJoinDaoCacheLockJoinDaoofflineItemDaoOfflineItemDaodeletedItemDaoDeletedItemDaoenrolmentRequestDaoEnrolmentRequestDaocoursePermissionDaoCoursePermissionDaosystemPermissionDaoSystemPermissionDaocourseBlockPictureDaoCourseBlockPictureDaocontentEntryPicture2DaoContentEntryPicture2DaotransferJobErrorDaoTransferJobErrorDaostudentResultDaoStudentResultDaoverbLangMapEntryDaoVerbLangMapEntryDaogroupMemberActorJoinDaoGroupMemberActorJoinDaoactivityLangMapEntryDaoActivityLangMapEntryDaoactivityInteractionDaoActivityInteractionDaoactivityExtensionDaoActivityExtensionDaostatementContextActivityJoinDaoStatementContextActivityJoinDaoxapiSessionEntityDaoXapiSessionEntityDaostatementEntityJsonDaoStatementEntityJsonDaostateEntityDaoStateEntityDaostateDeleteCommandDaoStateDeleteCommandDaoINSTANCE_RECEIVER%   comustadmobilecoredbUmAppDatabaseJsImplementationsDEFINEDkotlinUnitdoorutilDoorJsImplClassesUmAppDatabasedbKClassPROPERTY_BACKING_FIELDreflectKClassDEFAULT_PROPERTY_ACCESSORNothingdbImplKClassUmAppDatabase_JdbcImplreplicateWrapperImplClassUmAppDatabase_DoorWrapperrepositoryImplClassUmAppDatabase_RepometadataextDoorDatabaseMetadataUmAppDatabase_DoorMetadataINSTANCE_RECEIVER                            s $'#!*)%&G*    T  z      UO$    " d z" ZY     ?+-'  ) (*#! &'"# !z    bua<=  !   (    H W2       GH  = 0      &  (*   2L  "" $O4 ,   I 7#           8+%  '$  c  L9      dG   j" D      S;     7   :  "<    "/  "?#  %( ){       !F  ,    M2 comustadmobilecoredbUmAppDatabase_DoorMetadataDEFINEDkotlinUnitdoorextDoorDatabaseMetadataUmAppDatabasedbClassreflectKClassNothinghasReadOnlyWrapperBooleanversionIntallTablesPROPERTY_BACKING_FIELDcollectionsListStringlistOfArrayClazzLogClazzLogAttendanceRecordScheduleHolidayCalendarHolidayPersonClazzClazzEnrolmentLeavingReasonContentEntryContentEntryContentCategoryJoinContentEntryParentChildJoinContentEntryRelatedEntryJoinContentCategorySchemaContentCategoryLanguageLanguageVariantPersonAuthPersonGroupPersonGroupMemberPersonPictureVerbEntityActivityEntityStatementEntityActorEntitySyncNodeCommentsReportSiteSiteTermsPersonParentJoinScopedGrantErrorReportClazzAssignmentCourseAssignmentSubmissionCourseAssignmentSubmissionFileCourseAssignmentMarkPeerReviewerAllocationPersonAuth2UserSessionContentJobContentEntryImportJobCourseBlockCourseTerminologyCourseGroupSetCourseGroupMemberContentEntryPictureActivityInteractionEntityCoursePictureDiscussionPostExternalAppPermissionMessageStudentResultContentEntryVersionTransferJobTransferJobItemCacheLockJoinOfflineItemOfflineItemPendingTransferJobDeletedItemEnrolmentRequestCoursePermissionSystemPermissionCourseBlockPictureContentEntryPicture2TransferJobErrorVerbLangMapEntryGroupMemberActorJoinActivityLangMapEntryActivityExtensionEntityStatementContextActivityJoinXapiSessionEntityStatementEntityJsonStateEntityStateDeleteCommandOutgoingReplicationReplicationOperationPendingRepositorySessionDoorNodeDEFAULT_PROPERTY_ACCESSORreplicateEntitiesPROPERTY_DELEGATEreplicateEntities$delegateLazyMapreplicationReplicationEntityMetaDatalazyLazyThreadSafetyModeNONEFunction0LOCAL_FUNCTION_FOR_LAMBDAmapOfPairtoClazzLog_ReceiveViewclazzLogUidclazzLogLastChangedTimeReplicationFieldMetaDataclazzLogClazzUidlogDatetimeRecordedclazzLogDonecancellationNoteclazzLogCancelledclazzLogNumPresentclazzLogNumAbsentclazzLogNumPartialclazzLogScheduleUidclazzLogStatusFlagclazzLogMSQNclazzLogLCSNclazzLogLCBannotationReplicateEntityRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggerclazzlog_remote_insertOrderINSTEAD_OFEventarrayOfINSERTOnRECEIVEVIEWREPLACE INTO ClazzLog (clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime) VALUES( CAST(NEW.clazzLogUid AS BIGINT), CAST(NEW.clazzLogClazzUid AS BIGINT), CAST(NEW.logDate AS BIGINT), CAST(NEW.timeRecorded AS BIGINT), NEW.clazzLogDone, NEW.cancellationNote, NEW.clazzLogCancelled, NEW.clazzLogNumPresent, NEW.clazzLogNumAbsent, NEW.clazzLogNumPartial, CAST(NEW.clazzLogScheduleUid AS BIGINT), NEW.clazzLogStatusFlag, CAST(NEW.clazzLogMSQN AS BIGINT), CAST(NEW.clazzLogLCSN AS BIGINT), NEW.clazzLogLCB, CAST(NEW.clazzLogLastChangedTime AS BIGINT)) INSERT INTO ClazzLog (clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime) VALUES( CAST(NEW.clazzLogUid AS BIGINT), CAST(NEW.clazzLogClazzUid AS BIGINT), CAST(NEW.logDate AS BIGINT), CAST(NEW.timeRecorded AS BIGINT), NEW.clazzLogDone, NEW.cancellationNote, NEW.clazzLogCancelled, NEW.clazzLogNumPresent, NEW.clazzLogNumAbsent, NEW.clazzLogNumPartial, CAST(NEW.clazzLogScheduleUid AS BIGINT), NEW.clazzLogStatusFlag, CAST(NEW.clazzLogMSQN AS BIGINT), CAST(NEW.clazzLogLCSN AS BIGINT), NEW.clazzLogLCB, CAST(NEW.clazzLogLastChangedTime AS BIGINT)) ON CONFLICT(clazzLogUid) DO UPDATE SET clazzLogClazzUid = NEW.clazzLogClazzUid, logDate = NEW.logDate, timeRecorded = NEW.timeRecorded, clazzLogDone = NEW.clazzLogDone, cancellationNote = NEW.cancellationNote, clazzLogCancelled = NEW.clazzLogCancelled, clazzLogNumPresent = NEW.clazzLogNumPresent, clazzLogNumAbsent = NEW.clazzLogNumAbsent, clazzLogNumPartial = NEW.clazzLogNumPartial, clazzLogScheduleUid = NEW.clazzLogScheduleUid, clazzLogStatusFlag = NEW.clazzLogStatusFlag, clazzLogMSQN = NEW.clazzLogMSQN, clazzLogLCSN = NEW.clazzLogLCSN, clazzLogLCB = NEW.clazzLogLCB, clazzLogLastChangedTime = NEW.clazzLogLastChangedTime texttrimMargin |SELECT | CAST(NEW.clazzLogLastChangedTime AS BIGINT) > | COALESCE((SELECT ClazzLog_Existing.clazzLogLastChangedTime | FROM ClazzLog ClazzLog_Existing | WHERE ClazzLog_Existing.clazzLogUid = NEW.clazzLogUid), 0) | ClazzLogAttendanceRecord_ReceiveViewclazzLogAttendanceRecordUidclazzLogAttendanceRecordLastChangedTimeclazzLogAttendanceRecordClazzLogUidclazzLogAttendanceRecordPersonUidattendanceStatusclazzLogAttendanceRecordMasterChangeSeqNumclazzLogAttendanceRecordLocalChangeSeqNumclazzLogAttendanceRecordLastChangedByclazzlogattendancerecord_remote_insertREPLACE INTO ClazzLogAttendanceRecord (clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime) VALUES( CAST(NEW.clazzLogAttendanceRecordUid AS BIGINT), CAST(NEW.clazzLogAttendanceRecordClazzLogUid AS BIGINT), CAST(NEW.clazzLogAttendanceRecordPersonUid AS BIGINT), NEW.attendanceStatus, CAST(NEW.clazzLogAttendanceRecordMasterChangeSeqNum AS BIGINT), CAST(NEW.clazzLogAttendanceRecordLocalChangeSeqNum AS BIGINT), NEW.clazzLogAttendanceRecordLastChangedBy, CAST(NEW.clazzLogAttendanceRecordLastChangedTime AS BIGINT)) INSERT INTO ClazzLogAttendanceRecord (clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime) VALUES( CAST(NEW.clazzLogAttendanceRecordUid AS BIGINT), CAST(NEW.clazzLogAttendanceRecordClazzLogUid AS BIGINT), CAST(NEW.clazzLogAttendanceRecordPersonUid AS BIGINT), NEW.attendanceStatus, CAST(NEW.clazzLogAttendanceRecordMasterChangeSeqNum AS BIGINT), CAST(NEW.clazzLogAttendanceRecordLocalChangeSeqNum AS BIGINT), NEW.clazzLogAttendanceRecordLastChangedBy, CAST(NEW.clazzLogAttendanceRecordLastChangedTime AS BIGINT)) ON CONFLICT(clazzLogAttendanceRecordUid) DO UPDATE SET clazzLogAttendanceRecordClazzLogUid = NEW.clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid = NEW.clazzLogAttendanceRecordPersonUid, attendanceStatus = NEW.attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum = NEW.clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum = NEW.clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy = NEW.clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime = NEW.clazzLogAttendanceRecordLastChangedTime |SELECT | CAST(NEW.clazzLogAttendanceRecordLastChangedTime AS BIGINT) > | COALESCE((SELECT ClazzLogAttendanceRecord_Existing.clazzLogAttendanceRecordLastChangedTime | FROM ClazzLogAttendanceRecord ClazzLogAttendanceRecord_Existing | WHERE ClazzLogAttendanceRecord_Existing.clazzLogAttendanceRecordUid = NEW.clazzLogAttendanceRecordUid), 0) | Schedule_ReceiveViewscheduleUidscheduleLastChangedTimesceduleStartTimescheduleEndTimescheduleDayscheduleMonthscheduleFrequencyumCalendarUidscheduleClazzUidscheduleMasterChangeSeqNumscheduleLocalChangeSeqNumscheduleLastChangedByscheduleActiveschedule_remote_insertREPLACE INTO Schedule (scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive) VALUES( CAST(NEW.scheduleUid AS BIGINT), CAST(NEW.sceduleStartTime AS BIGINT), CAST(NEW.scheduleEndTime AS BIGINT), NEW.scheduleDay, NEW.scheduleMonth, NEW.scheduleFrequency, CAST(NEW.umCalendarUid AS BIGINT), CAST(NEW.scheduleClazzUid AS BIGINT), CAST(NEW.scheduleMasterChangeSeqNum AS BIGINT), CAST(NEW.scheduleLocalChangeSeqNum AS BIGINT), NEW.scheduleLastChangedBy, CAST(NEW.scheduleLastChangedTime AS BIGINT), NEW.scheduleActive) INSERT INTO Schedule (scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive) VALUES( CAST(NEW.scheduleUid AS BIGINT), CAST(NEW.sceduleStartTime AS BIGINT), CAST(NEW.scheduleEndTime AS BIGINT), NEW.scheduleDay, NEW.scheduleMonth, NEW.scheduleFrequency, CAST(NEW.umCalendarUid AS BIGINT), CAST(NEW.scheduleClazzUid AS BIGINT), CAST(NEW.scheduleMasterChangeSeqNum AS BIGINT), CAST(NEW.scheduleLocalChangeSeqNum AS BIGINT), NEW.scheduleLastChangedBy, CAST(NEW.scheduleLastChangedTime AS BIGINT), NEW.scheduleActive) ON CONFLICT(scheduleUid) DO UPDATE SET sceduleStartTime = NEW.sceduleStartTime, scheduleEndTime = NEW.scheduleEndTime, scheduleDay = NEW.scheduleDay, scheduleMonth = NEW.scheduleMonth, scheduleFrequency = NEW.scheduleFrequency, umCalendarUid = NEW.umCalendarUid, scheduleClazzUid = NEW.scheduleClazzUid, scheduleMasterChangeSeqNum = NEW.scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum = NEW.scheduleLocalChangeSeqNum, scheduleLastChangedBy = NEW.scheduleLastChangedBy, scheduleLastChangedTime = NEW.scheduleLastChangedTime, scheduleActive = NEW.scheduleActive |SELECT | CAST(NEW.scheduleLastChangedTime AS BIGINT) > | COALESCE((SELECT Schedule_Existing.scheduleLastChangedTime | FROM Schedule Schedule_Existing | WHERE Schedule_Existing.scheduleUid = NEW.scheduleUid), 0) | HolidayCalendar_ReceiveViewumCalendarLctumCalendarNameumCalendarCategoryumCalendarActiveumCalendarMasterChangeSeqNumumCalendarLocalChangeSeqNumumCalendarLastChangedByholidaycalendar_remote_insertREPLACE INTO HolidayCalendar (umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct) VALUES( CAST(NEW.umCalendarUid AS BIGINT), NEW.umCalendarName, NEW.umCalendarCategory, NEW.umCalendarActive, CAST(NEW.umCalendarMasterChangeSeqNum AS BIGINT), CAST(NEW.umCalendarLocalChangeSeqNum AS BIGINT), NEW.umCalendarLastChangedBy, CAST(NEW.umCalendarLct AS BIGINT)) INSERT INTO HolidayCalendar (umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct) VALUES( CAST(NEW.umCalendarUid AS BIGINT), NEW.umCalendarName, NEW.umCalendarCategory, NEW.umCalendarActive, CAST(NEW.umCalendarMasterChangeSeqNum AS BIGINT), CAST(NEW.umCalendarLocalChangeSeqNum AS BIGINT), NEW.umCalendarLastChangedBy, CAST(NEW.umCalendarLct AS BIGINT)) ON CONFLICT(umCalendarUid) DO UPDATE SET umCalendarName = NEW.umCalendarName, umCalendarCategory = NEW.umCalendarCategory, umCalendarActive = NEW.umCalendarActive, umCalendarMasterChangeSeqNum = NEW.umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum = NEW.umCalendarLocalChangeSeqNum, umCalendarLastChangedBy = NEW.umCalendarLastChangedBy, umCalendarLct = NEW.umCalendarLct |SELECT | CAST(NEW.umCalendarLct AS BIGINT) > | COALESCE((SELECT HolidayCalendar_Existing.umCalendarLct | FROM HolidayCalendar HolidayCalendar_Existing | WHERE HolidayCalendar_Existing.umCalendarUid = NEW.umCalendarUid), 0) | Holiday_ReceiveViewholUidholLctholMasterCsnholLocalCsnholLastModByholActiveholHolidayCalendarUidholStartTimeholEndTimeholNameholiday_remote_insertREPLACE INTO Holiday (holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName) VALUES( CAST(NEW.holUid AS BIGINT), CAST(NEW.holMasterCsn AS BIGINT), CAST(NEW.holLocalCsn AS BIGINT), NEW.holLastModBy, CAST(NEW.holLct AS BIGINT), NEW.holActive, CAST(NEW.holHolidayCalendarUid AS BIGINT), CAST(NEW.holStartTime AS BIGINT), CAST(NEW.holEndTime AS BIGINT), NEW.holName) INSERT INTO Holiday (holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName) VALUES( CAST(NEW.holUid AS BIGINT), CAST(NEW.holMasterCsn AS BIGINT), CAST(NEW.holLocalCsn AS BIGINT), NEW.holLastModBy, CAST(NEW.holLct AS BIGINT), NEW.holActive, CAST(NEW.holHolidayCalendarUid AS BIGINT), CAST(NEW.holStartTime AS BIGINT), CAST(NEW.holEndTime AS BIGINT), NEW.holName) ON CONFLICT(holUid) DO UPDATE SET holMasterCsn = NEW.holMasterCsn, holLocalCsn = NEW.holLocalCsn, holLastModBy = NEW.holLastModBy, holLct = NEW.holLct, holActive = NEW.holActive, holHolidayCalendarUid = NEW.holHolidayCalendarUid, holStartTime = NEW.holStartTime, holEndTime = NEW.holEndTime, holName = NEW.holName |SELECT | CAST(NEW.holLct AS BIGINT) > | COALESCE((SELECT Holiday_Existing.holLct | FROM Holiday Holiday_Existing | WHERE Holiday_Existing.holUid = NEW.holUid), 0) | Person_ReceiveViewpersonUidpersonLctusernamefirstNameslastNameemailAddrphoneNumgenderactivedateOfBirthpersonAddresspersonOrgIdpersonGroupUidpersonCountrypersonTypepersonMasterChangeSeqNumpersonLocalChangeSeqNumpersonLastChangedByadminpersonNotesfatherNamefatherNumbermotherNamemotherNumperson_remote_insertREPLACE INTO Person (personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) VALUES( CAST(NEW.personUid AS BIGINT), NEW.username, NEW.firstNames, NEW.lastName, NEW.emailAddr, NEW.phoneNum, NEW.gender, NEW.active, CAST(NEW.dateOfBirth AS BIGINT), NEW.personAddress, NEW.personOrgId, CAST(NEW.personGroupUid AS BIGINT), CAST(NEW.personLct AS BIGINT), NEW.personCountry, NEW.personType, CAST(NEW.personMasterChangeSeqNum AS BIGINT), CAST(NEW.personLocalChangeSeqNum AS BIGINT), NEW.personLastChangedBy, NEW.admin, NEW.personNotes, NEW.fatherName, NEW.fatherNumber, NEW.motherName, NEW.motherNum) INSERT INTO Person (personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) VALUES( CAST(NEW.personUid AS BIGINT), NEW.username, NEW.firstNames, NEW.lastName, NEW.emailAddr, NEW.phoneNum, NEW.gender, NEW.active, CAST(NEW.dateOfBirth AS BIGINT), NEW.personAddress, NEW.personOrgId, CAST(NEW.personGroupUid AS BIGINT), CAST(NEW.personLct AS BIGINT), NEW.personCountry, NEW.personType, CAST(NEW.personMasterChangeSeqNum AS BIGINT), CAST(NEW.personLocalChangeSeqNum AS BIGINT), NEW.personLastChangedBy, NEW.admin, NEW.personNotes, NEW.fatherName, NEW.fatherNumber, NEW.motherName, NEW.motherNum) ON CONFLICT(personUid) DO UPDATE SET username = NEW.username, firstNames = NEW.firstNames, lastName = NEW.lastName, emailAddr = NEW.emailAddr, phoneNum = NEW.phoneNum, gender = NEW.gender, active = NEW.active, dateOfBirth = NEW.dateOfBirth, personAddress = NEW.personAddress, personOrgId = NEW.personOrgId, personGroupUid = NEW.personGroupUid, personLct = NEW.personLct, personCountry = NEW.personCountry, personType = NEW.personType, personMasterChangeSeqNum = NEW.personMasterChangeSeqNum, personLocalChangeSeqNum = NEW.personLocalChangeSeqNum, personLastChangedBy = NEW.personLastChangedBy, admin = NEW.admin, personNotes = NEW.personNotes, fatherName = NEW.fatherName, fatherNumber = NEW.fatherNumber, motherName = NEW.motherName, motherNum = NEW.motherNum | | SELECT | ((NEW.username IS NULL | OR (SELECT NOT EXISTS( | SELECT Person.personUid | FROM Person | WHERE Person.username = NEW.username)) | OR NEW.personUid = | (SELECT Person.personUid | FROM Person | WHERE Person.username = NEW.username))) | AND CAST(NEW.personLct AS BIGINT) > | (SELECT COALESCE( | (SELECT Person.personLct | FROM Person | WHERE Person.personUid = CAST(NEW.personUid AS BIGINT)), 0)) | | Clazz_ReceiveViewclazzUidclazzLctclazzNameclazzDescattendanceAverageclazzHolidayUMCalendarUidclazzScheuleUMCalendarUidisClazzActiveclazzLocationUidclazzStartTimeclazzEndTimeclazzFeaturesclazzSchoolUidclazzEnrolmentPolicyclazzTerminologyUidclazzMasterChangeSeqNumclazzLocalChangeSeqNumclazzLastChangedByclazzTimeZoneclazzStudentsPersonGroupUidclazzTeachersPersonGroupUidclazzPendingStudentsPersonGroupUidclazzParentsPersonGroupUidclazzCodeclazzOwnerPersonUidclazz_remote_insertREPLACE INTO Clazz (clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid) VALUES( CAST(NEW.clazzUid AS BIGINT), NEW.clazzName, NEW.clazzDesc, NEW.attendanceAverage, CAST(NEW.clazzHolidayUMCalendarUid AS BIGINT), CAST(NEW.clazzScheuleUMCalendarUid AS BIGINT), NEW.isClazzActive, CAST(NEW.clazzLocationUid AS BIGINT), CAST(NEW.clazzStartTime AS BIGINT), CAST(NEW.clazzEndTime AS BIGINT), CAST(NEW.clazzFeatures AS BIGINT), CAST(NEW.clazzSchoolUid AS BIGINT), NEW.clazzEnrolmentPolicy, CAST(NEW.clazzTerminologyUid AS BIGINT), CAST(NEW.clazzMasterChangeSeqNum AS BIGINT), CAST(NEW.clazzLocalChangeSeqNum AS BIGINT), NEW.clazzLastChangedBy, CAST(NEW.clazzLct AS BIGINT), NEW.clazzTimeZone, CAST(NEW.clazzStudentsPersonGroupUid AS BIGINT), CAST(NEW.clazzTeachersPersonGroupUid AS BIGINT), CAST(NEW.clazzPendingStudentsPersonGroupUid AS BIGINT), CAST(NEW.clazzParentsPersonGroupUid AS BIGINT), NEW.clazzCode, CAST(NEW.clazzOwnerPersonUid AS BIGINT)) INSERT INTO Clazz (clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid) VALUES( CAST(NEW.clazzUid AS BIGINT), NEW.clazzName, NEW.clazzDesc, NEW.attendanceAverage, CAST(NEW.clazzHolidayUMCalendarUid AS BIGINT), CAST(NEW.clazzScheuleUMCalendarUid AS BIGINT), NEW.isClazzActive, CAST(NEW.clazzLocationUid AS BIGINT), CAST(NEW.clazzStartTime AS BIGINT), CAST(NEW.clazzEndTime AS BIGINT), CAST(NEW.clazzFeatures AS BIGINT), CAST(NEW.clazzSchoolUid AS BIGINT), NEW.clazzEnrolmentPolicy, CAST(NEW.clazzTerminologyUid AS BIGINT), CAST(NEW.clazzMasterChangeSeqNum AS BIGINT), CAST(NEW.clazzLocalChangeSeqNum AS BIGINT), NEW.clazzLastChangedBy, CAST(NEW.clazzLct AS BIGINT), NEW.clazzTimeZone, CAST(NEW.clazzStudentsPersonGroupUid AS BIGINT), CAST(NEW.clazzTeachersPersonGroupUid AS BIGINT), CAST(NEW.clazzPendingStudentsPersonGroupUid AS BIGINT), CAST(NEW.clazzParentsPersonGroupUid AS BIGINT), NEW.clazzCode, CAST(NEW.clazzOwnerPersonUid AS BIGINT)) ON CONFLICT(clazzUid) DO UPDATE SET clazzName = NEW.clazzName, clazzDesc = NEW.clazzDesc, attendanceAverage = NEW.attendanceAverage, clazzHolidayUMCalendarUid = NEW.clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid = NEW.clazzScheuleUMCalendarUid, isClazzActive = NEW.isClazzActive, clazzLocationUid = NEW.clazzLocationUid, clazzStartTime = NEW.clazzStartTime, clazzEndTime = NEW.clazzEndTime, clazzFeatures = NEW.clazzFeatures, clazzSchoolUid = NEW.clazzSchoolUid, clazzEnrolmentPolicy = NEW.clazzEnrolmentPolicy, clazzTerminologyUid = NEW.clazzTerminologyUid, clazzMasterChangeSeqNum = NEW.clazzMasterChangeSeqNum, clazzLocalChangeSeqNum = NEW.clazzLocalChangeSeqNum, clazzLastChangedBy = NEW.clazzLastChangedBy, clazzLct = NEW.clazzLct, clazzTimeZone = NEW.clazzTimeZone, clazzStudentsPersonGroupUid = NEW.clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid = NEW.clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid = NEW.clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid = NEW.clazzParentsPersonGroupUid, clazzCode = NEW.clazzCode, clazzOwnerPersonUid = NEW.clazzOwnerPersonUid |SELECT | CAST(NEW.clazzLct AS BIGINT) > | COALESCE((SELECT Clazz_Existing.clazzLct | FROM Clazz Clazz_Existing | WHERE Clazz_Existing.clazzUid = NEW.clazzUid), 0) | ClazzEnrolment_ReceiveViewclazzEnrolmentUidclazzEnrolmentLctclazzEnrolmentPersonUidclazzEnrolmentClazzUidclazzEnrolmentDateJoinedclazzEnrolmentDateLeftclazzEnrolmentRoleclazzEnrolmentAttendancePercentageclazzEnrolmentActiveclazzEnrolmentLeavingReasonUidclazzEnrolmentOutcomeclazzEnrolmentLocalChangeSeqNumclazzEnrolmentMasterChangeSeqNumclazzEnrolmentLastChangedByclazzenrolment_remote_insertREPLACE INTO ClazzEnrolment (clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct) VALUES( CAST(NEW.clazzEnrolmentUid AS BIGINT), CAST(NEW.clazzEnrolmentPersonUid AS BIGINT), CAST(NEW.clazzEnrolmentClazzUid AS BIGINT), CAST(NEW.clazzEnrolmentDateJoined AS BIGINT), CAST(NEW.clazzEnrolmentDateLeft AS BIGINT), NEW.clazzEnrolmentRole, NEW.clazzEnrolmentAttendancePercentage, NEW.clazzEnrolmentActive, CAST(NEW.clazzEnrolmentLeavingReasonUid AS BIGINT), NEW.clazzEnrolmentOutcome, CAST(NEW.clazzEnrolmentLocalChangeSeqNum AS BIGINT), CAST(NEW.clazzEnrolmentMasterChangeSeqNum AS BIGINT), NEW.clazzEnrolmentLastChangedBy, CAST(NEW.clazzEnrolmentLct AS BIGINT)) INSERT INTO ClazzEnrolment (clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct) VALUES( CAST(NEW.clazzEnrolmentUid AS BIGINT), CAST(NEW.clazzEnrolmentPersonUid AS BIGINT), CAST(NEW.clazzEnrolmentClazzUid AS BIGINT), CAST(NEW.clazzEnrolmentDateJoined AS BIGINT), CAST(NEW.clazzEnrolmentDateLeft AS BIGINT), NEW.clazzEnrolmentRole, NEW.clazzEnrolmentAttendancePercentage, NEW.clazzEnrolmentActive, CAST(NEW.clazzEnrolmentLeavingReasonUid AS BIGINT), NEW.clazzEnrolmentOutcome, CAST(NEW.clazzEnrolmentLocalChangeSeqNum AS BIGINT), CAST(NEW.clazzEnrolmentMasterChangeSeqNum AS BIGINT), NEW.clazzEnrolmentLastChangedBy, CAST(NEW.clazzEnrolmentLct AS BIGINT)) ON CONFLICT(clazzEnrolmentUid) DO UPDATE SET clazzEnrolmentPersonUid = NEW.clazzEnrolmentPersonUid, clazzEnrolmentClazzUid = NEW.clazzEnrolmentClazzUid, clazzEnrolmentDateJoined = NEW.clazzEnrolmentDateJoined, clazzEnrolmentDateLeft = NEW.clazzEnrolmentDateLeft, clazzEnrolmentRole = NEW.clazzEnrolmentRole, clazzEnrolmentAttendancePercentage = NEW.clazzEnrolmentAttendancePercentage, clazzEnrolmentActive = NEW.clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid = NEW.clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome = NEW.clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum = NEW.clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum = NEW.clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy = NEW.clazzEnrolmentLastChangedBy, clazzEnrolmentLct = NEW.clazzEnrolmentLct |SELECT | CAST(NEW.clazzEnrolmentLct AS BIGINT) > | COALESCE((SELECT ClazzEnrolment_Existing.clazzEnrolmentLct | FROM ClazzEnrolment ClazzEnrolment_Existing | WHERE ClazzEnrolment_Existing.clazzEnrolmentUid = NEW.clazzEnrolmentUid), 0) | LeavingReason_ReceiveViewleavingReasonUidleavingReasonLctleavingReasonTitleleavingReasonMCSNleavingReasonCSNleavingReasonLCBleavingreason_remote_insertREPLACE INTO LeavingReason (leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct) VALUES( CAST(NEW.leavingReasonUid AS BIGINT), NEW.leavingReasonTitle, CAST(NEW.leavingReasonMCSN AS BIGINT), CAST(NEW.leavingReasonCSN AS BIGINT), NEW.leavingReasonLCB, CAST(NEW.leavingReasonLct AS BIGINT)) INSERT INTO LeavingReason (leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct) VALUES( CAST(NEW.leavingReasonUid AS BIGINT), NEW.leavingReasonTitle, CAST(NEW.leavingReasonMCSN AS BIGINT), CAST(NEW.leavingReasonCSN AS BIGINT), NEW.leavingReasonLCB, CAST(NEW.leavingReasonLct AS BIGINT)) ON CONFLICT(leavingReasonUid) DO UPDATE SET leavingReasonTitle = NEW.leavingReasonTitle, leavingReasonMCSN = NEW.leavingReasonMCSN, leavingReasonCSN = NEW.leavingReasonCSN, leavingReasonLCB = NEW.leavingReasonLCB, leavingReasonLct = NEW.leavingReasonLct |SELECT | CAST(NEW.leavingReasonLct AS BIGINT) > | COALESCE((SELECT LeavingReason_Existing.leavingReasonLct | FROM LeavingReason LeavingReason_Existing | WHERE LeavingReason_Existing.leavingReasonUid = NEW.leavingReasonUid), 0) | ContentEntry_ReceiveViewcontentEntryUidcontentEntryLcttitledescriptionentryIdauthorpublisherlicenseTypelicenseNamelicenseUrlsourceUrlthumbnailUrllastModifiedprimaryLanguageUidlanguageVariantUidcontentFlagsleafpublikceInactivecompletionCriteriaminScorecontentTypeFlagcontentOwnercontentOwnerTypecontentEntryLocalChangeSeqNumcontentEntryMasterChangeSeqNumcontentEntryLastChangedBycontententry_remote_insertREPLACE INTO ContentEntry (contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct) VALUES( CAST(NEW.contentEntryUid AS BIGINT), NEW.title, NEW.description, NEW.entryId, NEW.author, NEW.publisher, NEW.licenseType, NEW.licenseName, NEW.licenseUrl, NEW.sourceUrl, NEW.thumbnailUrl, CAST(NEW.lastModified AS BIGINT), CAST(NEW.primaryLanguageUid AS BIGINT), CAST(NEW.languageVariantUid AS BIGINT), NEW.contentFlags, NEW.leaf, NEW.publik, NEW.ceInactive, NEW.completionCriteria, NEW.minScore, NEW.contentTypeFlag, CAST(NEW.contentOwner AS BIGINT), NEW.contentOwnerType, CAST(NEW.contentEntryLocalChangeSeqNum AS BIGINT), CAST(NEW.contentEntryMasterChangeSeqNum AS BIGINT), NEW.contentEntryLastChangedBy, CAST(NEW.contentEntryLct AS BIGINT)) INSERT INTO ContentEntry (contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct) VALUES( CAST(NEW.contentEntryUid AS BIGINT), NEW.title, NEW.description, NEW.entryId, NEW.author, NEW.publisher, NEW.licenseType, NEW.licenseName, NEW.licenseUrl, NEW.sourceUrl, NEW.thumbnailUrl, CAST(NEW.lastModified AS BIGINT), CAST(NEW.primaryLanguageUid AS BIGINT), CAST(NEW.languageVariantUid AS BIGINT), NEW.contentFlags, NEW.leaf, NEW.publik, NEW.ceInactive, NEW.completionCriteria, NEW.minScore, NEW.contentTypeFlag, CAST(NEW.contentOwner AS BIGINT), NEW.contentOwnerType, CAST(NEW.contentEntryLocalChangeSeqNum AS BIGINT), CAST(NEW.contentEntryMasterChangeSeqNum AS BIGINT), NEW.contentEntryLastChangedBy, CAST(NEW.contentEntryLct AS BIGINT)) ON CONFLICT(contentEntryUid) DO UPDATE SET title = NEW.title, description = NEW.description, entryId = NEW.entryId, author = NEW.author, publisher = NEW.publisher, licenseType = NEW.licenseType, licenseName = NEW.licenseName, licenseUrl = NEW.licenseUrl, sourceUrl = NEW.sourceUrl, thumbnailUrl = NEW.thumbnailUrl, lastModified = NEW.lastModified, primaryLanguageUid = NEW.primaryLanguageUid, languageVariantUid = NEW.languageVariantUid, contentFlags = NEW.contentFlags, leaf = NEW.leaf, publik = NEW.publik, ceInactive = NEW.ceInactive, completionCriteria = NEW.completionCriteria, minScore = NEW.minScore, contentTypeFlag = NEW.contentTypeFlag, contentOwner = NEW.contentOwner, contentOwnerType = NEW.contentOwnerType, contentEntryLocalChangeSeqNum = NEW.contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum = NEW.contentEntryMasterChangeSeqNum, contentEntryLastChangedBy = NEW.contentEntryLastChangedBy, contentEntryLct = NEW.contentEntryLct |SELECT | CAST(NEW.contentEntryLct AS BIGINT) > | COALESCE((SELECT ContentEntry_Existing.contentEntryLct | FROM ContentEntry ContentEntry_Existing | WHERE ContentEntry_Existing.contentEntryUid = NEW.contentEntryUid), 0) | ContentEntryContentCategoryJoin_ReceiveViewceccjUidceccjLctceccjContentEntryUidceccjContentCategoryUidceccjLocalChangeSeqNumceccjMasterChangeSeqNumceccjLastChangedBycontententrycontentcategoryjoin_remote_insertREPLACE INTO ContentEntryContentCategoryJoin (ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct) VALUES( CAST(NEW.ceccjUid AS BIGINT), CAST(NEW.ceccjContentEntryUid AS BIGINT), CAST(NEW.ceccjContentCategoryUid AS BIGINT), CAST(NEW.ceccjLocalChangeSeqNum AS BIGINT), CAST(NEW.ceccjMasterChangeSeqNum AS BIGINT), NEW.ceccjLastChangedBy, CAST(NEW.ceccjLct AS BIGINT)) INSERT INTO ContentEntryContentCategoryJoin (ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct) VALUES( CAST(NEW.ceccjUid AS BIGINT), CAST(NEW.ceccjContentEntryUid AS BIGINT), CAST(NEW.ceccjContentCategoryUid AS BIGINT), CAST(NEW.ceccjLocalChangeSeqNum AS BIGINT), CAST(NEW.ceccjMasterChangeSeqNum AS BIGINT), NEW.ceccjLastChangedBy, CAST(NEW.ceccjLct AS BIGINT)) ON CONFLICT(ceccjUid) DO UPDATE SET ceccjContentEntryUid = NEW.ceccjContentEntryUid, ceccjContentCategoryUid = NEW.ceccjContentCategoryUid, ceccjLocalChangeSeqNum = NEW.ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum = NEW.ceccjMasterChangeSeqNum, ceccjLastChangedBy = NEW.ceccjLastChangedBy, ceccjLct = NEW.ceccjLct |SELECT | CAST(NEW.ceccjLct AS BIGINT) > | COALESCE((SELECT ContentEntryContentCategoryJoin_Existing.ceccjLct | FROM ContentEntryContentCategoryJoin ContentEntryContentCategoryJoin_Existing | WHERE ContentEntryContentCategoryJoin_Existing.ceccjUid = NEW.ceccjUid), 0) | ContentEntryParentChildJoin_ReceiveViewcepcjUidcepcjLctcepcjLocalChangeSeqNumcepcjMasterChangeSeqNumcepcjLastChangedBycepcjDeletedcepcjParentContentEntryUidcepcjChildContentEntryUidchildIndexcontententryparentchildjoin_remote_insertREPLACE INTO ContentEntryParentChildJoin (cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex) VALUES( CAST(NEW.cepcjUid AS BIGINT), CAST(NEW.cepcjLocalChangeSeqNum AS BIGINT), CAST(NEW.cepcjMasterChangeSeqNum AS BIGINT), NEW.cepcjLastChangedBy, CAST(NEW.cepcjLct AS BIGINT), NEW.cepcjDeleted, CAST(NEW.cepcjParentContentEntryUid AS BIGINT), CAST(NEW.cepcjChildContentEntryUid AS BIGINT), NEW.childIndex) INSERT INTO ContentEntryParentChildJoin (cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex) VALUES( CAST(NEW.cepcjUid AS BIGINT), CAST(NEW.cepcjLocalChangeSeqNum AS BIGINT), CAST(NEW.cepcjMasterChangeSeqNum AS BIGINT), NEW.cepcjLastChangedBy, CAST(NEW.cepcjLct AS BIGINT), NEW.cepcjDeleted, CAST(NEW.cepcjParentContentEntryUid AS BIGINT), CAST(NEW.cepcjChildContentEntryUid AS BIGINT), NEW.childIndex) ON CONFLICT(cepcjUid) DO UPDATE SET cepcjLocalChangeSeqNum = NEW.cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum = NEW.cepcjMasterChangeSeqNum, cepcjLastChangedBy = NEW.cepcjLastChangedBy, cepcjLct = NEW.cepcjLct, cepcjDeleted = NEW.cepcjDeleted, cepcjParentContentEntryUid = NEW.cepcjParentContentEntryUid, cepcjChildContentEntryUid = NEW.cepcjChildContentEntryUid, childIndex = NEW.childIndex |SELECT | CAST(NEW.cepcjLct AS BIGINT) > | COALESCE((SELECT ContentEntryParentChildJoin_Existing.cepcjLct | FROM ContentEntryParentChildJoin ContentEntryParentChildJoin_Existing | WHERE ContentEntryParentChildJoin_Existing.cepcjUid = NEW.cepcjUid), 0) | ContentEntryRelatedEntryJoin_ReceiveViewcerejUidcerejLctcerejContentEntryUidcerejRelatedEntryUidcerejLastChangedByrelTypecommentcerejRelLanguageUidcerejLocalChangeSeqNumcerejMasterChangeSeqNumcontententryrelatedentryjoin_remote_insertREPLACE INTO ContentEntryRelatedEntryJoin (cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct) VALUES( CAST(NEW.cerejUid AS BIGINT), CAST(NEW.cerejContentEntryUid AS BIGINT), CAST(NEW.cerejRelatedEntryUid AS BIGINT), NEW.cerejLastChangedBy, NEW.relType, NEW.comment, CAST(NEW.cerejRelLanguageUid AS BIGINT), CAST(NEW.cerejLocalChangeSeqNum AS BIGINT), CAST(NEW.cerejMasterChangeSeqNum AS BIGINT), CAST(NEW.cerejLct AS BIGINT)) INSERT INTO ContentEntryRelatedEntryJoin (cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct) VALUES( CAST(NEW.cerejUid AS BIGINT), CAST(NEW.cerejContentEntryUid AS BIGINT), CAST(NEW.cerejRelatedEntryUid AS BIGINT), NEW.cerejLastChangedBy, NEW.relType, NEW.comment, CAST(NEW.cerejRelLanguageUid AS BIGINT), CAST(NEW.cerejLocalChangeSeqNum AS BIGINT), CAST(NEW.cerejMasterChangeSeqNum AS BIGINT), CAST(NEW.cerejLct AS BIGINT)) ON CONFLICT(cerejUid) DO UPDATE SET cerejContentEntryUid = NEW.cerejContentEntryUid, cerejRelatedEntryUid = NEW.cerejRelatedEntryUid, cerejLastChangedBy = NEW.cerejLastChangedBy, relType = NEW.relType, comment = NEW.comment, cerejRelLanguageUid = NEW.cerejRelLanguageUid, cerejLocalChangeSeqNum = NEW.cerejLocalChangeSeqNum, cerejMasterChangeSeqNum = NEW.cerejMasterChangeSeqNum, cerejLct = NEW.cerejLct |SELECT | CAST(NEW.cerejLct AS BIGINT) > | COALESCE((SELECT ContentEntryRelatedEntryJoin_Existing.cerejLct | FROM ContentEntryRelatedEntryJoin ContentEntryRelatedEntryJoin_Existing | WHERE ContentEntryRelatedEntryJoin_Existing.cerejUid = NEW.cerejUid), 0) | ContentCategorySchema_ReceiveViewcontentCategorySchemaUidcontentCategorySchemaLctschemaNameschemaUrlcontentCategorySchemaLocalChangeSeqNumcontentCategorySchemaMasterChangeSeqNumcontentCategorySchemaLastChangedBycontentcategoryschema_remote_insertREPLACE INTO ContentCategorySchema (contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct) VALUES( CAST(NEW.contentCategorySchemaUid AS BIGINT), NEW.schemaName, NEW.schemaUrl, CAST(NEW.contentCategorySchemaLocalChangeSeqNum AS BIGINT), CAST(NEW.contentCategorySchemaMasterChangeSeqNum AS BIGINT), NEW.contentCategorySchemaLastChangedBy, CAST(NEW.contentCategorySchemaLct AS BIGINT)) INSERT INTO ContentCategorySchema (contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct) VALUES( CAST(NEW.contentCategorySchemaUid AS BIGINT), NEW.schemaName, NEW.schemaUrl, CAST(NEW.contentCategorySchemaLocalChangeSeqNum AS BIGINT), CAST(NEW.contentCategorySchemaMasterChangeSeqNum AS BIGINT), NEW.contentCategorySchemaLastChangedBy, CAST(NEW.contentCategorySchemaLct AS BIGINT)) ON CONFLICT(contentCategorySchemaUid) DO UPDATE SET schemaName = NEW.schemaName, schemaUrl = NEW.schemaUrl, contentCategorySchemaLocalChangeSeqNum = NEW.contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum = NEW.contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy = NEW.contentCategorySchemaLastChangedBy, contentCategorySchemaLct = NEW.contentCategorySchemaLct |SELECT | CAST(NEW.contentCategorySchemaLct AS BIGINT) > | COALESCE((SELECT ContentCategorySchema_Existing.contentCategorySchemaLct | FROM ContentCategorySchema ContentCategorySchema_Existing | WHERE ContentCategorySchema_Existing.contentCategorySchemaUid = NEW.contentCategorySchemaUid), 0) | ContentCategory_ReceiveViewcontentCategoryUidcontentCategoryLctctnCatContentCategorySchemaUidnamecontentCategoryLocalChangeSeqNumcontentCategoryMasterChangeSeqNumcontentCategoryLastChangedBycontentcategory_remote_insertREPLACE INTO ContentCategory (contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct) VALUES( CAST(NEW.contentCategoryUid AS BIGINT), CAST(NEW.ctnCatContentCategorySchemaUid AS BIGINT), NEW.name, CAST(NEW.contentCategoryLocalChangeSeqNum AS BIGINT), CAST(NEW.contentCategoryMasterChangeSeqNum AS BIGINT), NEW.contentCategoryLastChangedBy, CAST(NEW.contentCategoryLct AS BIGINT)) INSERT INTO ContentCategory (contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct) VALUES( CAST(NEW.contentCategoryUid AS BIGINT), CAST(NEW.ctnCatContentCategorySchemaUid AS BIGINT), NEW.name, CAST(NEW.contentCategoryLocalChangeSeqNum AS BIGINT), CAST(NEW.contentCategoryMasterChangeSeqNum AS BIGINT), NEW.contentCategoryLastChangedBy, CAST(NEW.contentCategoryLct AS BIGINT)) ON CONFLICT(contentCategoryUid) DO UPDATE SET ctnCatContentCategorySchemaUid = NEW.ctnCatContentCategorySchemaUid, name = NEW.name, contentCategoryLocalChangeSeqNum = NEW.contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum = NEW.contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy = NEW.contentCategoryLastChangedBy, contentCategoryLct = NEW.contentCategoryLct |SELECT | CAST(NEW.contentCategoryLct AS BIGINT) > | COALESCE((SELECT ContentCategory_Existing.contentCategoryLct | FROM ContentCategory ContentCategory_Existing | WHERE ContentCategory_Existing.contentCategoryUid = NEW.contentCategoryUid), 0) | Language_ReceiveViewlangUidlangLctiso_639_1_standardiso_639_2_standardiso_639_3_standardLanguage_TypelanguageActivelangLocalChangeSeqNumlangMasterChangeSeqNumlangLastChangedBylanguage_remote_insertREPLACE INTO Language (langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct) VALUES( CAST(NEW.langUid AS BIGINT), NEW.name, NEW.iso_639_1_standard, NEW.iso_639_2_standard, NEW.iso_639_3_standard, NEW.Language_Type, NEW.languageActive, CAST(NEW.langLocalChangeSeqNum AS BIGINT), CAST(NEW.langMasterChangeSeqNum AS BIGINT), NEW.langLastChangedBy, CAST(NEW.langLct AS BIGINT)) INSERT INTO Language (langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct) VALUES( CAST(NEW.langUid AS BIGINT), NEW.name, NEW.iso_639_1_standard, NEW.iso_639_2_standard, NEW.iso_639_3_standard, NEW.Language_Type, NEW.languageActive, CAST(NEW.langLocalChangeSeqNum AS BIGINT), CAST(NEW.langMasterChangeSeqNum AS BIGINT), NEW.langLastChangedBy, CAST(NEW.langLct AS BIGINT)) ON CONFLICT(langUid) DO UPDATE SET name = NEW.name, iso_639_1_standard = NEW.iso_639_1_standard, iso_639_2_standard = NEW.iso_639_2_standard, iso_639_3_standard = NEW.iso_639_3_standard, Language_Type = NEW.Language_Type, languageActive = NEW.languageActive, langLocalChangeSeqNum = NEW.langLocalChangeSeqNum, langMasterChangeSeqNum = NEW.langMasterChangeSeqNum, langLastChangedBy = NEW.langLastChangedBy, langLct = NEW.langLct |SELECT | CAST(NEW.langLct AS BIGINT) > | COALESCE((SELECT Language_Existing.langLct | FROM Language Language_Existing | WHERE Language_Existing.langUid = NEW.langUid), 0) | LanguageVariant_ReceiveViewlangVariantUidlangVariantLctcountryCodelangVariantLocalChangeSeqNumlangVariantMasterChangeSeqNumlangVariantLastChangedBylanguagevariant_remote_insertREPLACE INTO LanguageVariant (langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct) VALUES( CAST(NEW.langVariantUid AS BIGINT), CAST(NEW.langUid AS BIGINT), NEW.countryCode, NEW.name, CAST(NEW.langVariantLocalChangeSeqNum AS BIGINT), CAST(NEW.langVariantMasterChangeSeqNum AS BIGINT), NEW.langVariantLastChangedBy, CAST(NEW.langVariantLct AS BIGINT)) INSERT INTO LanguageVariant (langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct) VALUES( CAST(NEW.langVariantUid AS BIGINT), CAST(NEW.langUid AS BIGINT), NEW.countryCode, NEW.name, CAST(NEW.langVariantLocalChangeSeqNum AS BIGINT), CAST(NEW.langVariantMasterChangeSeqNum AS BIGINT), NEW.langVariantLastChangedBy, CAST(NEW.langVariantLct AS BIGINT)) ON CONFLICT(langVariantUid) DO UPDATE SET langUid = NEW.langUid, countryCode = NEW.countryCode, name = NEW.name, langVariantLocalChangeSeqNum = NEW.langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum = NEW.langVariantMasterChangeSeqNum, langVariantLastChangedBy = NEW.langVariantLastChangedBy, langVariantLct = NEW.langVariantLct |SELECT | CAST(NEW.langVariantLct AS BIGINT) > | COALESCE((SELECT LanguageVariant_Existing.langVariantLct | FROM LanguageVariant LanguageVariant_Existing | WHERE LanguageVariant_Existing.langVariantUid = NEW.langVariantUid), 0) | PersonGroup_ReceiveViewgroupUidgroupLctgroupMasterCsngroupLocalCsngroupLastChangedBygroupNamegroupActivepersonGroupFlagpersongroup_remote_insertREPLACE INTO PersonGroup (groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag) VALUES( CAST(NEW.groupUid AS BIGINT), CAST(NEW.groupMasterCsn AS BIGINT), CAST(NEW.groupLocalCsn AS BIGINT), NEW.groupLastChangedBy, CAST(NEW.groupLct AS BIGINT), NEW.groupName, NEW.groupActive, NEW.personGroupFlag) INSERT INTO PersonGroup (groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag) VALUES( CAST(NEW.groupUid AS BIGINT), CAST(NEW.groupMasterCsn AS BIGINT), CAST(NEW.groupLocalCsn AS BIGINT), NEW.groupLastChangedBy, CAST(NEW.groupLct AS BIGINT), NEW.groupName, NEW.groupActive, NEW.personGroupFlag) ON CONFLICT(groupUid) DO UPDATE SET groupMasterCsn = NEW.groupMasterCsn, groupLocalCsn = NEW.groupLocalCsn, groupLastChangedBy = NEW.groupLastChangedBy, groupLct = NEW.groupLct, groupName = NEW.groupName, groupActive = NEW.groupActive, personGroupFlag = NEW.personGroupFlag |SELECT | CAST(NEW.groupLct AS BIGINT) > | COALESCE((SELECT PersonGroup_Existing.groupLct | FROM PersonGroup PersonGroup_Existing | WHERE PersonGroup_Existing.groupUid = NEW.groupUid), 0) | PersonGroupMember_ReceiveViewgroupMemberUidgroupMemberLctgroupMemberActivegroupMemberPersonUidgroupMemberGroupUidgroupMemberMasterCsngroupMemberLocalCsngroupMemberLastChangedBypersongroupmember_remote_insertREPLACE INTO PersonGroupMember (groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct) VALUES( CAST(NEW.groupMemberUid AS BIGINT), NEW.groupMemberActive, CAST(NEW.groupMemberPersonUid AS BIGINT), CAST(NEW.groupMemberGroupUid AS BIGINT), CAST(NEW.groupMemberMasterCsn AS BIGINT), CAST(NEW.groupMemberLocalCsn AS BIGINT), NEW.groupMemberLastChangedBy, CAST(NEW.groupMemberLct AS BIGINT)) INSERT INTO PersonGroupMember (groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct) VALUES( CAST(NEW.groupMemberUid AS BIGINT), NEW.groupMemberActive, CAST(NEW.groupMemberPersonUid AS BIGINT), CAST(NEW.groupMemberGroupUid AS BIGINT), CAST(NEW.groupMemberMasterCsn AS BIGINT), CAST(NEW.groupMemberLocalCsn AS BIGINT), NEW.groupMemberLastChangedBy, CAST(NEW.groupMemberLct AS BIGINT)) ON CONFLICT(groupMemberUid) DO UPDATE SET groupMemberActive = NEW.groupMemberActive, groupMemberPersonUid = NEW.groupMemberPersonUid, groupMemberGroupUid = NEW.groupMemberGroupUid, groupMemberMasterCsn = NEW.groupMemberMasterCsn, groupMemberLocalCsn = NEW.groupMemberLocalCsn, groupMemberLastChangedBy = NEW.groupMemberLastChangedBy, groupMemberLct = NEW.groupMemberLct |SELECT | CAST(NEW.groupMemberLct AS BIGINT) > | COALESCE((SELECT PersonGroupMember_Existing.groupMemberLct | FROM PersonGroupMember PersonGroupMember_Existing | WHERE PersonGroupMember_Existing.groupMemberUid = NEW.groupMemberUid), 0) | PersonPicture_ReceiveViewpersonPictureUidpersonPictureLctpersonPictureUripersonPictureThumbnailUrifileSizepersonPictureActivepersonpicture_remote_insertREPLACE INTO PersonPicture (personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) VALUES( CAST(NEW.personPictureUid AS BIGINT), CAST(NEW.personPictureLct AS BIGINT), NEW.personPictureUri, NEW.personPictureThumbnailUri, NEW.fileSize, NEW.personPictureActive) INSERT INTO PersonPicture (personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) VALUES( CAST(NEW.personPictureUid AS BIGINT), CAST(NEW.personPictureLct AS BIGINT), NEW.personPictureUri, NEW.personPictureThumbnailUri, NEW.fileSize, NEW.personPictureActive) ON CONFLICT(personPictureUid) DO UPDATE SET personPictureLct = NEW.personPictureLct, personPictureUri = NEW.personPictureUri, personPictureThumbnailUri = NEW.personPictureThumbnailUri, fileSize = NEW.fileSize, personPictureActive = NEW.personPictureActive |SELECT | CAST(NEW.personPictureLct AS BIGINT) > | COALESCE((SELECT PersonPicture_Existing.personPictureLct | FROM PersonPicture PersonPicture_Existing | WHERE PersonPicture_Existing.personPictureUid = NEW.personPictureUid), 0) | VerbEntity_ReceiveViewverbUidverbLctverbUrlIdverbDeletedverbentity_remote_insertREPLACE INTO VerbEntity (verbUid, verbUrlId, verbDeleted, verbLct) VALUES( CAST(NEW.verbUid AS BIGINT), NEW.verbUrlId, NEW.verbDeleted, CAST(NEW.verbLct AS BIGINT)) INSERT INTO VerbEntity (verbUid, verbUrlId, verbDeleted, verbLct) VALUES( CAST(NEW.verbUid AS BIGINT), NEW.verbUrlId, NEW.verbDeleted, CAST(NEW.verbLct AS BIGINT)) ON CONFLICT(verbUid) DO UPDATE SET verbUrlId = NEW.verbUrlId, verbDeleted = NEW.verbDeleted, verbLct = NEW.verbLct |SELECT | CAST(NEW.verbLct AS BIGINT) > | COALESCE((SELECT VerbEntity_Existing.verbLct | FROM VerbEntity VerbEntity_Existing | WHERE VerbEntity_Existing.verbUid = NEW.verbUid), 0) | ActivityEntity_ReceiveViewactUidactLctactIdIriactTypeactMoreInfoactInteractionTypeactCorrectResponsePatternsactivityentity_remote_insertREPLACE INTO ActivityEntity (actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) VALUES( CAST(NEW.actUid AS BIGINT), NEW.actIdIri, NEW.actType, NEW.actMoreInfo, NEW.actInteractionType, NEW.actCorrectResponsePatterns, CAST(NEW.actLct AS BIGINT)) INSERT INTO ActivityEntity (actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) VALUES( CAST(NEW.actUid AS BIGINT), NEW.actIdIri, NEW.actType, NEW.actMoreInfo, NEW.actInteractionType, NEW.actCorrectResponsePatterns, CAST(NEW.actLct AS BIGINT)) ON CONFLICT(actUid) DO UPDATE SET actIdIri = NEW.actIdIri, actType = NEW.actType, actMoreInfo = NEW.actMoreInfo, actInteractionType = NEW.actInteractionType, actCorrectResponsePatterns = NEW.actCorrectResponsePatterns, actLct = NEW.actLct |SELECT | CAST(NEW.actLct AS BIGINT) > | COALESCE((SELECT ActivityEntity_Existing.actLct | FROM ActivityEntity ActivityEntity_Existing | WHERE ActivityEntity_Existing.actUid = NEW.actUid), 0) | StatementEntity_ReceiveViewstatementIdHistatementIdLostatementLctstatementActorPersonUidstatementVerbUidstatementObjectTypestatementObjectUid1statementObjectUid2statementActorUidauthorityActorUidteamUidresultCompletionresultSuccessresultScoreScaledresultScoreRawresultScoreMinresultScoreMaxresultDurationresultResponsetimestampstoredcontextRegistrationHicontextRegistrationLocontextPlatformcontextStatementRefIdHicontextStatementRefIdLocontextInstructorActorUidextensionProgresscompletionOrProgressstatementContentEntryUidstatementLearnerGroupUidstatementClazzUidstatementCbUidstatementDoorNodeisSubStatementstatemententity_remote_insertREPLACE INTO StatementEntity (statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement) VALUES( CAST(NEW.statementIdHi AS BIGINT), CAST(NEW.statementIdLo AS BIGINT), CAST(NEW.statementActorPersonUid AS BIGINT), CAST(NEW.statementVerbUid AS BIGINT), NEW.statementObjectType, CAST(NEW.statementObjectUid1 AS BIGINT), CAST(NEW.statementObjectUid2 AS BIGINT), CAST(NEW.statementActorUid AS BIGINT), CAST(NEW.authorityActorUid AS BIGINT), CAST(NEW.teamUid AS BIGINT), NEW.resultCompletion, NEW.resultSuccess, NEW.resultScoreScaled, NEW.resultScoreRaw, NEW.resultScoreMin, NEW.resultScoreMax, NEW.resultDuration, NEW.resultResponse, CAST(NEW.timestamp AS BIGINT), CAST(NEW.stored AS BIGINT), CAST(NEW.contextRegistrationHi AS BIGINT), CAST(NEW.contextRegistrationLo AS BIGINT), NEW.contextPlatform, CAST(NEW.contextStatementRefIdHi AS BIGINT), CAST(NEW.contextStatementRefIdLo AS BIGINT), CAST(NEW.contextInstructorActorUid AS BIGINT), CAST(NEW.statementLct AS BIGINT), NEW.extensionProgress, NEW.completionOrProgress, CAST(NEW.statementContentEntryUid AS BIGINT), CAST(NEW.statementLearnerGroupUid AS BIGINT), CAST(NEW.statementClazzUid AS BIGINT), CAST(NEW.statementCbUid AS BIGINT), CAST(NEW.statementDoorNode AS BIGINT), NEW.isSubStatement) INSERT INTO StatementEntity (statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement) VALUES( CAST(NEW.statementIdHi AS BIGINT), CAST(NEW.statementIdLo AS BIGINT), CAST(NEW.statementActorPersonUid AS BIGINT), CAST(NEW.statementVerbUid AS BIGINT), NEW.statementObjectType, CAST(NEW.statementObjectUid1 AS BIGINT), CAST(NEW.statementObjectUid2 AS BIGINT), CAST(NEW.statementActorUid AS BIGINT), CAST(NEW.authorityActorUid AS BIGINT), CAST(NEW.teamUid AS BIGINT), NEW.resultCompletion, NEW.resultSuccess, NEW.resultScoreScaled, NEW.resultScoreRaw, NEW.resultScoreMin, NEW.resultScoreMax, NEW.resultDuration, NEW.resultResponse, CAST(NEW.timestamp AS BIGINT), CAST(NEW.stored AS BIGINT), CAST(NEW.contextRegistrationHi AS BIGINT), CAST(NEW.contextRegistrationLo AS BIGINT), NEW.contextPlatform, CAST(NEW.contextStatementRefIdHi AS BIGINT), CAST(NEW.contextStatementRefIdLo AS BIGINT), CAST(NEW.contextInstructorActorUid AS BIGINT), CAST(NEW.statementLct AS BIGINT), NEW.extensionProgress, NEW.completionOrProgress, CAST(NEW.statementContentEntryUid AS BIGINT), CAST(NEW.statementLearnerGroupUid AS BIGINT), CAST(NEW.statementClazzUid AS BIGINT), CAST(NEW.statementCbUid AS BIGINT), CAST(NEW.statementDoorNode AS BIGINT), NEW.isSubStatement) ON CONFLICT(statementIdHi, statementIdLo) DO UPDATE SET statementActorPersonUid = NEW.statementActorPersonUid, statementVerbUid = NEW.statementVerbUid, statementObjectType = NEW.statementObjectType, statementObjectUid1 = NEW.statementObjectUid1, statementObjectUid2 = NEW.statementObjectUid2, statementActorUid = NEW.statementActorUid, authorityActorUid = NEW.authorityActorUid, teamUid = NEW.teamUid, resultCompletion = NEW.resultCompletion, resultSuccess = NEW.resultSuccess, resultScoreScaled = NEW.resultScoreScaled, resultScoreRaw = NEW.resultScoreRaw, resultScoreMin = NEW.resultScoreMin, resultScoreMax = NEW.resultScoreMax, resultDuration = NEW.resultDuration, resultResponse = NEW.resultResponse, timestamp = NEW.timestamp, stored = NEW.stored, contextRegistrationHi = NEW.contextRegistrationHi, contextRegistrationLo = NEW.contextRegistrationLo, contextPlatform = NEW.contextPlatform, contextStatementRefIdHi = NEW.contextStatementRefIdHi, contextStatementRefIdLo = NEW.contextStatementRefIdLo, contextInstructorActorUid = NEW.contextInstructorActorUid, statementLct = NEW.statementLct, extensionProgress = NEW.extensionProgress, completionOrProgress = NEW.completionOrProgress, statementContentEntryUid = NEW.statementContentEntryUid, statementLearnerGroupUid = NEW.statementLearnerGroupUid, statementClazzUid = NEW.statementClazzUid, statementCbUid = NEW.statementCbUid, statementDoorNode = NEW.statementDoorNode, isSubStatement = NEW.isSubStatement |SELECT | CAST(NEW.statementLct AS BIGINT) > | COALESCE((SELECT StatementEntity_Existing.statementLct | FROM StatementEntity StatementEntity_Existing | WHERE StatementEntity_Existing.statementIdHi = NEW.statementIdHi AND StatementEntity_Existing.statementIdLo = NEW.statementIdLo), 0) | ActorEntity_ReceiveViewactorUidactorEtagactorPersonUidactorNameactorMboxactorMbox_sha1sumactorOpenidactorAccountNameactorAccountHomePageactorLctactorObjectTypeagententity_remote_insertREPLACE INTO ActorEntity (actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) VALUES( CAST(NEW.actorUid AS BIGINT), CAST(NEW.actorPersonUid AS BIGINT), NEW.actorName, NEW.actorMbox, NEW.actorMbox_sha1sum, NEW.actorOpenid, NEW.actorAccountName, NEW.actorAccountHomePage, CAST(NEW.actorEtag AS BIGINT), CAST(NEW.actorLct AS BIGINT), NEW.actorObjectType) INSERT INTO ActorEntity (actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) VALUES( CAST(NEW.actorUid AS BIGINT), CAST(NEW.actorPersonUid AS BIGINT), NEW.actorName, NEW.actorMbox, NEW.actorMbox_sha1sum, NEW.actorOpenid, NEW.actorAccountName, NEW.actorAccountHomePage, CAST(NEW.actorEtag AS BIGINT), CAST(NEW.actorLct AS BIGINT), NEW.actorObjectType) ON CONFLICT(actorUid) DO UPDATE SET actorPersonUid = NEW.actorPersonUid, actorName = NEW.actorName, actorMbox = NEW.actorMbox, actorMbox_sha1sum = NEW.actorMbox_sha1sum, actorOpenid = NEW.actorOpenid, actorAccountName = NEW.actorAccountName, actorAccountHomePage = NEW.actorAccountHomePage, actorEtag = NEW.actorEtag, actorLct = NEW.actorLct, actorObjectType = NEW.actorObjectType |SELECT | CAST(NEW.actorLct AS BIGINT) > | COALESCE((SELECT ActorEntity_Existing.actorLct | FROM ActorEntity ActorEntity_Existing | WHERE ActorEntity_Existing.actorUid = NEW.actorUid), 0) | Comments_ReceiveViewcommentsUidcommentsLctcommentsTextcommentsEntityUidcommentsStatuscommentsFromPersonUidcommentsForSubmitterUidcommentsFromSubmitterUidcommentsFlaggedcommentsDeletedcommentsDateTimeAddedcomments_remote_insertREPLACE INTO Comments (commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct) VALUES( CAST(NEW.commentsUid AS BIGINT), NEW.commentsText, CAST(NEW.commentsEntityUid AS BIGINT), NEW.commentsStatus, CAST(NEW.commentsFromPersonUid AS BIGINT), CAST(NEW.commentsForSubmitterUid AS BIGINT), CAST(NEW.commentsFromSubmitterUid AS BIGINT), NEW.commentsFlagged, NEW.commentsDeleted, CAST(NEW.commentsDateTimeAdded AS BIGINT), CAST(NEW.commentsLct AS BIGINT)) INSERT INTO Comments (commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct) VALUES( CAST(NEW.commentsUid AS BIGINT), NEW.commentsText, CAST(NEW.commentsEntityUid AS BIGINT), NEW.commentsStatus, CAST(NEW.commentsFromPersonUid AS BIGINT), CAST(NEW.commentsForSubmitterUid AS BIGINT), CAST(NEW.commentsFromSubmitterUid AS BIGINT), NEW.commentsFlagged, NEW.commentsDeleted, CAST(NEW.commentsDateTimeAdded AS BIGINT), CAST(NEW.commentsLct AS BIGINT)) ON CONFLICT(commentsUid) DO UPDATE SET commentsText = NEW.commentsText, commentsEntityUid = NEW.commentsEntityUid, commentsStatus = NEW.commentsStatus, commentsFromPersonUid = NEW.commentsFromPersonUid, commentsForSubmitterUid = NEW.commentsForSubmitterUid, commentsFromSubmitterUid = NEW.commentsFromSubmitterUid, commentsFlagged = NEW.commentsFlagged, commentsDeleted = NEW.commentsDeleted, commentsDateTimeAdded = NEW.commentsDateTimeAdded, commentsLct = NEW.commentsLct |SELECT | CAST(NEW.commentsLct AS BIGINT) > | COALESCE((SELECT Comments_Existing.commentsLct | FROM Comments Comments_Existing | WHERE Comments_Existing.commentsUid = NEW.commentsUid), 0) | Report_ReceiveViewreportUidreportLctreportOwnerUidxAxisreportDateRangeSelectionfromDatefromRelTofromRelOffSetfromRelUnittoDatetoRelTotoRelOffSettoRelUnitreportTitlereportDescriptionreportSeriesreportInactiveisTemplatepriorityreportTitleIdreportDescIdreportMasterChangeSeqNumreportLocalChangeSeqNumreportLastChangedByreport_remote_insertREPLACE INTO Report (reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct) VALUES( CAST(NEW.reportUid AS BIGINT), CAST(NEW.reportOwnerUid AS BIGINT), NEW.xAxis, NEW.reportDateRangeSelection, CAST(NEW.fromDate AS BIGINT), NEW.fromRelTo, NEW.fromRelOffSet, NEW.fromRelUnit, CAST(NEW.toDate AS BIGINT), NEW.toRelTo, NEW.toRelOffSet, NEW.toRelUnit, NEW.reportTitle, NEW.reportDescription, NEW.reportSeries, NEW.reportInactive, NEW.isTemplate, NEW.priority, NEW.reportTitleId, NEW.reportDescId, CAST(NEW.reportMasterChangeSeqNum AS BIGINT), CAST(NEW.reportLocalChangeSeqNum AS BIGINT), NEW.reportLastChangedBy, CAST(NEW.reportLct AS BIGINT)) INSERT INTO Report (reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct) VALUES( CAST(NEW.reportUid AS BIGINT), CAST(NEW.reportOwnerUid AS BIGINT), NEW.xAxis, NEW.reportDateRangeSelection, CAST(NEW.fromDate AS BIGINT), NEW.fromRelTo, NEW.fromRelOffSet, NEW.fromRelUnit, CAST(NEW.toDate AS BIGINT), NEW.toRelTo, NEW.toRelOffSet, NEW.toRelUnit, NEW.reportTitle, NEW.reportDescription, NEW.reportSeries, NEW.reportInactive, NEW.isTemplate, NEW.priority, NEW.reportTitleId, NEW.reportDescId, CAST(NEW.reportMasterChangeSeqNum AS BIGINT), CAST(NEW.reportLocalChangeSeqNum AS BIGINT), NEW.reportLastChangedBy, CAST(NEW.reportLct AS BIGINT)) ON CONFLICT(reportUid) DO UPDATE SET reportOwnerUid = NEW.reportOwnerUid, xAxis = NEW.xAxis, reportDateRangeSelection = NEW.reportDateRangeSelection, fromDate = NEW.fromDate, fromRelTo = NEW.fromRelTo, fromRelOffSet = NEW.fromRelOffSet, fromRelUnit = NEW.fromRelUnit, toDate = NEW.toDate, toRelTo = NEW.toRelTo, toRelOffSet = NEW.toRelOffSet, toRelUnit = NEW.toRelUnit, reportTitle = NEW.reportTitle, reportDescription = NEW.reportDescription, reportSeries = NEW.reportSeries, reportInactive = NEW.reportInactive, isTemplate = NEW.isTemplate, priority = NEW.priority, reportTitleId = NEW.reportTitleId, reportDescId = NEW.reportDescId, reportMasterChangeSeqNum = NEW.reportMasterChangeSeqNum, reportLocalChangeSeqNum = NEW.reportLocalChangeSeqNum, reportLastChangedBy = NEW.reportLastChangedBy, reportLct = NEW.reportLct |SELECT | CAST(NEW.reportLct AS BIGINT) > | COALESCE((SELECT Report_Existing.reportLct | FROM Report Report_Existing | WHERE Report_Existing.reportUid = NEW.reportUid), 0) | Site_ReceiveViewsiteUidsiteLctsitePcsnsiteLcsnsiteLcbsiteNameguestLoginregistrationAllowedauthSaltsite_remote_insertREPLACE INTO Site (siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt) VALUES( CAST(NEW.siteUid AS BIGINT), CAST(NEW.sitePcsn AS BIGINT), CAST(NEW.siteLcsn AS BIGINT), NEW.siteLcb, CAST(NEW.siteLct AS BIGINT), NEW.siteName, NEW.guestLogin, NEW.registrationAllowed, NEW.authSalt) INSERT INTO Site (siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt) VALUES( CAST(NEW.siteUid AS BIGINT), CAST(NEW.sitePcsn AS BIGINT), CAST(NEW.siteLcsn AS BIGINT), NEW.siteLcb, CAST(NEW.siteLct AS BIGINT), NEW.siteName, NEW.guestLogin, NEW.registrationAllowed, NEW.authSalt) ON CONFLICT(siteUid) DO UPDATE SET sitePcsn = NEW.sitePcsn, siteLcsn = NEW.siteLcsn, siteLcb = NEW.siteLcb, siteLct = NEW.siteLct, siteName = NEW.siteName, guestLogin = NEW.guestLogin, registrationAllowed = NEW.registrationAllowed, authSalt = NEW.authSalt | | SELECT ((SELECT COUNT(*) | FROM Site) = 0 | OR NEW.authSalt = | (SELECT Site.authSalt | FROM Site | LIMIT 1)) | AND (SELECT | CAST(NEW.siteLct AS BIGINT) > | COALESCE((SELECT Site_Existing.siteLct | FROM Site Site_Existing | WHERE Site_Existing.siteUid = NEW.siteUid), 0) | ) | SiteTerms_ReceiveViewsTermsUidsTermsLcttermsHtmlsTermsLangsTermsLangUidsTermsActivesTermsLastChangedBysTermsPrimaryCsnsTermsLocalCsnsiteterms_remote_insertREPLACE INTO SiteTerms (sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct) VALUES( CAST(NEW.sTermsUid AS BIGINT), NEW.termsHtml, NEW.sTermsLang, CAST(NEW.sTermsLangUid AS BIGINT), NEW.sTermsActive, NEW.sTermsLastChangedBy, CAST(NEW.sTermsPrimaryCsn AS BIGINT), CAST(NEW.sTermsLocalCsn AS BIGINT), CAST(NEW.sTermsLct AS BIGINT)) INSERT INTO SiteTerms (sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct) VALUES( CAST(NEW.sTermsUid AS BIGINT), NEW.termsHtml, NEW.sTermsLang, CAST(NEW.sTermsLangUid AS BIGINT), NEW.sTermsActive, NEW.sTermsLastChangedBy, CAST(NEW.sTermsPrimaryCsn AS BIGINT), CAST(NEW.sTermsLocalCsn AS BIGINT), CAST(NEW.sTermsLct AS BIGINT)) ON CONFLICT(sTermsUid) DO UPDATE SET termsHtml = NEW.termsHtml, sTermsLang = NEW.sTermsLang, sTermsLangUid = NEW.sTermsLangUid, sTermsActive = NEW.sTermsActive, sTermsLastChangedBy = NEW.sTermsLastChangedBy, sTermsPrimaryCsn = NEW.sTermsPrimaryCsn, sTermsLocalCsn = NEW.sTermsLocalCsn, sTermsLct = NEW.sTermsLct |SELECT | CAST(NEW.sTermsLct AS BIGINT) > | COALESCE((SELECT SiteTerms_Existing.sTermsLct | FROM SiteTerms SiteTerms_Existing | WHERE SiteTerms_Existing.sTermsUid = NEW.sTermsUid), 0) | PersonParentJoin_ReceiveViewppjUidppjLctppjPcsnppjLcsnppjLcbppjParentPersonUidppjMinorPersonUidppjRelationshipppjEmailppjPhoneppjInactiveppjStatusppjApprovalTiemstampppjApprovalIpAddrpersonparentjoin_remote_insertREPLACE INTO PersonParentJoin (ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) VALUES( CAST(NEW.ppjUid AS BIGINT), CAST(NEW.ppjPcsn AS BIGINT), CAST(NEW.ppjLcsn AS BIGINT), NEW.ppjLcb, CAST(NEW.ppjLct AS BIGINT), CAST(NEW.ppjParentPersonUid AS BIGINT), CAST(NEW.ppjMinorPersonUid AS BIGINT), NEW.ppjRelationship, NEW.ppjEmail, NEW.ppjPhone, NEW.ppjInactive, NEW.ppjStatus, CAST(NEW.ppjApprovalTiemstamp AS BIGINT), NEW.ppjApprovalIpAddr) INSERT INTO PersonParentJoin (ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) VALUES( CAST(NEW.ppjUid AS BIGINT), CAST(NEW.ppjPcsn AS BIGINT), CAST(NEW.ppjLcsn AS BIGINT), NEW.ppjLcb, CAST(NEW.ppjLct AS BIGINT), CAST(NEW.ppjParentPersonUid AS BIGINT), CAST(NEW.ppjMinorPersonUid AS BIGINT), NEW.ppjRelationship, NEW.ppjEmail, NEW.ppjPhone, NEW.ppjInactive, NEW.ppjStatus, CAST(NEW.ppjApprovalTiemstamp AS BIGINT), NEW.ppjApprovalIpAddr) ON CONFLICT(ppjUid) DO UPDATE SET ppjPcsn = NEW.ppjPcsn, ppjLcsn = NEW.ppjLcsn, ppjLcb = NEW.ppjLcb, ppjLct = NEW.ppjLct, ppjParentPersonUid = NEW.ppjParentPersonUid, ppjMinorPersonUid = NEW.ppjMinorPersonUid, ppjRelationship = NEW.ppjRelationship, ppjEmail = NEW.ppjEmail, ppjPhone = NEW.ppjPhone, ppjInactive = NEW.ppjInactive, ppjStatus = NEW.ppjStatus, ppjApprovalTiemstamp = NEW.ppjApprovalTiemstamp, ppjApprovalIpAddr = NEW.ppjApprovalIpAddr |SELECT | CAST(NEW.ppjLct AS BIGINT) > | COALESCE((SELECT PersonParentJoin_Existing.ppjLct | FROM PersonParentJoin PersonParentJoin_Existing | WHERE PersonParentJoin_Existing.ppjUid = NEW.ppjUid), 0) | ScopedGrant_ReceiveViewsgUidsgLctsgPcsnsgLcsnsgLcbsgTableIdsgEntityUidsgPermissionssgGroupUidsgIndexsgFlagssg_remote_insertUPDATE ScopedGrant SET sgLct = 0 WHERE sgUid = 0 |SELECT | CAST(NEW.sgLct AS BIGINT) > | COALESCE((SELECT ScopedGrant_Existing.sgLct | FROM ScopedGrant ScopedGrant_Existing | WHERE ScopedGrant_Existing.sgUid = NEW.sgUid), 0) | ErrorReport_ReceiveViewerrUiderrLcterrPcsnerrLcsnerrLcbseveritypresenterUriappVersionversionCodeerrorCodeoperatingSysosVersionstackTracemessageerrorreport_remote_insertREPLACE INTO ErrorReport (errUid, errPcsn, errLcsn, errLcb, errLct, severity, timestamp, presenterUri, appVersion, versionCode, errorCode, operatingSys, osVersion, stackTrace, message) VALUES( CAST(NEW.errUid AS BIGINT), CAST(NEW.errPcsn AS BIGINT), CAST(NEW.errLcsn AS BIGINT), NEW.errLcb, CAST(NEW.errLct AS BIGINT), NEW.severity, CAST(NEW.timestamp AS BIGINT), NEW.presenterUri, NEW.appVersion, NEW.versionCode, NEW.errorCode, NEW.operatingSys, NEW.osVersion, NEW.stackTrace, NEW.message) INSERT INTO ErrorReport (errUid, errPcsn, errLcsn, errLcb, errLct, severity, timestamp, presenterUri, appVersion, versionCode, errorCode, operatingSys, osVersion, stackTrace, message) VALUES( CAST(NEW.errUid AS BIGINT), CAST(NEW.errPcsn AS BIGINT), CAST(NEW.errLcsn AS BIGINT), NEW.errLcb, CAST(NEW.errLct AS BIGINT), NEW.severity, CAST(NEW.timestamp AS BIGINT), NEW.presenterUri, NEW.appVersion, NEW.versionCode, NEW.errorCode, NEW.operatingSys, NEW.osVersion, NEW.stackTrace, NEW.message) ON CONFLICT(errUid) DO UPDATE SET errPcsn = NEW.errPcsn, errLcsn = NEW.errLcsn, errLcb = NEW.errLcb, errLct = NEW.errLct, severity = NEW.severity, timestamp = NEW.timestamp, presenterUri = NEW.presenterUri, appVersion = NEW.appVersion, versionCode = NEW.versionCode, errorCode = NEW.errorCode, operatingSys = NEW.operatingSys, osVersion = NEW.osVersion, stackTrace = NEW.stackTrace, message = NEW.message |SELECT | CAST(NEW.errLct AS BIGINT) > | COALESCE((SELECT ErrorReport_Existing.errLct | FROM ErrorReport ErrorReport_Existing | WHERE ErrorReport_Existing.errUid = NEW.errUid), 0) | ClazzAssignment_ReceiveViewcaUidcaLctcaTitlecaDescriptioncaGroupUidcaActivecaClassCommentEnabledcaPrivateCommentsEnabledcaCompletionCriteriacaRequireFileSubmissioncaFileTypecaSizeLimitcaNumberOfFilescaSubmissionPolicycaMarkingTypecaRequireTextSubmissioncaTextLimitTypecaTextLimitcaXObjectUidcaClazzUidcaPeerReviewerCountcaLocalChangeSeqNumcaMasterChangeSeqNumcaLastChangedByclazzassignment_remote_insertREPLACE INTO ClazzAssignment (caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) VALUES( CAST(NEW.caUid AS BIGINT), NEW.caTitle, NEW.caDescription, CAST(NEW.caGroupUid AS BIGINT), NEW.caActive, NEW.caClassCommentEnabled, NEW.caPrivateCommentsEnabled, NEW.caCompletionCriteria, NEW.caRequireFileSubmission, NEW.caFileType, NEW.caSizeLimit, NEW.caNumberOfFiles, NEW.caSubmissionPolicy, NEW.caMarkingType, NEW.caRequireTextSubmission, NEW.caTextLimitType, NEW.caTextLimit, CAST(NEW.caXObjectUid AS BIGINT), CAST(NEW.caClazzUid AS BIGINT), NEW.caPeerReviewerCount, CAST(NEW.caLocalChangeSeqNum AS BIGINT), CAST(NEW.caMasterChangeSeqNum AS BIGINT), NEW.caLastChangedBy, CAST(NEW.caLct AS BIGINT)) INSERT INTO ClazzAssignment (caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) VALUES( CAST(NEW.caUid AS BIGINT), NEW.caTitle, NEW.caDescription, CAST(NEW.caGroupUid AS BIGINT), NEW.caActive, NEW.caClassCommentEnabled, NEW.caPrivateCommentsEnabled, NEW.caCompletionCriteria, NEW.caRequireFileSubmission, NEW.caFileType, NEW.caSizeLimit, NEW.caNumberOfFiles, NEW.caSubmissionPolicy, NEW.caMarkingType, NEW.caRequireTextSubmission, NEW.caTextLimitType, NEW.caTextLimit, CAST(NEW.caXObjectUid AS BIGINT), CAST(NEW.caClazzUid AS BIGINT), NEW.caPeerReviewerCount, CAST(NEW.caLocalChangeSeqNum AS BIGINT), CAST(NEW.caMasterChangeSeqNum AS BIGINT), NEW.caLastChangedBy, CAST(NEW.caLct AS BIGINT)) ON CONFLICT(caUid) DO UPDATE SET caTitle = NEW.caTitle, caDescription = NEW.caDescription, caGroupUid = NEW.caGroupUid, caActive = NEW.caActive, caClassCommentEnabled = NEW.caClassCommentEnabled, caPrivateCommentsEnabled = NEW.caPrivateCommentsEnabled, caCompletionCriteria = NEW.caCompletionCriteria, caRequireFileSubmission = NEW.caRequireFileSubmission, caFileType = NEW.caFileType, caSizeLimit = NEW.caSizeLimit, caNumberOfFiles = NEW.caNumberOfFiles, caSubmissionPolicy = NEW.caSubmissionPolicy, caMarkingType = NEW.caMarkingType, caRequireTextSubmission = NEW.caRequireTextSubmission, caTextLimitType = NEW.caTextLimitType, caTextLimit = NEW.caTextLimit, caXObjectUid = NEW.caXObjectUid, caClazzUid = NEW.caClazzUid, caPeerReviewerCount = NEW.caPeerReviewerCount, caLocalChangeSeqNum = NEW.caLocalChangeSeqNum, caMasterChangeSeqNum = NEW.caMasterChangeSeqNum, caLastChangedBy = NEW.caLastChangedBy, caLct = NEW.caLct |SELECT | CAST(NEW.caLct AS BIGINT) > | COALESCE((SELECT ClazzAssignment_Existing.caLct | FROM ClazzAssignment ClazzAssignment_Existing | WHERE ClazzAssignment_Existing.caUid = NEW.caUid), 0) | CourseAssignmentSubmission_ReceiveViewcasUidcasTimestampcasAssignmentUidcasSubmitterUidcasSubmitterPersonUidcasTextcasTypecasClazzUidcourseassignmentsubmission_remote_insertREPLACE INTO CourseAssignmentSubmission (casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid) VALUES( CAST(NEW.casUid AS BIGINT), CAST(NEW.casAssignmentUid AS BIGINT), CAST(NEW.casSubmitterUid AS BIGINT), CAST(NEW.casSubmitterPersonUid AS BIGINT), NEW.casText, NEW.casType, CAST(NEW.casTimestamp AS BIGINT), CAST(NEW.casClazzUid AS BIGINT)) INSERT INTO CourseAssignmentSubmission (casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid) VALUES( CAST(NEW.casUid AS BIGINT), CAST(NEW.casAssignmentUid AS BIGINT), CAST(NEW.casSubmitterUid AS BIGINT), CAST(NEW.casSubmitterPersonUid AS BIGINT), NEW.casText, NEW.casType, CAST(NEW.casTimestamp AS BIGINT), CAST(NEW.casClazzUid AS BIGINT)) ON CONFLICT(casUid) DO UPDATE SET casAssignmentUid = NEW.casAssignmentUid, casSubmitterUid = NEW.casSubmitterUid, casSubmitterPersonUid = NEW.casSubmitterPersonUid, casText = NEW.casText, casType = NEW.casType, casTimestamp = NEW.casTimestamp, casClazzUid = NEW.casClazzUid |SELECT | CAST(NEW.casTimestamp AS BIGINT) > | COALESCE((SELECT CourseAssignmentSubmission_Existing.casTimestamp | FROM CourseAssignmentSubmission CourseAssignmentSubmission_Existing | WHERE CourseAssignmentSubmission_Existing.casUid = NEW.casUid), 0) | CourseAssignmentSubmissionFile_ReceiveViewcasaUidcasaTimestampcasaSubmissionUidcasaSubmitterUidcasaCaUidcasaClazzUidcasaMimeTypecasaFileNamecasaUricasaSizecasaDeletedcourseassignmentsubmissionattachment_remote_insertREPLACE INTO CourseAssignmentSubmissionFile (casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted) VALUES( CAST(NEW.casaUid AS BIGINT), CAST(NEW.casaSubmissionUid AS BIGINT), CAST(NEW.casaSubmitterUid AS BIGINT), CAST(NEW.casaCaUid AS BIGINT), CAST(NEW.casaClazzUid AS BIGINT), NEW.casaMimeType, NEW.casaFileName, NEW.casaUri, NEW.casaSize, CAST(NEW.casaTimestamp AS BIGINT), NEW.casaDeleted) INSERT INTO CourseAssignmentSubmissionFile (casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted) VALUES( CAST(NEW.casaUid AS BIGINT), CAST(NEW.casaSubmissionUid AS BIGINT), CAST(NEW.casaSubmitterUid AS BIGINT), CAST(NEW.casaCaUid AS BIGINT), CAST(NEW.casaClazzUid AS BIGINT), NEW.casaMimeType, NEW.casaFileName, NEW.casaUri, NEW.casaSize, CAST(NEW.casaTimestamp AS BIGINT), NEW.casaDeleted) ON CONFLICT(casaUid) DO UPDATE SET casaSubmissionUid = NEW.casaSubmissionUid, casaSubmitterUid = NEW.casaSubmitterUid, casaCaUid = NEW.casaCaUid, casaClazzUid = NEW.casaClazzUid, casaMimeType = NEW.casaMimeType, casaFileName = NEW.casaFileName, casaUri = NEW.casaUri, casaSize = NEW.casaSize, casaTimestamp = NEW.casaTimestamp, casaDeleted = NEW.casaDeleted |SELECT | CAST(NEW.casaTimestamp AS BIGINT) > | COALESCE((SELECT CourseAssignmentSubmissionFile_Existing.casaTimestamp | FROM CourseAssignmentSubmissionFile CourseAssignmentSubmissionFile_Existing | WHERE CourseAssignmentSubmissionFile_Existing.casaUid = NEW.casaUid), 0) | CourseAssignmentMark_ReceiveViewcamUidcamLctcamAssignmentUidcamSubmitterUidcamMarkerSubmitterUidcamMarkerPersonUidcamMarkerCommentcamMarkcamMaxMarkcamPenaltycamClazzUidcourseassignmentmark_remote_insertREPLACE INTO CourseAssignmentMark (camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid) VALUES( CAST(NEW.camUid AS BIGINT), CAST(NEW.camAssignmentUid AS BIGINT), CAST(NEW.camSubmitterUid AS BIGINT), CAST(NEW.camMarkerSubmitterUid AS BIGINT), CAST(NEW.camMarkerPersonUid AS BIGINT), NEW.camMarkerComment, NEW.camMark, NEW.camMaxMark, NEW.camPenalty, CAST(NEW.camLct AS BIGINT), CAST(NEW.camClazzUid AS BIGINT)) INSERT INTO CourseAssignmentMark (camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid) VALUES( CAST(NEW.camUid AS BIGINT), CAST(NEW.camAssignmentUid AS BIGINT), CAST(NEW.camSubmitterUid AS BIGINT), CAST(NEW.camMarkerSubmitterUid AS BIGINT), CAST(NEW.camMarkerPersonUid AS BIGINT), NEW.camMarkerComment, NEW.camMark, NEW.camMaxMark, NEW.camPenalty, CAST(NEW.camLct AS BIGINT), CAST(NEW.camClazzUid AS BIGINT)) ON CONFLICT(camUid) DO UPDATE SET camAssignmentUid = NEW.camAssignmentUid, camSubmitterUid = NEW.camSubmitterUid, camMarkerSubmitterUid = NEW.camMarkerSubmitterUid, camMarkerPersonUid = NEW.camMarkerPersonUid, camMarkerComment = NEW.camMarkerComment, camMark = NEW.camMark, camMaxMark = NEW.camMaxMark, camPenalty = NEW.camPenalty, camLct = NEW.camLct, camClazzUid = NEW.camClazzUid |SELECT | CAST(NEW.camLct AS BIGINT) > | COALESCE((SELECT CourseAssignmentMark_Existing.camLct | FROM CourseAssignmentMark CourseAssignmentMark_Existing | WHERE CourseAssignmentMark_Existing.camUid = NEW.camUid), 0) | PeerReviewerAllocation_ReceiveViewpraUidpraLctpraMarkerSubmitterUidpraToMarkerSubmitterUidpraAssignmentUidpraActivepeerreviewerallocation_remote_insertREPLACE INTO PeerReviewerAllocation (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES( CAST(NEW.praUid AS BIGINT), CAST(NEW.praMarkerSubmitterUid AS BIGINT), CAST(NEW.praToMarkerSubmitterUid AS BIGINT), CAST(NEW.praAssignmentUid AS BIGINT), NEW.praActive, CAST(NEW.praLct AS BIGINT)) INSERT INTO PeerReviewerAllocation (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES( CAST(NEW.praUid AS BIGINT), CAST(NEW.praMarkerSubmitterUid AS BIGINT), CAST(NEW.praToMarkerSubmitterUid AS BIGINT), CAST(NEW.praAssignmentUid AS BIGINT), NEW.praActive, CAST(NEW.praLct AS BIGINT)) ON CONFLICT(praUid) DO UPDATE SET praMarkerSubmitterUid = NEW.praMarkerSubmitterUid, praToMarkerSubmitterUid = NEW.praToMarkerSubmitterUid, praAssignmentUid = NEW.praAssignmentUid, praActive = NEW.praActive, praLct = NEW.praLct |SELECT | CAST(NEW.praLct AS BIGINT) > | COALESCE((SELECT PeerReviewerAllocation_Existing.praLct | FROM PeerReviewerAllocation PeerReviewerAllocation_Existing | WHERE PeerReviewerAllocation_Existing.praUid = NEW.praUid), 0) | PersonAuth2_ReceiveViewpauthUidpauthLctpauthMechanismpauthAuthpauthLcsnpauthPcsnpauthLcbpersonauth2_remote_insertREPLACE INTO PersonAuth2 (pauthUid, pauthMechanism, pauthAuth, pauthLcsn, pauthPcsn, pauthLcb, pauthLct) VALUES( CAST(NEW.pauthUid AS BIGINT), NEW.pauthMechanism, NEW.pauthAuth, CAST(NEW.pauthLcsn AS BIGINT), CAST(NEW.pauthPcsn AS BIGINT), CAST(NEW.pauthLcb AS BIGINT), CAST(NEW.pauthLct AS BIGINT)) INSERT INTO PersonAuth2 (pauthUid, pauthMechanism, pauthAuth, pauthLcsn, pauthPcsn, pauthLcb, pauthLct) VALUES( CAST(NEW.pauthUid AS BIGINT), NEW.pauthMechanism, NEW.pauthAuth, CAST(NEW.pauthLcsn AS BIGINT), CAST(NEW.pauthPcsn AS BIGINT), CAST(NEW.pauthLcb AS BIGINT), CAST(NEW.pauthLct AS BIGINT)) ON CONFLICT(pauthUid) DO UPDATE SET pauthMechanism = NEW.pauthMechanism, pauthAuth = NEW.pauthAuth, pauthLcsn = NEW.pauthLcsn, pauthPcsn = NEW.pauthPcsn, pauthLcb = NEW.pauthLcb, pauthLct = NEW.pauthLct |SELECT | CAST(NEW.pauthLct AS BIGINT) > | COALESCE((SELECT PersonAuth2_Existing.pauthLct | FROM PersonAuth2 PersonAuth2_Existing | WHERE PersonAuth2_Existing.pauthUid = NEW.pauthUid), 0) | UserSession_ReceiveViewusUidusLctusPcsnusLcsnusLcbusPersonUidusClientNodeIdusStartTimeusEndTimeusStatususReasonusAuthusSessionTypeusersession_remote_insertREPLACE INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES( CAST(NEW.usUid AS BIGINT), CAST(NEW.usPcsn AS BIGINT), CAST(NEW.usLcsn AS BIGINT), CAST(NEW.usLcb AS BIGINT), CAST(NEW.usLct AS BIGINT), CAST(NEW.usPersonUid AS BIGINT), CAST(NEW.usClientNodeId AS BIGINT), CAST(NEW.usStartTime AS BIGINT), CAST(NEW.usEndTime AS BIGINT), NEW.usStatus, NEW.usReason, NEW.usAuth, NEW.usSessionType) INSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES( CAST(NEW.usUid AS BIGINT), CAST(NEW.usPcsn AS BIGINT), CAST(NEW.usLcsn AS BIGINT), CAST(NEW.usLcb AS BIGINT), CAST(NEW.usLct AS BIGINT), CAST(NEW.usPersonUid AS BIGINT), CAST(NEW.usClientNodeId AS BIGINT), CAST(NEW.usStartTime AS BIGINT), CAST(NEW.usEndTime AS BIGINT), NEW.usStatus, NEW.usReason, NEW.usAuth, NEW.usSessionType) ON CONFLICT(usUid) DO UPDATE SET usPcsn = NEW.usPcsn, usLcsn = NEW.usLcsn, usLcb = NEW.usLcb, usLct = NEW.usLct, usPersonUid = NEW.usPersonUid, usClientNodeId = NEW.usClientNodeId, usStartTime = NEW.usStartTime, usEndTime = NEW.usEndTime, usStatus = NEW.usStatus, usReason = NEW.usReason, usAuth = NEW.usAuth, usSessionType = NEW.usSessionType |SELECT | CAST(NEW.usLct AS BIGINT) > | COALESCE((SELECT UserSession_Existing.usLct | FROM UserSession UserSession_Existing | WHERE UserSession_Existing.usUid = NEW.usUid), 0) | ContentJob_ReceiveViewcjUidcjLcttoUricjProgresscjTotalcjNotificationTitlecjIsMeteredAllowedparamscontentjob_remote_insertREPLACE INTO ContentJob (cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct) VALUES( CAST(NEW.cjUid AS BIGINT), NEW.toUri, CAST(NEW.cjProgress AS BIGINT), CAST(NEW.cjTotal AS BIGINT), NEW.cjNotificationTitle, NEW.cjIsMeteredAllowed, NEW.params, CAST(NEW.cjLct AS BIGINT)) INSERT INTO ContentJob (cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct) VALUES( CAST(NEW.cjUid AS BIGINT), NEW.toUri, CAST(NEW.cjProgress AS BIGINT), CAST(NEW.cjTotal AS BIGINT), NEW.cjNotificationTitle, NEW.cjIsMeteredAllowed, NEW.params, CAST(NEW.cjLct AS BIGINT)) ON CONFLICT(cjUid) DO UPDATE SET toUri = NEW.toUri, cjProgress = NEW.cjProgress, cjTotal = NEW.cjTotal, cjNotificationTitle = NEW.cjNotificationTitle, cjIsMeteredAllowed = NEW.cjIsMeteredAllowed, params = NEW.params, cjLct = NEW.cjLct |SELECT | CAST(NEW.cjLct AS BIGINT) > | COALESCE((SELECT ContentJob_Existing.cjLct | FROM ContentJob ContentJob_Existing | WHERE ContentJob_Existing.cjUid = NEW.cjUid), 0) | CourseBlock_ReceiveViewcbUidcbLctcbTypecbIndentLevelcbModuleParentBlockUidcbTitlecbDescriptioncbCompletionCriteriacbHideUntilDatecbDeadlineDatecbLateSubmissionPenaltycbGracePeriodDatecbMaxPointscbMinPointscbIndexcbClazzUidcbClazzSourcedIdcbActivecbHiddencbEntityUidcbSourcedIdcbMetadatacbCreatedByAppIdcourseblock_remote_insertREPLACE INTO CourseBlock (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) VALUES( CAST(NEW.cbUid AS BIGINT), NEW.cbType, NEW.cbIndentLevel, CAST(NEW.cbModuleParentBlockUid AS BIGINT), NEW.cbTitle, NEW.cbDescription, NEW.cbCompletionCriteria, CAST(NEW.cbHideUntilDate AS BIGINT), CAST(NEW.cbDeadlineDate AS BIGINT), NEW.cbLateSubmissionPenalty, CAST(NEW.cbGracePeriodDate AS BIGINT), NEW.cbMaxPoints, NEW.cbMinPoints, NEW.cbIndex, CAST(NEW.cbClazzUid AS BIGINT), NEW.cbClazzSourcedId, NEW.cbActive, NEW.cbHidden, CAST(NEW.cbEntityUid AS BIGINT), CAST(NEW.cbLct AS BIGINT), NEW.cbSourcedId, NEW.cbMetadata, NEW.cbCreatedByAppId) INSERT INTO CourseBlock (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) VALUES( CAST(NEW.cbUid AS BIGINT), NEW.cbType, NEW.cbIndentLevel, CAST(NEW.cbModuleParentBlockUid AS BIGINT), NEW.cbTitle, NEW.cbDescription, NEW.cbCompletionCriteria, CAST(NEW.cbHideUntilDate AS BIGINT), CAST(NEW.cbDeadlineDate AS BIGINT), NEW.cbLateSubmissionPenalty, CAST(NEW.cbGracePeriodDate AS BIGINT), NEW.cbMaxPoints, NEW.cbMinPoints, NEW.cbIndex, CAST(NEW.cbClazzUid AS BIGINT), NEW.cbClazzSourcedId, NEW.cbActive, NEW.cbHidden, CAST(NEW.cbEntityUid AS BIGINT), CAST(NEW.cbLct AS BIGINT), NEW.cbSourcedId, NEW.cbMetadata, NEW.cbCreatedByAppId) ON CONFLICT(cbUid) DO UPDATE SET cbType = NEW.cbType, cbIndentLevel = NEW.cbIndentLevel, cbModuleParentBlockUid = NEW.cbModuleParentBlockUid, cbTitle = NEW.cbTitle, cbDescription = NEW.cbDescription, cbCompletionCriteria = NEW.cbCompletionCriteria, cbHideUntilDate = NEW.cbHideUntilDate, cbDeadlineDate = NEW.cbDeadlineDate, cbLateSubmissionPenalty = NEW.cbLateSubmissionPenalty, cbGracePeriodDate = NEW.cbGracePeriodDate, cbMaxPoints = NEW.cbMaxPoints, cbMinPoints = NEW.cbMinPoints, cbIndex = NEW.cbIndex, cbClazzUid = NEW.cbClazzUid, cbClazzSourcedId = NEW.cbClazzSourcedId, cbActive = NEW.cbActive, cbHidden = NEW.cbHidden, cbEntityUid = NEW.cbEntityUid, cbLct = NEW.cbLct, cbSourcedId = NEW.cbSourcedId, cbMetadata = NEW.cbMetadata, cbCreatedByAppId = NEW.cbCreatedByAppId |SELECT | CAST(NEW.cbLct AS BIGINT) > | COALESCE((SELECT CourseBlock_Existing.cbLct | FROM CourseBlock CourseBlock_Existing | WHERE CourseBlock_Existing.cbUid = NEW.cbUid), 0) | CourseTerminology_ReceiveViewctUidctLctctTitlectTerminologycourseterminology_remote_insertREPLACE INTO CourseTerminology (ctUid, ctTitle, ctTerminology, ctLct) VALUES( CAST(NEW.ctUid AS BIGINT), NEW.ctTitle, NEW.ctTerminology, CAST(NEW.ctLct AS BIGINT)) INSERT INTO CourseTerminology (ctUid, ctTitle, ctTerminology, ctLct) VALUES( CAST(NEW.ctUid AS BIGINT), NEW.ctTitle, NEW.ctTerminology, CAST(NEW.ctLct AS BIGINT)) ON CONFLICT(ctUid) DO UPDATE SET ctTitle = NEW.ctTitle, ctTerminology = NEW.ctTerminology, ctLct = NEW.ctLct |SELECT | CAST(NEW.ctLct AS BIGINT) > | COALESCE((SELECT CourseTerminology_Existing.ctLct | FROM CourseTerminology CourseTerminology_Existing | WHERE CourseTerminology_Existing.ctUid = NEW.ctUid), 0) | CourseGroupSet_ReceiveViewcgsUidcgsLctcgsNamecgsTotalGroupscgsActivecgsClazzUidcoursegroupset_remote_insertREPLACE INTO CourseGroupSet (cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct) VALUES( CAST(NEW.cgsUid AS BIGINT), NEW.cgsName, NEW.cgsTotalGroups, NEW.cgsActive, CAST(NEW.cgsClazzUid AS BIGINT), CAST(NEW.cgsLct AS BIGINT)) INSERT INTO CourseGroupSet (cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct) VALUES( CAST(NEW.cgsUid AS BIGINT), NEW.cgsName, NEW.cgsTotalGroups, NEW.cgsActive, CAST(NEW.cgsClazzUid AS BIGINT), CAST(NEW.cgsLct AS BIGINT)) ON CONFLICT(cgsUid) DO UPDATE SET cgsName = NEW.cgsName, cgsTotalGroups = NEW.cgsTotalGroups, cgsActive = NEW.cgsActive, cgsClazzUid = NEW.cgsClazzUid, cgsLct = NEW.cgsLct |SELECT | CAST(NEW.cgsLct AS BIGINT) > | COALESCE((SELECT CourseGroupSet_Existing.cgsLct | FROM CourseGroupSet CourseGroupSet_Existing | WHERE CourseGroupSet_Existing.cgsUid = NEW.cgsUid), 0) | CourseGroupMember_ReceiveViewcgmUidcgmLctcgmSetUidcgmGroupNumbercgmPersonUidcoursegroupmember_remote_insertREPLACE INTO CourseGroupMember (cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) VALUES( CAST(NEW.cgmUid AS BIGINT), CAST(NEW.cgmSetUid AS BIGINT), NEW.cgmGroupNumber, CAST(NEW.cgmPersonUid AS BIGINT), CAST(NEW.cgmLct AS BIGINT)) INSERT INTO CourseGroupMember (cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) VALUES( CAST(NEW.cgmUid AS BIGINT), CAST(NEW.cgmSetUid AS BIGINT), NEW.cgmGroupNumber, CAST(NEW.cgmPersonUid AS BIGINT), CAST(NEW.cgmLct AS BIGINT)) ON CONFLICT(cgmUid) DO UPDATE SET cgmSetUid = NEW.cgmSetUid, cgmGroupNumber = NEW.cgmGroupNumber, cgmPersonUid = NEW.cgmPersonUid, cgmLct = NEW.cgmLct |SELECT | CAST(NEW.cgmLct AS BIGINT) > | COALESCE((SELECT CourseGroupMember_Existing.cgmLct | FROM CourseGroupMember CourseGroupMember_Existing | WHERE CourseGroupMember_Existing.cgmUid = NEW.cgmUid), 0) | ContentEntryPicture_ReceiveViewcepUidcepTimestampcepContentEntryUidcepUricepMd5cepFileSizecepMimeTypecepActiveceppicture_remote_insertREPLACE INTO ContentEntryPicture (cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive) VALUES( CAST(NEW.cepUid AS BIGINT), CAST(NEW.cepContentEntryUid AS BIGINT), NEW.cepUri, NEW.cepMd5, NEW.cepFileSize, CAST(NEW.cepTimestamp AS BIGINT), NEW.cepMimeType, NEW.cepActive) INSERT INTO ContentEntryPicture (cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive) VALUES( CAST(NEW.cepUid AS BIGINT), CAST(NEW.cepContentEntryUid AS BIGINT), NEW.cepUri, NEW.cepMd5, NEW.cepFileSize, CAST(NEW.cepTimestamp AS BIGINT), NEW.cepMimeType, NEW.cepActive) ON CONFLICT(cepUid) DO UPDATE SET cepContentEntryUid = NEW.cepContentEntryUid, cepUri = NEW.cepUri, cepMd5 = NEW.cepMd5, cepFileSize = NEW.cepFileSize, cepTimestamp = NEW.cepTimestamp, cepMimeType = NEW.cepMimeType, cepActive = NEW.cepActive |SELECT | CAST(NEW.cepTimestamp AS BIGINT) > | COALESCE((SELECT ContentEntryPicture_Existing.cepTimestamp | FROM ContentEntryPicture ContentEntryPicture_Existing | WHERE ContentEntryPicture_Existing.cepUid = NEW.cepUid), 0) | ActivityInteractionEntity_ReceiveViewaieActivityUidaieHashaieLastModaiePropaieIdaieIsDeletedactivityinteractionentity_remote_insertREPLACE INTO ActivityInteractionEntity (aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted) VALUES( CAST(NEW.aieActivityUid AS BIGINT), CAST(NEW.aieHash AS BIGINT), NEW.aieProp, NEW.aieId, CAST(NEW.aieLastMod AS BIGINT), NEW.aieIsDeleted) INSERT INTO ActivityInteractionEntity (aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted) VALUES( CAST(NEW.aieActivityUid AS BIGINT), CAST(NEW.aieHash AS BIGINT), NEW.aieProp, NEW.aieId, CAST(NEW.aieLastMod AS BIGINT), NEW.aieIsDeleted) ON CONFLICT(aieActivityUid, aieHash) DO UPDATE SET aieProp = NEW.aieProp, aieId = NEW.aieId, aieLastMod = NEW.aieLastMod, aieIsDeleted = NEW.aieIsDeleted |SELECT | CAST(NEW.aieLastMod AS BIGINT) > | COALESCE((SELECT ActivityInteractionEntity_Existing.aieLastMod | FROM ActivityInteractionEntity ActivityInteractionEntity_Existing | WHERE ActivityInteractionEntity_Existing.aieActivityUid = NEW.aieActivityUid AND ActivityInteractionEntity_Existing.aieHash = NEW.aieHash), 0) | CoursePicture_ReceiveViewcoursePictureUidcoursePictureLctcoursePictureUricoursePictureThumbnailUricoursePictureActivecoursepicture_remote_insertREPLACE INTO CoursePicture (coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) VALUES( CAST(NEW.coursePictureUid AS BIGINT), CAST(NEW.coursePictureLct AS BIGINT), NEW.coursePictureUri, NEW.coursePictureThumbnailUri, NEW.coursePictureActive) INSERT INTO CoursePicture (coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) VALUES( CAST(NEW.coursePictureUid AS BIGINT), CAST(NEW.coursePictureLct AS BIGINT), NEW.coursePictureUri, NEW.coursePictureThumbnailUri, NEW.coursePictureActive) ON CONFLICT(coursePictureUid) DO UPDATE SET coursePictureLct = NEW.coursePictureLct, coursePictureUri = NEW.coursePictureUri, coursePictureThumbnailUri = NEW.coursePictureThumbnailUri, coursePictureActive = NEW.coursePictureActive |SELECT | CAST(NEW.coursePictureLct AS BIGINT) > | COALESCE((SELECT CoursePicture_Existing.coursePictureLct | FROM CoursePicture CoursePicture_Existing | WHERE CoursePicture_Existing.coursePictureUid = NEW.coursePictureUid), 0) | DiscussionPost_ReceiveViewdiscussionPostUiddiscussionPostLctdiscussionPostReplyToPostUiddiscussionPostTitlediscussionPostMessagediscussionPostStartDatediscussionPostCourseBlockUiddpDeleteddiscussionPostStartedPersonUiddiscussionPostClazzUiddiscussionPostVisiblediscussionPostArchivediscussionpost_remote_insertREPLACE INTO DiscussionPost (discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive) VALUES( CAST(NEW.discussionPostUid AS BIGINT), CAST(NEW.discussionPostReplyToPostUid AS BIGINT), NEW.discussionPostTitle, NEW.discussionPostMessage, CAST(NEW.discussionPostStartDate AS BIGINT), CAST(NEW.discussionPostCourseBlockUid AS BIGINT), NEW.dpDeleted, CAST(NEW.discussionPostStartedPersonUid AS BIGINT), CAST(NEW.discussionPostClazzUid AS BIGINT), CAST(NEW.discussionPostLct AS BIGINT), NEW.discussionPostVisible, NEW.discussionPostArchive) INSERT INTO DiscussionPost (discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive) VALUES( CAST(NEW.discussionPostUid AS BIGINT), CAST(NEW.discussionPostReplyToPostUid AS BIGINT), NEW.discussionPostTitle, NEW.discussionPostMessage, CAST(NEW.discussionPostStartDate AS BIGINT), CAST(NEW.discussionPostCourseBlockUid AS BIGINT), NEW.dpDeleted, CAST(NEW.discussionPostStartedPersonUid AS BIGINT), CAST(NEW.discussionPostClazzUid AS BIGINT), CAST(NEW.discussionPostLct AS BIGINT), NEW.discussionPostVisible, NEW.discussionPostArchive) ON CONFLICT(discussionPostUid) DO UPDATE SET discussionPostReplyToPostUid = NEW.discussionPostReplyToPostUid, discussionPostTitle = NEW.discussionPostTitle, discussionPostMessage = NEW.discussionPostMessage, discussionPostStartDate = NEW.discussionPostStartDate, discussionPostCourseBlockUid = NEW.discussionPostCourseBlockUid, dpDeleted = NEW.dpDeleted, discussionPostStartedPersonUid = NEW.discussionPostStartedPersonUid, discussionPostClazzUid = NEW.discussionPostClazzUid, discussionPostLct = NEW.discussionPostLct, discussionPostVisible = NEW.discussionPostVisible, discussionPostArchive = NEW.discussionPostArchive |SELECT | CAST(NEW.discussionPostLct AS BIGINT) > | COALESCE((SELECT DiscussionPost_Existing.discussionPostLct | FROM DiscussionPost DiscussionPost_Existing | WHERE DiscussionPost_Existing.discussionPostUid = NEW.discussionPostUid), 0) | Message_ReceiveViewmessageUidmessageLctmessageSenderPersonUidmessageToPersonUidmessageTextmessageTimestampmessage_remote_insertREPLACE INTO Message (messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct) VALUES( CAST(NEW.messageUid AS BIGINT), CAST(NEW.messageSenderPersonUid AS BIGINT), CAST(NEW.messageToPersonUid AS BIGINT), NEW.messageText, CAST(NEW.messageTimestamp AS BIGINT), CAST(NEW.messageLct AS BIGINT)) INSERT INTO Message (messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct) VALUES( CAST(NEW.messageUid AS BIGINT), CAST(NEW.messageSenderPersonUid AS BIGINT), CAST(NEW.messageToPersonUid AS BIGINT), NEW.messageText, CAST(NEW.messageTimestamp AS BIGINT), CAST(NEW.messageLct AS BIGINT)) ON CONFLICT(messageUid) DO UPDATE SET messageSenderPersonUid = NEW.messageSenderPersonUid, messageToPersonUid = NEW.messageToPersonUid, messageText = NEW.messageText, messageTimestamp = NEW.messageTimestamp, messageLct = NEW.messageLct |SELECT | CAST(NEW.messageLct AS BIGINT) > | COALESCE((SELECT Message_Existing.messageLct | FROM Message Message_Existing | WHERE Message_Existing.messageUid = NEW.messageUid), 0) | StudentResult_ReceiveViewsrUidsrLastModifiedsrSourcedIdsrCourseBlockUidsrLineItemSourcedIdsrLineItemHrefsrClazzUidsrAssignmentUidsrStatussrMetaDatasrStudentPersonUidsrStudentPersonSourcedIdsrStudentGroupIdsrMarkerPersonUidsrMarkerGroupIdsrScoreStatussrScoresrScoreDatesrCommentsrAppIdsrDeletedstudentresult_remote_insertREPLACE INTO StudentResult (srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) VALUES( CAST(NEW.srUid AS BIGINT), NEW.srSourcedId, CAST(NEW.srCourseBlockUid AS BIGINT), NEW.srLineItemSourcedId, NEW.srLineItemHref, CAST(NEW.srClazzUid AS BIGINT), CAST(NEW.srAssignmentUid AS BIGINT), NEW.srStatus, NEW.srMetaData, CAST(NEW.srStudentPersonUid AS BIGINT), NEW.srStudentPersonSourcedId, NEW.srStudentGroupId, CAST(NEW.srMarkerPersonUid AS BIGINT), NEW.srMarkerGroupId, NEW.srScoreStatus, NEW.srScore, CAST(NEW.srScoreDate AS BIGINT), CAST(NEW.srLastModified AS BIGINT), NEW.srComment, NEW.srAppId, NEW.srDeleted) INSERT INTO StudentResult (srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) VALUES( CAST(NEW.srUid AS BIGINT), NEW.srSourcedId, CAST(NEW.srCourseBlockUid AS BIGINT), NEW.srLineItemSourcedId, NEW.srLineItemHref, CAST(NEW.srClazzUid AS BIGINT), CAST(NEW.srAssignmentUid AS BIGINT), NEW.srStatus, NEW.srMetaData, CAST(NEW.srStudentPersonUid AS BIGINT), NEW.srStudentPersonSourcedId, NEW.srStudentGroupId, CAST(NEW.srMarkerPersonUid AS BIGINT), NEW.srMarkerGroupId, NEW.srScoreStatus, NEW.srScore, CAST(NEW.srScoreDate AS BIGINT), CAST(NEW.srLastModified AS BIGINT), NEW.srComment, NEW.srAppId, NEW.srDeleted) ON CONFLICT(srUid) DO UPDATE SET srSourcedId = NEW.srSourcedId, srCourseBlockUid = NEW.srCourseBlockUid, srLineItemSourcedId = NEW.srLineItemSourcedId, srLineItemHref = NEW.srLineItemHref, srClazzUid = NEW.srClazzUid, srAssignmentUid = NEW.srAssignmentUid, srStatus = NEW.srStatus, srMetaData = NEW.srMetaData, srStudentPersonUid = NEW.srStudentPersonUid, srStudentPersonSourcedId = NEW.srStudentPersonSourcedId, srStudentGroupId = NEW.srStudentGroupId, srMarkerPersonUid = NEW.srMarkerPersonUid, srMarkerGroupId = NEW.srMarkerGroupId, srScoreStatus = NEW.srScoreStatus, srScore = NEW.srScore, srScoreDate = NEW.srScoreDate, srLastModified = NEW.srLastModified, srComment = NEW.srComment, srAppId = NEW.srAppId, srDeleted = NEW.srDeleted |SELECT | CAST(NEW.srLastModified AS BIGINT) > | COALESCE((SELECT StudentResult_Existing.srLastModified | FROM StudentResult StudentResult_Existing | WHERE StudentResult_Existing.srUid = NEW.srUid), 0) | ContentEntryVersion_ReceiveViewcevUidcevLctcevContentEntryUidcevOpenUricevContentTypecevManifestUrlcevSizecevInActivecevLastModifiedcevStorageSizecevOriginalSizecontent_entry_version_remote_insREPLACE INTO ContentEntryVersion (cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize) VALUES( CAST(NEW.cevUid AS BIGINT), CAST(NEW.cevContentEntryUid AS BIGINT), NEW.cevOpenUri, NEW.cevContentType, NEW.cevManifestUrl, CAST(NEW.cevSize AS BIGINT), NEW.cevInActive, CAST(NEW.cevLastModified AS BIGINT), CAST(NEW.cevLct AS BIGINT), CAST(NEW.cevStorageSize AS BIGINT), CAST(NEW.cevOriginalSize AS BIGINT)) INSERT INTO ContentEntryVersion (cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize) VALUES( CAST(NEW.cevUid AS BIGINT), CAST(NEW.cevContentEntryUid AS BIGINT), NEW.cevOpenUri, NEW.cevContentType, NEW.cevManifestUrl, CAST(NEW.cevSize AS BIGINT), NEW.cevInActive, CAST(NEW.cevLastModified AS BIGINT), CAST(NEW.cevLct AS BIGINT), CAST(NEW.cevStorageSize AS BIGINT), CAST(NEW.cevOriginalSize AS BIGINT)) ON CONFLICT(cevUid) DO UPDATE SET cevContentEntryUid = NEW.cevContentEntryUid, cevOpenUri = NEW.cevOpenUri, cevContentType = NEW.cevContentType, cevManifestUrl = NEW.cevManifestUrl, cevSize = NEW.cevSize, cevInActive = NEW.cevInActive, cevLastModified = NEW.cevLastModified, cevLct = NEW.cevLct, cevStorageSize = NEW.cevStorageSize, cevOriginalSize = NEW.cevOriginalSize |SELECT | CAST(NEW.cevLct AS BIGINT) > | COALESCE((SELECT ContentEntryVersion_Existing.cevLct | FROM ContentEntryVersion ContentEntryVersion_Existing | WHERE ContentEntryVersion_Existing.cevUid = NEW.cevUid), 0) | content_entry_version_offline_itemAFTERENTITY | | INSERT INTO OfflineItemPendingTransferJob(oiptjOiUid, oiptjTableId, oiptjEntityUid, oiptjType) | VALUES ((SELECT COALESCE(( | SELECT OfflineItem.oiUid | FROM OfflineItem | WHERE OfflineItem.oiContentEntryUid = NEW.cevContentEntryUid | AND CAST(OfflineItem.oiActive AS INTEGER) = 1 | AND OfflineItem.oiNodeId = | (SELECT COALESCE( | (SELECT nodeClientId | FROM SyncNode | LIMIT 1), 0)) | | ), 0)), | 738, NEW.cevUid, 2) | | | SELECT EXISTS( | SELECT OfflineItem.oiUid | FROM OfflineItem | WHERE OfflineItem.oiContentEntryUid = NEW.cevContentEntryUid | AND CAST(OfflineItem.oiActive AS INTEGER) = 1 | AND OfflineItem.oiNodeId = | (SELECT COALESCE( | (SELECT nodeClientId | FROM SyncNode | LIMIT 1), 0)) | | ) | AND NOT EXISTS | (SELECT TransferJob.tjUid | FROM TransferJob | WHERE TransferJob.tjTableId = 738 | AND TransferJob.tjEntityUid = NEW.cevUid) | OfflineItem_ReceiveViewoiUidoiLctoiNodeIdoiClazzUidoiCourseBlockUidoiContentEntryUidoiActiveoffline_item_remote_insREPLACE INTO OfflineItem (oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct) VALUES( CAST(NEW.oiUid AS BIGINT), CAST(NEW.oiNodeId AS BIGINT), CAST(NEW.oiClazzUid AS BIGINT), CAST(NEW.oiCourseBlockUid AS BIGINT), CAST(NEW.oiContentEntryUid AS BIGINT), NEW.oiActive, CAST(NEW.oiLct AS BIGINT)) INSERT INTO OfflineItem (oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct) VALUES( CAST(NEW.oiUid AS BIGINT), CAST(NEW.oiNodeId AS BIGINT), CAST(NEW.oiClazzUid AS BIGINT), CAST(NEW.oiCourseBlockUid AS BIGINT), CAST(NEW.oiContentEntryUid AS BIGINT), NEW.oiActive, CAST(NEW.oiLct AS BIGINT)) ON CONFLICT(oiUid) DO UPDATE SET oiNodeId = NEW.oiNodeId, oiClazzUid = NEW.oiClazzUid, oiCourseBlockUid = NEW.oiCourseBlockUid, oiContentEntryUid = NEW.oiContentEntryUid, oiActive = NEW.oiActive, oiLct = NEW.oiLct |SELECT | CAST(NEW.oiLct AS BIGINT) > | COALESCE((SELECT OfflineItem_Existing.oiLct | FROM OfflineItem OfflineItem_Existing | WHERE OfflineItem_Existing.oiUid = NEW.oiUid), 0) | DeletedItem_ReceiveViewdelItemUiddelItemLastModTimedelItemNamedelItemIconUridelItemTimeDeleteddelItemEntityTabledelItemEntityUiddelItemDeletedByPersonUiddelItemStatusdelItemIsFolderdeleteditem_remote_insertREPLACE INTO DeletedItem (delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder) VALUES( CAST(NEW.delItemUid AS BIGINT), NEW.delItemName, NEW.delItemIconUri, CAST(NEW.delItemLastModTime AS BIGINT), CAST(NEW.delItemTimeDeleted AS BIGINT), NEW.delItemEntityTable, CAST(NEW.delItemEntityUid AS BIGINT), CAST(NEW.delItemDeletedByPersonUid AS BIGINT), NEW.delItemStatus, NEW.delItemIsFolder) INSERT INTO DeletedItem (delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder) VALUES( CAST(NEW.delItemUid AS BIGINT), NEW.delItemName, NEW.delItemIconUri, CAST(NEW.delItemLastModTime AS BIGINT), CAST(NEW.delItemTimeDeleted AS BIGINT), NEW.delItemEntityTable, CAST(NEW.delItemEntityUid AS BIGINT), CAST(NEW.delItemDeletedByPersonUid AS BIGINT), NEW.delItemStatus, NEW.delItemIsFolder) ON CONFLICT(delItemUid) DO UPDATE SET delItemName = NEW.delItemName, delItemIconUri = NEW.delItemIconUri, delItemLastModTime = NEW.delItemLastModTime, delItemTimeDeleted = NEW.delItemTimeDeleted, delItemEntityTable = NEW.delItemEntityTable, delItemEntityUid = NEW.delItemEntityUid, delItemDeletedByPersonUid = NEW.delItemDeletedByPersonUid, delItemStatus = NEW.delItemStatus, delItemIsFolder = NEW.delItemIsFolder |SELECT | CAST(NEW.delItemLastModTime AS BIGINT) > | COALESCE((SELECT DeletedItem_Existing.delItemLastModTime | FROM DeletedItem DeletedItem_Existing | WHERE DeletedItem_Existing.delItemUid = NEW.delItemUid), 0) | EnrolmentRequest_ReceiveViewerUiderLastModifiederClazzUiderClazzNameerPersonUiderPersonFullnameerPersonPictureUrierPersonUsernameerRoleerRequestTimeerStatuserStatusSetByPersonUiderDeletederStatusSetAuthenrolmentrequest_remote_insertREPLACE INTO EnrolmentRequest (erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified) VALUES( CAST(NEW.erUid AS BIGINT), CAST(NEW.erClazzUid AS BIGINT), NEW.erClazzName, CAST(NEW.erPersonUid AS BIGINT), NEW.erPersonFullname, NEW.erPersonPictureUri, NEW.erPersonUsername, NEW.erRole, CAST(NEW.erRequestTime AS BIGINT), NEW.erStatus, CAST(NEW.erStatusSetByPersonUid AS BIGINT), NEW.erDeleted, NEW.erStatusSetAuth, CAST(NEW.erLastModified AS BIGINT)) INSERT INTO EnrolmentRequest (erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified) VALUES( CAST(NEW.erUid AS BIGINT), CAST(NEW.erClazzUid AS BIGINT), NEW.erClazzName, CAST(NEW.erPersonUid AS BIGINT), NEW.erPersonFullname, NEW.erPersonPictureUri, NEW.erPersonUsername, NEW.erRole, CAST(NEW.erRequestTime AS BIGINT), NEW.erStatus, CAST(NEW.erStatusSetByPersonUid AS BIGINT), NEW.erDeleted, NEW.erStatusSetAuth, CAST(NEW.erLastModified AS BIGINT)) ON CONFLICT(erUid) DO UPDATE SET erClazzUid = NEW.erClazzUid, erClazzName = NEW.erClazzName, erPersonUid = NEW.erPersonUid, erPersonFullname = NEW.erPersonFullname, erPersonPictureUri = NEW.erPersonPictureUri, erPersonUsername = NEW.erPersonUsername, erRole = NEW.erRole, erRequestTime = NEW.erRequestTime, erStatus = NEW.erStatus, erStatusSetByPersonUid = NEW.erStatusSetByPersonUid, erDeleted = NEW.erDeleted, erStatusSetAuth = NEW.erStatusSetAuth, erLastModified = NEW.erLastModified |SELECT | CAST(NEW.erLastModified AS BIGINT) > | COALESCE((SELECT EnrolmentRequest_Existing.erLastModified | FROM EnrolmentRequest EnrolmentRequest_Existing | WHERE EnrolmentRequest_Existing.erUid = NEW.erUid), 0) | CoursePermission_ReceiveViewcpUidcpLastModifiedcpClazzUidcpToEnrolmentRolecpToPersonUidcpToGroupUidcpPermissionsFlagcpIsDeletedcoursepermission_remote_insertREPLACE INTO CoursePermission (cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) VALUES( CAST(NEW.cpUid AS BIGINT), CAST(NEW.cpLastModified AS BIGINT), CAST(NEW.cpClazzUid AS BIGINT), NEW.cpToEnrolmentRole, CAST(NEW.cpToPersonUid AS BIGINT), CAST(NEW.cpToGroupUid AS BIGINT), CAST(NEW.cpPermissionsFlag AS BIGINT), NEW.cpIsDeleted) INSERT INTO CoursePermission (cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) VALUES( CAST(NEW.cpUid AS BIGINT), CAST(NEW.cpLastModified AS BIGINT), CAST(NEW.cpClazzUid AS BIGINT), NEW.cpToEnrolmentRole, CAST(NEW.cpToPersonUid AS BIGINT), CAST(NEW.cpToGroupUid AS BIGINT), CAST(NEW.cpPermissionsFlag AS BIGINT), NEW.cpIsDeleted) ON CONFLICT(cpUid) DO UPDATE SET cpLastModified = NEW.cpLastModified, cpClazzUid = NEW.cpClazzUid, cpToEnrolmentRole = NEW.cpToEnrolmentRole, cpToPersonUid = NEW.cpToPersonUid, cpToGroupUid = NEW.cpToGroupUid, cpPermissionsFlag = NEW.cpPermissionsFlag, cpIsDeleted = NEW.cpIsDeleted |SELECT | CAST(NEW.cpLastModified AS BIGINT) > | COALESCE((SELECT CoursePermission_Existing.cpLastModified | FROM CoursePermission CoursePermission_Existing | WHERE CoursePermission_Existing.cpUid = NEW.cpUid), 0) | SystemPermission_ReceiveViewspUidspLastModifiedspToPersonUidspToGroupUidspPermissionsFlagspIsDeletedsystempermission_remote_insertREPLACE INTO SystemPermission (spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) VALUES( CAST(NEW.spUid AS BIGINT), CAST(NEW.spToPersonUid AS BIGINT), CAST(NEW.spToGroupUid AS BIGINT), CAST(NEW.spPermissionsFlag AS BIGINT), CAST(NEW.spLastModified AS BIGINT), NEW.spIsDeleted) INSERT INTO SystemPermission (spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) VALUES( CAST(NEW.spUid AS BIGINT), CAST(NEW.spToPersonUid AS BIGINT), CAST(NEW.spToGroupUid AS BIGINT), CAST(NEW.spPermissionsFlag AS BIGINT), CAST(NEW.spLastModified AS BIGINT), NEW.spIsDeleted) ON CONFLICT(spUid) DO UPDATE SET spToPersonUid = NEW.spToPersonUid, spToGroupUid = NEW.spToGroupUid, spPermissionsFlag = NEW.spPermissionsFlag, spLastModified = NEW.spLastModified, spIsDeleted = NEW.spIsDeleted |SELECT | CAST(NEW.spLastModified AS BIGINT) > | COALESCE((SELECT SystemPermission_Existing.spLastModified | FROM SystemPermission SystemPermission_Existing | WHERE SystemPermission_Existing.spUid = NEW.spUid), 0) | CourseBlockPicture_ReceiveViewcbpUidcbpLctcbpPictureUricbpThumbnailUricourseblockpicture_remote_insertREPLACE INTO CourseBlockPicture (cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) VALUES( CAST(NEW.cbpUid AS BIGINT), CAST(NEW.cbpLct AS BIGINT), NEW.cbpPictureUri, NEW.cbpThumbnailUri) INSERT INTO CourseBlockPicture (cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) VALUES( CAST(NEW.cbpUid AS BIGINT), CAST(NEW.cbpLct AS BIGINT), NEW.cbpPictureUri, NEW.cbpThumbnailUri) ON CONFLICT(cbpUid) DO UPDATE SET cbpLct = NEW.cbpLct, cbpPictureUri = NEW.cbpPictureUri, cbpThumbnailUri = NEW.cbpThumbnailUri |SELECT | CAST(NEW.cbpLct AS BIGINT) > | COALESCE((SELECT CourseBlockPicture_Existing.cbpLct | FROM CourseBlockPicture CourseBlockPicture_Existing | WHERE CourseBlockPicture_Existing.cbpUid = NEW.cbpUid), 0) | ContentEntryPicture2_ReceiveViewcepLctcepPictureUricepThumbnailUricontententrypicture2_remote_insertREPLACE INTO ContentEntryPicture2 (cepUid, cepLct, cepPictureUri, cepThumbnailUri) VALUES( CAST(NEW.cepUid AS BIGINT), CAST(NEW.cepLct AS BIGINT), NEW.cepPictureUri, NEW.cepThumbnailUri) INSERT INTO ContentEntryPicture2 (cepUid, cepLct, cepPictureUri, cepThumbnailUri) VALUES( CAST(NEW.cepUid AS BIGINT), CAST(NEW.cepLct AS BIGINT), NEW.cepPictureUri, NEW.cepThumbnailUri) ON CONFLICT(cepUid) DO UPDATE SET cepLct = NEW.cepLct, cepPictureUri = NEW.cepPictureUri, cepThumbnailUri = NEW.cepThumbnailUri |SELECT | CAST(NEW.cepLct AS BIGINT) > | COALESCE((SELECT ContentEntryPicture2_Existing.cepLct | FROM ContentEntryPicture2 ContentEntryPicture2_Existing | WHERE ContentEntryPicture2_Existing.cepUid = NEW.cepUid), 0) | VerbLangMapEntry_ReceiveViewvlmeVerbUidvlmeLangHashvlmeLastModifiedvlmeLangCodevlmeEntryStringverblangmapentry_remote_insertREPLACE INTO VerbLangMapEntry (vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified) VALUES( CAST(NEW.vlmeVerbUid AS BIGINT), CAST(NEW.vlmeLangHash AS BIGINT), NEW.vlmeLangCode, NEW.vlmeEntryString, CAST(NEW.vlmeLastModified AS BIGINT)) INSERT INTO VerbLangMapEntry (vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified) VALUES( CAST(NEW.vlmeVerbUid AS BIGINT), CAST(NEW.vlmeLangHash AS BIGINT), NEW.vlmeLangCode, NEW.vlmeEntryString, CAST(NEW.vlmeLastModified AS BIGINT)) ON CONFLICT(vlmeVerbUid, vlmeLangHash) DO UPDATE SET vlmeLangCode = NEW.vlmeLangCode, vlmeEntryString = NEW.vlmeEntryString, vlmeLastModified = NEW.vlmeLastModified |SELECT | CAST(NEW.vlmeLastModified AS BIGINT) > | COALESCE((SELECT VerbLangMapEntry_Existing.vlmeLastModified | FROM VerbLangMapEntry VerbLangMapEntry_Existing | WHERE VerbLangMapEntry_Existing.vlmeVerbUid = NEW.vlmeVerbUid AND VerbLangMapEntry_Existing.vlmeLangHash = NEW.vlmeLangHash), 0) | GroupMemberActorJoin_ReceiveViewgmajGroupActorUidgmajMemberActorUidgmajLastModgroupmemberactorjoin_remote_insertREPLACE INTO GroupMemberActorJoin (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) VALUES( CAST(NEW.gmajGroupActorUid AS BIGINT), CAST(NEW.gmajMemberActorUid AS BIGINT), CAST(NEW.gmajLastMod AS BIGINT)) INSERT INTO GroupMemberActorJoin (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) VALUES( CAST(NEW.gmajGroupActorUid AS BIGINT), CAST(NEW.gmajMemberActorUid AS BIGINT), CAST(NEW.gmajLastMod AS BIGINT)) ON CONFLICT(gmajGroupActorUid, gmajMemberActorUid) DO UPDATE SET gmajLastMod = NEW.gmajLastMod |SELECT | CAST(NEW.gmajLastMod AS BIGINT) > | COALESCE((SELECT GroupMemberActorJoin_Existing.gmajLastMod | FROM GroupMemberActorJoin GroupMemberActorJoin_Existing | WHERE GroupMemberActorJoin_Existing.gmajGroupActorUid = NEW.gmajGroupActorUid AND GroupMemberActorJoin_Existing.gmajMemberActorUid = NEW.gmajMemberActorUid), 0) | ActivityLangMapEntry_ReceiveViewalmeActivityUidalmeHashalmeLastModalmeLangCodealmePropNamealmeValuealmeAieHashactivitylangmapentry_remote_insertREPLACE INTO ActivityLangMapEntry (almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod) VALUES( CAST(NEW.almeActivityUid AS BIGINT), CAST(NEW.almeHash AS BIGINT), NEW.almeLangCode, NEW.almePropName, NEW.almeValue, CAST(NEW.almeAieHash AS BIGINT), CAST(NEW.almeLastMod AS BIGINT)) INSERT INTO ActivityLangMapEntry (almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod) VALUES( CAST(NEW.almeActivityUid AS BIGINT), CAST(NEW.almeHash AS BIGINT), NEW.almeLangCode, NEW.almePropName, NEW.almeValue, CAST(NEW.almeAieHash AS BIGINT), CAST(NEW.almeLastMod AS BIGINT)) ON CONFLICT(almeActivityUid, almeHash) DO UPDATE SET almeLangCode = NEW.almeLangCode, almePropName = NEW.almePropName, almeValue = NEW.almeValue, almeAieHash = NEW.almeAieHash, almeLastMod = NEW.almeLastMod |SELECT | CAST(NEW.almeLastMod AS BIGINT) > | COALESCE((SELECT ActivityLangMapEntry_Existing.almeLastMod | FROM ActivityLangMapEntry ActivityLangMapEntry_Existing | WHERE ActivityLangMapEntry_Existing.almeActivityUid = NEW.almeActivityUid AND ActivityLangMapEntry_Existing.almeHash = NEW.almeHash), 0) | ActivityExtensionEntity_ReceiveViewaeeActivityUidaeeKeyHashaeeLastModaeeKeyaeeJsonaeeIsDeletedactivityextensionentity_remote_insertREPLACE INTO ActivityExtensionEntity (aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted) VALUES( CAST(NEW.aeeActivityUid AS BIGINT), CAST(NEW.aeeKeyHash AS BIGINT), NEW.aeeKey, NEW.aeeJson, CAST(NEW.aeeLastMod AS BIGINT), NEW.aeeIsDeleted) INSERT INTO ActivityExtensionEntity (aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted) VALUES( CAST(NEW.aeeActivityUid AS BIGINT), CAST(NEW.aeeKeyHash AS BIGINT), NEW.aeeKey, NEW.aeeJson, CAST(NEW.aeeLastMod AS BIGINT), NEW.aeeIsDeleted) ON CONFLICT(aeeActivityUid, aeeKeyHash) DO UPDATE SET aeeKey = NEW.aeeKey, aeeJson = NEW.aeeJson, aeeLastMod = NEW.aeeLastMod, aeeIsDeleted = NEW.aeeIsDeleted |SELECT | CAST(NEW.aeeLastMod AS BIGINT) > | COALESCE((SELECT ActivityExtensionEntity_Existing.aeeLastMod | FROM ActivityExtensionEntity ActivityExtensionEntity_Existing | WHERE ActivityExtensionEntity_Existing.aeeActivityUid = NEW.aeeActivityUid AND ActivityExtensionEntity_Existing.aeeKeyHash = NEW.aeeKeyHash), 0) | StatementContextActivityJoin_ReceiveViewscajFromStatementIdHiscajFromStatementIdLoscajToHashscajEtagscajContextTypescajToActivityUidscajToActivityIdstatementcontextactivityjoin_remoteinsertREPLACE INTO StatementContextActivityJoin (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag) VALUES( CAST(NEW.scajFromStatementIdHi AS BIGINT), CAST(NEW.scajFromStatementIdLo AS BIGINT), CAST(NEW.scajToHash AS BIGINT), NEW.scajContextType, CAST(NEW.scajToActivityUid AS BIGINT), NEW.scajToActivityId, CAST(NEW.scajEtag AS BIGINT)) INSERT INTO StatementContextActivityJoin (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag) VALUES( CAST(NEW.scajFromStatementIdHi AS BIGINT), CAST(NEW.scajFromStatementIdLo AS BIGINT), CAST(NEW.scajToHash AS BIGINT), NEW.scajContextType, CAST(NEW.scajToActivityUid AS BIGINT), NEW.scajToActivityId, CAST(NEW.scajEtag AS BIGINT)) ON CONFLICT(scajFromStatementIdHi, scajFromStatementIdLo, scajToHash) DO UPDATE SET scajContextType = NEW.scajContextType, scajToActivityUid = NEW.scajToActivityUid, scajToActivityId = NEW.scajToActivityId, scajEtag = NEW.scajEtag |SELECT | CAST(NEW.scajEtag AS BIGINT) != | COALESCE((SELECT StatementContextActivityJoin_Existing.scajEtag | FROM StatementContextActivityJoin StatementContextActivityJoin_Existing | WHERE StatementContextActivityJoin_Existing.scajFromStatementIdHi = NEW.scajFromStatementIdHi AND StatementContextActivityJoin_Existing.scajFromStatementIdLo = NEW.scajFromStatementIdLo AND StatementContextActivityJoin_Existing.scajToHash = NEW.scajToHash), 0) | XapiSessionEntity_ReceiveViewxseUidxseLastModxseRegistrationHixseRegistrationLoxseUsUidxseAccountPersonUidxseActorUidxseAccountUsernamexseClazzUidxseCbUidxseContentEntryUidxseContentEntryVersionUidxseRootActivityIdxseRootActivityUidxseStartTimexseExpireTimexseAuthxseCompletedknownActorUidToPersonUidsxapisessionentity_remote_insertREPLACE INTO XapiSessionEntity (xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids) VALUES( CAST(NEW.xseUid AS BIGINT), CAST(NEW.xseLastMod AS BIGINT), CAST(NEW.xseRegistrationHi AS BIGINT), CAST(NEW.xseRegistrationLo AS BIGINT), CAST(NEW.xseUsUid AS BIGINT), CAST(NEW.xseAccountPersonUid AS BIGINT), CAST(NEW.xseActorUid AS BIGINT), NEW.xseAccountUsername, CAST(NEW.xseClazzUid AS BIGINT), CAST(NEW.xseCbUid AS BIGINT), CAST(NEW.xseContentEntryUid AS BIGINT), CAST(NEW.xseContentEntryVersionUid AS BIGINT), NEW.xseRootActivityId, CAST(NEW.xseRootActivityUid AS BIGINT), CAST(NEW.xseStartTime AS BIGINT), CAST(NEW.xseExpireTime AS BIGINT), NEW.xseAuth, NEW.xseCompleted, NEW.knownActorUidToPersonUids) INSERT INTO XapiSessionEntity (xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids) VALUES( CAST(NEW.xseUid AS BIGINT), CAST(NEW.xseLastMod AS BIGINT), CAST(NEW.xseRegistrationHi AS BIGINT), CAST(NEW.xseRegistrationLo AS BIGINT), CAST(NEW.xseUsUid AS BIGINT), CAST(NEW.xseAccountPersonUid AS BIGINT), CAST(NEW.xseActorUid AS BIGINT), NEW.xseAccountUsername, CAST(NEW.xseClazzUid AS BIGINT), CAST(NEW.xseCbUid AS BIGINT), CAST(NEW.xseContentEntryUid AS BIGINT), CAST(NEW.xseContentEntryVersionUid AS BIGINT), NEW.xseRootActivityId, CAST(NEW.xseRootActivityUid AS BIGINT), CAST(NEW.xseStartTime AS BIGINT), CAST(NEW.xseExpireTime AS BIGINT), NEW.xseAuth, NEW.xseCompleted, NEW.knownActorUidToPersonUids) ON CONFLICT(xseUid) DO UPDATE SET xseLastMod = NEW.xseLastMod, xseRegistrationHi = NEW.xseRegistrationHi, xseRegistrationLo = NEW.xseRegistrationLo, xseUsUid = NEW.xseUsUid, xseAccountPersonUid = NEW.xseAccountPersonUid, xseActorUid = NEW.xseActorUid, xseAccountUsername = NEW.xseAccountUsername, xseClazzUid = NEW.xseClazzUid, xseCbUid = NEW.xseCbUid, xseContentEntryUid = NEW.xseContentEntryUid, xseContentEntryVersionUid = NEW.xseContentEntryVersionUid, xseRootActivityId = NEW.xseRootActivityId, xseRootActivityUid = NEW.xseRootActivityUid, xseStartTime = NEW.xseStartTime, xseExpireTime = NEW.xseExpireTime, xseAuth = NEW.xseAuth, xseCompleted = NEW.xseCompleted, knownActorUidToPersonUids = NEW.knownActorUidToPersonUids |SELECT | CAST(NEW.xseLastMod AS BIGINT) > | COALESCE((SELECT XapiSessionEntity_Existing.xseLastMod | FROM XapiSessionEntity XapiSessionEntity_Existing | WHERE XapiSessionEntity_Existing.xseUid = NEW.xseUid), 0) | StatementEntityJson_ReceiveViewstmtJsonIdHistmtJsonIdLostmtEtagfullStatementstatemententityjson_remote_insertREPLACE INTO StatementEntityJson (stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement) VALUES( CAST(NEW.stmtJsonIdHi AS BIGINT), CAST(NEW.stmtJsonIdLo AS BIGINT), CAST(NEW.stmtEtag AS BIGINT), NEW.fullStatement) INSERT INTO StatementEntityJson (stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement) VALUES( CAST(NEW.stmtJsonIdHi AS BIGINT), CAST(NEW.stmtJsonIdLo AS BIGINT), CAST(NEW.stmtEtag AS BIGINT), NEW.fullStatement) ON CONFLICT(stmtJsonIdHi, stmtJsonIdLo) DO UPDATE SET stmtEtag = NEW.stmtEtag, fullStatement = NEW.fullStatement |SELECT | CAST(NEW.stmtEtag AS BIGINT) != | COALESCE((SELECT StatementEntityJson_Existing.stmtEtag | FROM StatementEntityJson StatementEntityJson_Existing | WHERE StatementEntityJson_Existing.stmtJsonIdHi = NEW.stmtJsonIdHi AND StatementEntityJson_Existing.stmtJsonIdLo = NEW.stmtJsonIdLo), 0) | StateEntity_ReceiveViewseActorUidseHashseLastModseActivityUidseStateIdseTimeStoredseContentTypeseCompressedseContentseDeletedseRegistrationHiseRegistrationLoseH5PPreloadedseH5PSubContentIdstateentity_remote_insertREPLACE INTO StateEntity (seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId) VALUES( CAST(NEW.seActorUid AS BIGINT), CAST(NEW.seHash AS BIGINT), CAST(NEW.seActivityUid AS BIGINT), NEW.seStateId, CAST(NEW.seLastMod AS BIGINT), CAST(NEW.seTimeStored AS BIGINT), NEW.seContentType, NEW.seCompressed, NEW.seContent, NEW.seDeleted, NEW.seRegistrationHi, NEW.seRegistrationLo, NEW.seH5PPreloaded, NEW.seH5PSubContentId) INSERT INTO StateEntity (seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId) VALUES( CAST(NEW.seActorUid AS BIGINT), CAST(NEW.seHash AS BIGINT), CAST(NEW.seActivityUid AS BIGINT), NEW.seStateId, CAST(NEW.seLastMod AS BIGINT), CAST(NEW.seTimeStored AS BIGINT), NEW.seContentType, NEW.seCompressed, NEW.seContent, NEW.seDeleted, NEW.seRegistrationHi, NEW.seRegistrationLo, NEW.seH5PPreloaded, NEW.seH5PSubContentId) ON CONFLICT(seActorUid, seHash) DO UPDATE SET seActivityUid = NEW.seActivityUid, seStateId = NEW.seStateId, seLastMod = NEW.seLastMod, seTimeStored = NEW.seTimeStored, seContentType = NEW.seContentType, seCompressed = NEW.seCompressed, seContent = NEW.seContent, seDeleted = NEW.seDeleted, seRegistrationHi = NEW.seRegistrationHi, seRegistrationLo = NEW.seRegistrationLo, seH5PPreloaded = NEW.seH5PPreloaded, seH5PSubContentId = NEW.seH5PSubContentId |SELECT | CAST(NEW.seLastMod AS BIGINT) > | COALESCE((SELECT StateEntity_Existing.seLastMod | FROM StateEntity StateEntity_Existing | WHERE StateEntity_Existing.seActorUid = NEW.seActorUid AND StateEntity_Existing.seHash = NEW.seHash), 0) | StateDeleteCommand_ReceiveViewsdcActorUidsdcHashsdcLastModsdcActivityUidsdcStateIdsdcRegistrationHisdcRegistrationLostatedeletecommand_remote_insertREPLACE INTO StateDeleteCommand (sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo) VALUES( CAST(NEW.sdcActorUid AS BIGINT), CAST(NEW.sdcHash AS BIGINT), CAST(NEW.sdcActivityUid AS BIGINT), NEW.sdcStateId, CAST(NEW.sdcLastMod AS BIGINT), NEW.sdcRegistrationHi, NEW.sdcRegistrationLo) INSERT INTO StateDeleteCommand (sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo) VALUES( CAST(NEW.sdcActorUid AS BIGINT), CAST(NEW.sdcHash AS BIGINT), CAST(NEW.sdcActivityUid AS BIGINT), NEW.sdcStateId, CAST(NEW.sdcLastMod AS BIGINT), NEW.sdcRegistrationHi, NEW.sdcRegistrationLo) ON CONFLICT(sdcActorUid, sdcHash) DO UPDATE SET sdcActivityUid = NEW.sdcActivityUid, sdcStateId = NEW.sdcStateId, sdcLastMod = NEW.sdcLastMod, sdcRegistrationHi = NEW.sdcRegistrationHi, sdcRegistrationLo = NEW.sdcRegistrationLo |SELECT | CAST(NEW.sdcLastMod AS BIGINT) > | COALESCE((SELECT StateDeleteCommand_Existing.sdcLastMod | FROM StateDeleteCommand StateDeleteCommand_Existing | WHERE StateDeleteCommand_Existing.sdcActorUid = NEW.sdcActorUid AND StateDeleteCommand_Existing.sdcHash = NEW.sdcHash), 0) | LAMBDADELEGATED_PROPERTY_ACCESSORgetValueKProperty1PROPERTY_REFERENCE_FOR_DELEGATEINSTANCE_RECEIVER    "            #,."")(*% )+&"$        %'"      ')$"+-!!(!#     "  #%  "!!#!#!# "  )+&  "!        comustadmobilecoredbUmAppDatabase_DoorWrapperkotlinSuppressArrayStringREDUNDANT_PROJECTIONClassNameDEFINED_dbUmAppDatabasenodeIdLongmessageCallbackdoormessageDoorMessageCallbackloggerlogDoorLoggerdbNameUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingDoorDatabaseWrapperdbVersionIntDoorWrapper for [toStringGET_PROPERTY]_PersonDaoPROPERTY_DELEGATE_PersonDao$delegateLazydaoPersonDao_DoorWrapperlazyFunction0LOCAL_FUNCTION_FOR_LAMBDAPersonDaopersonDaoLAMBDADELEGATED_PROPERTY_ACCESSORgetValuereflectKProperty1PROPERTY_REFERENCE_FOR_DELEGATE_ClazzDao_ClazzDao$delegateClazzDao_DoorWrapperClazzDaoclazzDao_CourseBlockDao_CourseBlockDao$delegateCourseBlockDao_DoorWrapperCourseBlockDaocourseBlockDao_CourseTerminologyDao_CourseTerminologyDao$delegateCourseTerminologyDao_DoorWrapperCourseTerminologyDaocourseTerminologyDao_CourseGroupSetDao_CourseGroupSetDao$delegateCourseGroupSetDao_DoorWrapperCourseGroupSetDaocourseGroupSetDao_CourseGroupMemberDao_CourseGroupMemberDao$delegateCourseGroupMemberDao_DoorWrapperCourseGroupMemberDaocourseGroupMemberDao_ClazzEnrolmentDao_ClazzEnrolmentDao$delegateClazzEnrolmentDao_DoorWrapperClazzEnrolmentDaoclazzEnrolmentDao_LeavingReasonDao_LeavingReasonDao$delegateLeavingReasonDao_DoorWrapperLeavingReasonDaoleavingReasonDao_ContentEntryDao_ContentEntryDao$delegateContentEntryDao_DoorWrapperContentEntryDaocontentEntryDao_ContentEntryContentCategoryJoinDao_ContentEntryContentCategoryJoinDao$delegateContentEntryContentCategoryJoinDao_DoorWrapperContentEntryContentCategoryJoinDaocontentEntryContentCategoryJoinDao_ContentEntryParentChildJoinDao_ContentEntryParentChildJoinDao$delegateContentEntryParentChildJoinDao_DoorWrapperContentEntryParentChildJoinDaocontentEntryParentChildJoinDao_ContentEntryRelatedEntryJoinDao_ContentEntryRelatedEntryJoinDao$delegateContentEntryRelatedEntryJoinDao_DoorWrapperContentEntryRelatedEntryJoinDaocontentEntryRelatedEntryJoinDao_ContentCategorySchemaDao_ContentCategorySchemaDao$delegateContentCategorySchemaDao_DoorWrapperContentCategorySchemaDaocontentCategorySchemaDao_ContentCategoryDao_ContentCategoryDao$delegateContentCategoryDao_DoorWrapperContentCategoryDaocontentCategoryDao_LanguageDao_LanguageDao$delegateLanguageDao_DoorWrapperLanguageDaolanguageDao_LanguageVariantDao_LanguageVariantDao$delegateLanguageVariantDao_DoorWrapperLanguageVariantDaolanguageVariantDao_PersonGroupDao_PersonGroupDao$delegatePersonGroupDao_DoorWrapperPersonGroupDaopersonGroupDao_PersonGroupMemberDao_PersonGroupMemberDao$delegatePersonGroupMemberDao_DoorWrapperPersonGroupMemberDaopersonGroupMemberDao_PersonPictureDao_PersonPictureDao$delegatePersonPictureDao_DoorWrapperPersonPictureDaopersonPictureDao_VerbDao_VerbDao$delegatexapiVerbDao_DoorWrapperVerbDaoverbDao_ActivityEntityDao_ActivityEntityDao$delegateActivityEntityDao_DoorWrapperActivityEntityDaoactivityEntityDao_ReportDao_ReportDao$delegateReportDao_DoorWrapperReportDaoreportDao_StatementDao_StatementDao$delegateStatementDao_DoorWrapperStatementDaostatementDao_ActorDao_ActorDao$delegateActorDao_DoorWrapperActorDaoactorDao_ClazzLogAttendanceRecordDao_ClazzLogAttendanceRecordDao$delegateClazzLogAttendanceRecordDao_DoorWrapperClazzLogAttendanceRecordDaoclazzLogAttendanceRecordDao_ClazzLogDao_ClazzLogDao$delegateClazzLogDao_DoorWrapperClazzLogDaoclazzLogDao_ScheduleDao_ScheduleDao$delegateScheduleDao_DoorWrapperScheduleDaoscheduleDao_HolidayCalendarDao_HolidayCalendarDao$delegateHolidayCalendarDao_DoorWrapperHolidayCalendarDaoholidayCalendarDao_HolidayDao_HolidayDao$delegateHolidayDao_DoorWrapperHolidayDaoholidayDao_ClazzAssignmentDao_ClazzAssignmentDao$delegateClazzAssignmentDao_DoorWrapperClazzAssignmentDaoclazzAssignmentDao_CourseAssignmentSubmissionDao_CourseAssignmentSubmissionDao$delegateCourseAssignmentSubmissionDao_DoorWrapperCourseAssignmentSubmissionDaocourseAssignmentSubmissionDao_CourseAssignmentSubmissionFileDao_CourseAssignmentSubmissionFileDao$delegateCourseAssignmentSubmissionFileDao_DoorWrapperCourseAssignmentSubmissionFileDaocourseAssignmentSubmissionFileDao_CourseAssignmentMarkDao_CourseAssignmentMarkDao$delegateCourseAssignmentMarkDao_DoorWrapperCourseAssignmentMarkDaocourseAssignmentMarkDao_CommentsDao_CommentsDao$delegateCommentsDao_DoorWrapperCommentsDaocommentsDao_SiteDao_SiteDao$delegateSiteDao_DoorWrapperSiteDaositeDao_SiteTermsDao_SiteTermsDao$delegateSiteTermsDao_DoorWrapperSiteTermsDaositeTermsDao_PersonParentJoinDao_PersonParentJoinDao$delegatePersonParentJoinDao_DoorWrapperPersonParentJoinDaopersonParentJoinDao_ScopedGrantDao_ScopedGrantDao$delegateScopedGrantDao_DoorWrapperScopedGrantDaoscopedGrantDao_ErrorReportDao_ErrorReportDao$delegateErrorReportDao_DoorWrapperErrorReportDaoerrorReportDao_PersonAuth2Dao_PersonAuth2Dao$delegatePersonAuth2Dao_DoorWrapperPersonAuth2DaopersonAuth2Dao_UserSessionDao_UserSessionDao$delegateUserSessionDao_DoorWrapperUserSessionDaouserSessionDao_CoursePictureDao_CoursePictureDao$delegateCoursePictureDao_DoorWrapperCoursePictureDaocoursePictureDao_ContentEntryPictureDao_ContentEntryPictureDao$delegateContentEntryPictureDao_DoorWrapperContentEntryPictureDaocontentEntryPictureDao_MessageDao_MessageDao$delegateMessageDao_DoorWrapperMessageDaomessageDao_PeerReviewerAllocationDao_PeerReviewerAllocationDao$delegatePeerReviewerAllocationDao_DoorWrapperPeerReviewerAllocationDaopeerReviewerAllocationDao_DiscussionPostDao_DiscussionPostDao$delegateDiscussionPostDao_DoorWrapperDiscussionPostDaodiscussionPostDao_ContentEntryVersionDao_ContentEntryVersionDao$delegateContentEntryVersionDao_DoorWrapperContentEntryVersionDaocontentEntryVersionDao_OfflineItemDao_OfflineItemDao$delegateOfflineItemDao_DoorWrapperOfflineItemDaoofflineItemDao_EnrolmentRequestDao_EnrolmentRequestDao$delegateEnrolmentRequestDao_DoorWrapperEnrolmentRequestDaoenrolmentRequestDao_CoursePermissionDao_CoursePermissionDao$delegateCoursePermissionDao_DoorWrapperCoursePermissionDaocoursePermissionDao_SystemPermissionDao_SystemPermissionDao$delegateSystemPermissionDao_DoorWrapperSystemPermissionDaosystemPermissionDao_CourseBlockPictureDao_CourseBlockPictureDao$delegateCourseBlockPictureDao_DoorWrapperCourseBlockPictureDaocourseBlockPictureDao_ContentEntryPicture2Dao_ContentEntryPicture2Dao$delegateContentEntryPicture2Dao_DoorWrapperContentEntryPicture2DaocontentEntryPicture2Dao_StudentResultDao_StudentResultDao$delegateStudentResultDao_DoorWrapperStudentResultDaostudentResultDao_VerbLangMapEntryDao_VerbLangMapEntryDao$delegateVerbLangMapEntryDao_DoorWrapperVerbLangMapEntryDaoverbLangMapEntryDao_GroupMemberActorJoinDao_GroupMemberActorJoinDao$delegateGroupMemberActorJoinDao_DoorWrapperGroupMemberActorJoinDaogroupMemberActorJoinDao_ActivityLangMapEntryDao_ActivityLangMapEntryDao$delegateActivityLangMapEntryDao_DoorWrapperActivityLangMapEntryDaoactivityLangMapEntryDao_ActivityInteractionDao_ActivityInteractionDao$delegateActivityInteractionDao_DoorWrapperActivityInteractionDaoactivityInteractionDao_ActivityExtensionDao_ActivityExtensionDao$delegateActivityExtensionDao_DoorWrapperActivityExtensionDaoactivityExtensionDao_StatementContextActivityJoinDao_StatementContextActivityJoinDao$delegateStatementContextActivityJoinDao_DoorWrapperStatementContextActivityJoinDaostatementContextActivityJoinDao_XapiSessionEntityDao_XapiSessionEntityDao$delegateXapiSessionEntityDao_DoorWrapperXapiSessionEntityDaoxapiSessionEntityDao_StatementEntityJsonDao_StatementEntityJsonDao$delegateStatementEntityJsonDao_DoorWrapperStatementEntityJsonDaostatementEntityJsonDao_StateEntityDao_StateEntityDao$delegateStateEntityDao_DoorWrapperStateEntityDaostateEntityDao_StateDeleteCommandDao_StateDeleteCommandDao$delegateStateDeleteCommandDao_DoorWrapperStateDeleteCommandDaostateDeleteCommandDaorealDatabaseroomRoomDatabasenodeEventManagernodeeventNodeEventManagerCommonNodeEventManagerJsinvalidationTrackerInvalidationTrackercreateAllTablescollectionsListpersonAuthDaoPersonAuthDaosyncNodeDaoSyncNodeDaocontentEntryImportJobDaoContentEntryImportJobDaoexternalAppPermissionDaoExternalAppPermissionDaooutgoingReplicationDaoOutgoingReplicationDaotransferJobDaoTransferJobDaotransferJobItemDaoTransferJobItemDaocacheLockJoinDaoCacheLockJoinDaodeletedItemDaoDeletedItemDaotransferJobErrorDaoTransferJobErrorDaoclearAllTablesAsyncclearAllTablesrunInTransactionrunnablekotlinxcoroutinesRunnablegetDaoByClassUNCHECKED_CASTTAnydaoClassKClassWHENIR_TEMPORARY_VARIABLEtmp0_subjectBooleaninternalirEQEQIllegalArgumentExceptionNo such DAO on this DBcloseINSTANCE_RECEIVER?      "             #,+)('% )(&"!    %$"   '&$"+*(!    "!  #" "!  ! ! !   )(&    X)=z !mpybH+Og]qJMecS<^cc9a%ZZC% 6oX_<7YA$Y WUW]KOIce|$4j&qds[qhQ5y ad:&JxO$Hw" $+'(!&* "!%!)  #( $6 ""     !!   comustadmobilecoredbUmAppDatabase_JdbcImplDEFINEDdoorJdbcSourceDatabasedoorroomRoomDatabasedataSourcejdbcDataSourcedbUrlkotlinStringdbNamejdbcQueryTimeoutIntjdbcDbTypeloggerlogDoorLoggerUnitUmAppDatabasePROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingDoorDatabaseJdbcdbVersionjdbcImplHelperRoomDatabaseJdbcImplHelperGET_PROPERTYcollectionsListextDoorDatabaseMetadataallTablesdoorDatabaseMetadatareflectKClassInvalidationTrackerArraytoTypedArrayRoomJdbcImplrealNodeIdAuthCachePROPERTY_DELEGATErealNodeIdAuthCache$delegateLazyutilNodeIdAuthCachelazyFunction0LOCAL_FUNCTION_FOR_LAMBDAIFBooleaninternalirEQEQrootDatabasenodeIdAuthCacheLAMBDADELEGATED_PROPERTY_ACCESSORgetValueKProperty1PROPERTY_REFERENCE_FOR_DELEGATErealPrimaryKeyManagerrealPrimaryKeyManager$delegateDoorPrimaryKeyManagerSetMapkeysreplicationReplicationEntityMetaDatareplicateEntitiesinvalidationTracker_PersonDao_PersonDao$delegatedaoPersonDao_JdbcImpl_ClazzDao_ClazzDao$delegateClazzDao_JdbcImpl_CourseBlockDao_CourseBlockDao$delegateCourseBlockDao_JdbcImpl_CourseTerminologyDao_CourseTerminologyDao$delegateCourseTerminologyDao_JdbcImpl_CourseGroupSetDao_CourseGroupSetDao$delegateCourseGroupSetDao_JdbcImpl_CourseGroupMemberDao_CourseGroupMemberDao$delegateCourseGroupMemberDao_JdbcImpl_ClazzEnrolmentDao_ClazzEnrolmentDao$delegateClazzEnrolmentDao_JdbcImpl_LeavingReasonDao_LeavingReasonDao$delegateLeavingReasonDao_JdbcImpl_ContentEntryDao_ContentEntryDao$delegateContentEntryDao_JdbcImpl_ContentEntryContentCategoryJoinDao_ContentEntryContentCategoryJoinDao$delegateContentEntryContentCategoryJoinDao_JdbcImpl_ContentEntryParentChildJoinDao_ContentEntryParentChildJoinDao$delegateContentEntryParentChildJoinDao_JdbcImpl_ContentEntryRelatedEntryJoinDao_ContentEntryRelatedEntryJoinDao$delegateContentEntryRelatedEntryJoinDao_JdbcImpl_ContentCategorySchemaDao_ContentCategorySchemaDao$delegateContentCategorySchemaDao_JdbcImpl_ContentCategoryDao_ContentCategoryDao$delegateContentCategoryDao_JdbcImpl_LanguageDao_LanguageDao$delegateLanguageDao_JdbcImpl_LanguageVariantDao_LanguageVariantDao$delegateLanguageVariantDao_JdbcImpl_PersonAuthDao_PersonAuthDao$delegatePersonAuthDao_JdbcImpl_PersonGroupDao_PersonGroupDao$delegatePersonGroupDao_JdbcImpl_PersonGroupMemberDao_PersonGroupMemberDao$delegatePersonGroupMemberDao_JdbcImpl_PersonPictureDao_PersonPictureDao$delegatePersonPictureDao_JdbcImpl_VerbDao_VerbDao$delegatexapiVerbDao_JdbcImpl_ActivityEntityDao_ActivityEntityDao$delegateActivityEntityDao_JdbcImpl_ReportDao_ReportDao$delegateReportDao_JdbcImpl_StatementDao_StatementDao$delegateStatementDao_JdbcImpl_ActorDao_ActorDao$delegateActorDao_JdbcImpl_ClazzLogAttendanceRecordDao_ClazzLogAttendanceRecordDao$delegateClazzLogAttendanceRecordDao_JdbcImpl_ClazzLogDao_ClazzLogDao$delegateClazzLogDao_JdbcImpl_ScheduleDao_ScheduleDao$delegateScheduleDao_JdbcImpl_HolidayCalendarDao_HolidayCalendarDao$delegateHolidayCalendarDao_JdbcImpl_HolidayDao_HolidayDao$delegateHolidayDao_JdbcImpl_ClazzAssignmentDao_ClazzAssignmentDao$delegateClazzAssignmentDao_JdbcImpl_CourseAssignmentSubmissionDao_CourseAssignmentSubmissionDao$delegateCourseAssignmentSubmissionDao_JdbcImpl_CourseAssignmentSubmissionFileDao_CourseAssignmentSubmissionFileDao$delegateCourseAssignmentSubmissionFileDao_JdbcImpl_CourseAssignmentMarkDao_CourseAssignmentMarkDao$delegateCourseAssignmentMarkDao_JdbcImpl_CommentsDao_CommentsDao$delegateCommentsDao_JdbcImpl_SyncNodeDao_SyncNodeDao$delegateSyncNodeDao_JdbcImpl_SiteDao_SiteDao$delegateSiteDao_JdbcImpl_SiteTermsDao_SiteTermsDao$delegateSiteTermsDao_JdbcImpl_PersonParentJoinDao_PersonParentJoinDao$delegatePersonParentJoinDao_JdbcImpl_ScopedGrantDao_ScopedGrantDao$delegateScopedGrantDao_JdbcImpl_ErrorReportDao_ErrorReportDao$delegateErrorReportDao_JdbcImpl_PersonAuth2Dao_PersonAuth2Dao$delegatePersonAuth2Dao_JdbcImpl_UserSessionDao_UserSessionDao$delegateUserSessionDao_JdbcImpl_ContentEntryImportJobDao_ContentEntryImportJobDao$delegateContentEntryImportJobDao_JdbcImpl_CoursePictureDao_CoursePictureDao$delegateCoursePictureDao_JdbcImpl_ContentEntryPictureDao_ContentEntryPictureDao$delegateContentEntryPictureDao_JdbcImpl_MessageDao_MessageDao$delegateMessageDao_JdbcImpl_PeerReviewerAllocationDao_PeerReviewerAllocationDao$delegatePeerReviewerAllocationDao_JdbcImpl_DiscussionPostDao_DiscussionPostDao$delegateDiscussionPostDao_JdbcImpl_ExternalAppPermissionDao_ExternalAppPermissionDao$delegateExternalAppPermissionDao_JdbcImpl_ContentEntryVersionDao_ContentEntryVersionDao$delegateContentEntryVersionDao_JdbcImpl_OutgoingReplicationDao_OutgoingReplicationDao$delegateOutgoingReplicationDao_JdbcImpl_TransferJobDao_TransferJobDao$delegateTransferJobDao_JdbcImpl_TransferJobItemDao_TransferJobItemDao$delegateTransferJobItemDao_JdbcImpl_CacheLockJoinDao_CacheLockJoinDao$delegateCacheLockJoinDao_JdbcImpl_OfflineItemDao_OfflineItemDao$delegateOfflineItemDao_JdbcImpl_DeletedItemDao_DeletedItemDao$delegateDeletedItemDao_JdbcImpl_EnrolmentRequestDao_EnrolmentRequestDao$delegateEnrolmentRequestDao_JdbcImpl_CoursePermissionDao_CoursePermissionDao$delegateCoursePermissionDao_JdbcImpl_SystemPermissionDao_SystemPermissionDao$delegateSystemPermissionDao_JdbcImpl_CourseBlockPictureDao_CourseBlockPictureDao$delegateCourseBlockPictureDao_JdbcImpl_ContentEntryPicture2Dao_ContentEntryPicture2Dao$delegateContentEntryPicture2Dao_JdbcImpl_TransferJobErrorDao_TransferJobErrorDao$delegateTransferJobErrorDao_JdbcImpl_StudentResultDao_StudentResultDao$delegateStudentResultDao_JdbcImpl_VerbLangMapEntryDao_VerbLangMapEntryDao$delegateVerbLangMapEntryDao_JdbcImpl_GroupMemberActorJoinDao_GroupMemberActorJoinDao$delegateGroupMemberActorJoinDao_JdbcImpl_ActivityLangMapEntryDao_ActivityLangMapEntryDao$delegateActivityLangMapEntryDao_JdbcImpl_ActivityInteractionDao_ActivityInteractionDao$delegateActivityInteractionDao_JdbcImpl_ActivityExtensionDao_ActivityExtensionDao$delegateActivityExtensionDao_JdbcImpl_StatementContextActivityJoinDao_StatementContextActivityJoinDao$delegateStatementContextActivityJoinDao_JdbcImpl_XapiSessionEntityDao_XapiSessionEntityDao$delegateXapiSessionEntityDao_JdbcImpl_StatementEntityJsonDao_StatementEntityJsonDao$delegateStatementEntityJsonDao_JdbcImpl_StateEntityDao_StateEntityDao$delegateStateEntityDao_JdbcImpl_StateDeleteCommandDao_StateDeleteCommandDao$delegateStateDeleteCommandDao_JdbcImplcreateAllTables_stmtListMutableListmutableLinkedListOfWHENIR_TEMPORARY_VARIABLEtmp0_subjectdbTypeplusAssignPLUSEQCREATE TABLE IF NOT EXISTS _doorwayinfo (dbVersion int primary key, dbHash varchar(255))INSERT INTO _doorwayinfo VALUES (204, '')CREATE TABLE IF NOT EXISTS ClazzLog ( clazzLogClazzUid INTEGER NOT NULL , logDate INTEGER NOT NULL , timeRecorded INTEGER NOT NULL , clazzLogDone INTEGER NOT NULL , cancellationNote TEXT , clazzLogCancelled INTEGER NOT NULL , clazzLogNumPresent INTEGER NOT NULL , clazzLogNumAbsent INTEGER NOT NULL , clazzLogNumPartial INTEGER NOT NULL , clazzLogScheduleUid INTEGER NOT NULL , clazzLogStatusFlag INTEGER NOT NULL , clazzLogMSQN INTEGER NOT NULL , clazzLogLCSN INTEGER NOT NULL , clazzLogLCB INTEGER NOT NULL , clazzLogLastChangedTime INTEGER NOT NULL , clazzLogUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ClazzLogAttendanceRecord ( clazzLogAttendanceRecordClazzLogUid INTEGER NOT NULL , clazzLogAttendanceRecordPersonUid INTEGER NOT NULL , attendanceStatus INTEGER NOT NULL , clazzLogAttendanceRecordMasterChangeSeqNum INTEGER NOT NULL , clazzLogAttendanceRecordLocalChangeSeqNum INTEGER NOT NULL , clazzLogAttendanceRecordLastChangedBy INTEGER NOT NULL , clazzLogAttendanceRecordLastChangedTime INTEGER NOT NULL , clazzLogAttendanceRecordUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS Schedule ( sceduleStartTime INTEGER NOT NULL , scheduleEndTime INTEGER NOT NULL , scheduleDay INTEGER NOT NULL , scheduleMonth INTEGER NOT NULL , scheduleFrequency INTEGER NOT NULL , umCalendarUid INTEGER NOT NULL , scheduleClazzUid INTEGER NOT NULL , scheduleMasterChangeSeqNum INTEGER NOT NULL , scheduleLocalChangeSeqNum INTEGER NOT NULL , scheduleLastChangedBy INTEGER NOT NULL , scheduleLastChangedTime INTEGER NOT NULL , scheduleActive INTEGER NOT NULL , scheduleUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS HolidayCalendar ( umCalendarName TEXT , umCalendarCategory INTEGER NOT NULL , umCalendarActive INTEGER NOT NULL , umCalendarMasterChangeSeqNum INTEGER NOT NULL , umCalendarLocalChangeSeqNum INTEGER NOT NULL , umCalendarLastChangedBy INTEGER NOT NULL , umCalendarLct INTEGER NOT NULL , umCalendarUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS Holiday ( holMasterCsn INTEGER NOT NULL , holLocalCsn INTEGER NOT NULL , holLastModBy INTEGER NOT NULL , holLct INTEGER NOT NULL , holActive INTEGER NOT NULL , holHolidayCalendarUid INTEGER NOT NULL , holStartTime INTEGER NOT NULL , holEndTime INTEGER NOT NULL , holName TEXT , holUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS Person ( username TEXT , firstNames TEXT , lastName TEXT , emailAddr TEXT , phoneNum TEXT , gender INTEGER NOT NULL , active INTEGER NOT NULL , dateOfBirth INTEGER NOT NULL , personAddress TEXT , personOrgId TEXT , personGroupUid INTEGER NOT NULL , personLct INTEGER NOT NULL , personCountry TEXT , personType INTEGER NOT NULL DEFAULT 0 , personMasterChangeSeqNum INTEGER NOT NULL , personLocalChangeSeqNum INTEGER NOT NULL , personLastChangedBy INTEGER NOT NULL , admin INTEGER NOT NULL , personNotes TEXT , fatherName TEXT , fatherNumber TEXT , motherName TEXT , motherNum TEXT , personUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS Clazz ( clazzName TEXT , clazzDesc TEXT , attendanceAverage REAl NOT NULL , clazzHolidayUMCalendarUid INTEGER NOT NULL , clazzScheuleUMCalendarUid INTEGER NOT NULL , isClazzActive INTEGER NOT NULL , clazzLocationUid INTEGER NOT NULL , clazzStartTime INTEGER NOT NULL , clazzEndTime INTEGER NOT NULL , clazzFeatures INTEGER NOT NULL , clazzSchoolUid INTEGER NOT NULL , clazzEnrolmentPolicy INTEGER NOT NULL DEFAULT 102 , clazzTerminologyUid INTEGER NOT NULL DEFAULT 25966 , clazzMasterChangeSeqNum INTEGER NOT NULL , clazzLocalChangeSeqNum INTEGER NOT NULL , clazzLastChangedBy INTEGER NOT NULL , clazzLct INTEGER NOT NULL , clazzTimeZone TEXT , clazzStudentsPersonGroupUid INTEGER NOT NULL , clazzTeachersPersonGroupUid INTEGER NOT NULL , clazzPendingStudentsPersonGroupUid INTEGER NOT NULL , clazzParentsPersonGroupUid INTEGER NOT NULL , clazzCode TEXT , clazzOwnerPersonUid INTEGER NOT NULL DEFAULT 0 , clazzUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ClazzEnrolment ( clazzEnrolmentPersonUid INTEGER NOT NULL , clazzEnrolmentClazzUid INTEGER NOT NULL , clazzEnrolmentDateJoined INTEGER NOT NULL , clazzEnrolmentDateLeft INTEGER NOT NULL , clazzEnrolmentRole INTEGER NOT NULL , clazzEnrolmentAttendancePercentage REAl NOT NULL , clazzEnrolmentActive INTEGER NOT NULL , clazzEnrolmentLeavingReasonUid INTEGER NOT NULL , clazzEnrolmentOutcome INTEGER NOT NULL , clazzEnrolmentLocalChangeSeqNum INTEGER NOT NULL , clazzEnrolmentMasterChangeSeqNum INTEGER NOT NULL , clazzEnrolmentLastChangedBy INTEGER NOT NULL , clazzEnrolmentLct INTEGER NOT NULL , clazzEnrolmentUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX index_ClazzEnrolment_clazzEnrolmentPersonUid_clazzEnrolmentClazzUid ON ClazzEnrolment (clazzEnrolmentPersonUid, clazzEnrolmentClazzUid)CREATE INDEX index_ClazzEnrolment_clazzEnrolmentClazzUid_clazzEnrolmentPersonUid ON ClazzEnrolment (clazzEnrolmentClazzUid, clazzEnrolmentPersonUid)CREATE INDEX index_ClazzEnrolment_clazzEnrolmentClazzUid_clazzEnrolmentRole ON ClazzEnrolment (clazzEnrolmentClazzUid, clazzEnrolmentRole)CREATE TABLE IF NOT EXISTS LeavingReason ( leavingReasonTitle TEXT , leavingReasonMCSN INTEGER NOT NULL , leavingReasonCSN INTEGER NOT NULL , leavingReasonLCB INTEGER NOT NULL , leavingReasonLct INTEGER NOT NULL , leavingReasonUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntry ( title TEXT , description TEXT , entryId TEXT , author TEXT , publisher TEXT , licenseType INTEGER NOT NULL , licenseName TEXT , licenseUrl TEXT , sourceUrl TEXT , thumbnailUrl TEXT , lastModified INTEGER NOT NULL , primaryLanguageUid INTEGER NOT NULL , languageVariantUid INTEGER NOT NULL , contentFlags INTEGER NOT NULL , leaf INTEGER NOT NULL , publik INTEGER NOT NULL , ceInactive INTEGER NOT NULL , completionCriteria INTEGER NOT NULL , minScore INTEGER NOT NULL , contentTypeFlag INTEGER NOT NULL , contentOwner INTEGER NOT NULL , contentOwnerType INTEGER NOT NULL DEFAULT 1 , contentEntryLocalChangeSeqNum INTEGER NOT NULL , contentEntryMasterChangeSeqNum INTEGER NOT NULL , contentEntryLastChangedBy INTEGER NOT NULL , contentEntryLct INTEGER NOT NULL , contentEntryUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryContentCategoryJoin ( ceccjContentEntryUid INTEGER NOT NULL , ceccjContentCategoryUid INTEGER NOT NULL , ceccjLocalChangeSeqNum INTEGER NOT NULL , ceccjMasterChangeSeqNum INTEGER NOT NULL , ceccjLastChangedBy INTEGER NOT NULL , ceccjLct INTEGER NOT NULL , ceccjUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryParentChildJoin ( cepcjLocalChangeSeqNum INTEGER NOT NULL , cepcjMasterChangeSeqNum INTEGER NOT NULL , cepcjLastChangedBy INTEGER NOT NULL , cepcjLct INTEGER NOT NULL , cepcjDeleted INTEGER NOT NULL DEFAULT 0 , cepcjParentContentEntryUid INTEGER NOT NULL , cepcjChildContentEntryUid INTEGER NOT NULL , childIndex INTEGER NOT NULL , cepcjUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX parent_child ON ContentEntryParentChildJoin (cepcjChildContentEntryUid, cepcjParentContentEntryUid)CREATE TABLE IF NOT EXISTS ContentEntryRelatedEntryJoin ( cerejContentEntryUid INTEGER NOT NULL , cerejRelatedEntryUid INTEGER NOT NULL , cerejLastChangedBy INTEGER NOT NULL , relType INTEGER NOT NULL , comment TEXT , cerejRelLanguageUid INTEGER NOT NULL , cerejLocalChangeSeqNum INTEGER NOT NULL , cerejMasterChangeSeqNum INTEGER NOT NULL , cerejLct INTEGER NOT NULL , cerejUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ContentCategorySchema ( schemaName TEXT , schemaUrl TEXT , contentCategorySchemaLocalChangeSeqNum INTEGER NOT NULL , contentCategorySchemaMasterChangeSeqNum INTEGER NOT NULL , contentCategorySchemaLastChangedBy INTEGER NOT NULL , contentCategorySchemaLct INTEGER NOT NULL , contentCategorySchemaUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ContentCategory ( ctnCatContentCategorySchemaUid INTEGER NOT NULL , name TEXT , contentCategoryLocalChangeSeqNum INTEGER NOT NULL , contentCategoryMasterChangeSeqNum INTEGER NOT NULL , contentCategoryLastChangedBy INTEGER NOT NULL , contentCategoryLct INTEGER NOT NULL , contentCategoryUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS Language ( name TEXT , iso_639_1_standard TEXT , iso_639_2_standard TEXT , iso_639_3_standard TEXT , Language_Type TEXT , languageActive INTEGER NOT NULL , langLocalChangeSeqNum INTEGER NOT NULL , langMasterChangeSeqNum INTEGER NOT NULL , langLastChangedBy INTEGER NOT NULL , langLct INTEGER NOT NULL , langUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS LanguageVariant ( langUid INTEGER NOT NULL , countryCode TEXT , name TEXT , langVariantLocalChangeSeqNum INTEGER NOT NULL , langVariantMasterChangeSeqNum INTEGER NOT NULL , langVariantLastChangedBy INTEGER NOT NULL , langVariantLct INTEGER NOT NULL , langVariantUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS PersonAuth ( passwordHash TEXT , personAuthStatus INTEGER NOT NULL , personAuthUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS PersonGroup ( groupMasterCsn INTEGER NOT NULL , groupLocalCsn INTEGER NOT NULL , groupLastChangedBy INTEGER NOT NULL , groupLct INTEGER NOT NULL , groupName TEXT , groupActive INTEGER NOT NULL , personGroupFlag INTEGER NOT NULL , groupUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS PersonGroupMember ( groupMemberActive INTEGER NOT NULL , groupMemberPersonUid INTEGER NOT NULL , groupMemberGroupUid INTEGER NOT NULL , groupMemberMasterCsn INTEGER NOT NULL , groupMemberLocalCsn INTEGER NOT NULL , groupMemberLastChangedBy INTEGER NOT NULL , groupMemberLct INTEGER NOT NULL , groupMemberUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS PersonPicture ( personPictureLct INTEGER NOT NULL , personPictureUri TEXT , personPictureThumbnailUri TEXT , fileSize INTEGER NOT NULL , personPictureActive INTEGER NOT NULL , personPictureUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS VerbEntity ( verbUid INTEGER PRIMARY KEY NOT NULL , verbUrlId TEXT , verbDeleted INTEGER NOT NULL , verbLct INTEGER NOT NULL )CREATE TABLE IF NOT EXISTS ActivityEntity ( actUid INTEGER PRIMARY KEY NOT NULL , actIdIri TEXT , actType TEXT , actMoreInfo TEXT , actInteractionType INTEGER NOT NULL , actCorrectResponsePatterns TEXT , actLct INTEGER NOT NULL )CREATE TABLE IF NOT EXISTS StatementEntity ( statementIdHi INTEGER NOT NULL , statementIdLo INTEGER NOT NULL , statementActorPersonUid INTEGER NOT NULL , statementVerbUid INTEGER NOT NULL , statementObjectType INTEGER NOT NULL , statementObjectUid1 INTEGER NOT NULL , statementObjectUid2 INTEGER NOT NULL , statementActorUid INTEGER NOT NULL , authorityActorUid INTEGER NOT NULL , teamUid INTEGER NOT NULL , resultCompletion INTEGER , resultSuccess INTEGER , resultScoreScaled REAl , resultScoreRaw REAl , resultScoreMin REAl , resultScoreMax REAl , resultDuration INTEGER , resultResponse TEXT , timestamp INTEGER NOT NULL , stored INTEGER NOT NULL , contextRegistrationHi INTEGER NOT NULL , contextRegistrationLo INTEGER NOT NULL , contextPlatform TEXT , contextStatementRefIdHi INTEGER NOT NULL , contextStatementRefIdLo INTEGER NOT NULL , contextInstructorActorUid INTEGER NOT NULL , statementLct INTEGER NOT NULL , extensionProgress INTEGER , completionOrProgress INTEGER NOT NULL , statementContentEntryUid INTEGER NOT NULL , statementLearnerGroupUid INTEGER NOT NULL , statementClazzUid INTEGER NOT NULL , statementCbUid INTEGER NOT NULL , statementDoorNode INTEGER NOT NULL , isSubStatement INTEGER NOT NULL , PRIMARY KEY (statementIdHi, statementIdLo) )CREATE INDEX idx_stmt_actor_person ON StatementEntity (statementActorPersonUid)CREATE INDEX idx_statement_clazz_person ON StatementEntity (statementClazzUid, statementActorPersonUid)CREATE INDEX idx_statement_cbuid_actor ON StatementEntity (statementCbUid, statementActorUid)CREATE TABLE IF NOT EXISTS ActorEntity ( actorPersonUid INTEGER NOT NULL , actorName TEXT , actorMbox TEXT , actorMbox_sha1sum TEXT , actorOpenid TEXT , actorAccountName TEXT , actorAccountHomePage TEXT , actorEtag INTEGER NOT NULL , actorLct INTEGER NOT NULL , actorObjectType INTEGER NOT NULL , actorUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX idx_actorentity_uid_personuid ON ActorEntity (actorPersonUid)CREATE INDEX idx_actorentity_actorobjecttype ON ActorEntity (actorObjectType)CREATE TABLE IF NOT EXISTS SyncNode ( nodeClientId INTEGER NOT NULL , PRIMARY KEY (nodeClientId) )CREATE TABLE IF NOT EXISTS Comments ( commentsText TEXT , commentsEntityUid INTEGER NOT NULL , commentsStatus INTEGER NOT NULL , commentsFromPersonUid INTEGER NOT NULL , commentsForSubmitterUid INTEGER NOT NULL , commentsFromSubmitterUid INTEGER NOT NULL , commentsFlagged INTEGER NOT NULL , commentsDeleted INTEGER NOT NULL , commentsDateTimeAdded INTEGER NOT NULL , commentsLct INTEGER NOT NULL , commentsUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX idx_comments_entity_submitter ON Comments (commentsEntityUid, commentsForSubmitterUid)CREATE TABLE IF NOT EXISTS Report ( reportOwnerUid INTEGER NOT NULL , xAxis INTEGER NOT NULL , reportDateRangeSelection INTEGER NOT NULL , fromDate INTEGER NOT NULL , fromRelTo INTEGER NOT NULL , fromRelOffSet INTEGER NOT NULL , fromRelUnit INTEGER NOT NULL , toDate INTEGER NOT NULL , toRelTo INTEGER NOT NULL , toRelOffSet INTEGER NOT NULL , toRelUnit INTEGER NOT NULL , reportTitle TEXT , reportDescription TEXT , reportSeries TEXT , reportInactive INTEGER NOT NULL , isTemplate INTEGER NOT NULL , priority INTEGER NOT NULL , reportTitleId INTEGER NOT NULL , reportDescId INTEGER NOT NULL , reportMasterChangeSeqNum INTEGER NOT NULL , reportLocalChangeSeqNum INTEGER NOT NULL , reportLastChangedBy INTEGER NOT NULL , reportLct INTEGER NOT NULL , reportUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS Site ( sitePcsn INTEGER NOT NULL , siteLcsn INTEGER NOT NULL , siteLcb INTEGER NOT NULL , siteLct INTEGER NOT NULL , siteName TEXT , guestLogin INTEGER NOT NULL , registrationAllowed INTEGER NOT NULL , authSalt TEXT , siteUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS SiteTerms ( termsHtml TEXT , sTermsLang TEXT , sTermsLangUid INTEGER NOT NULL , sTermsActive INTEGER NOT NULL , sTermsLastChangedBy INTEGER NOT NULL , sTermsPrimaryCsn INTEGER NOT NULL , sTermsLocalCsn INTEGER NOT NULL , sTermsLct INTEGER NOT NULL , sTermsUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS PersonParentJoin ( ppjPcsn INTEGER NOT NULL , ppjLcsn INTEGER NOT NULL , ppjLcb INTEGER NOT NULL , ppjLct INTEGER NOT NULL , ppjParentPersonUid INTEGER NOT NULL , ppjMinorPersonUid INTEGER NOT NULL , ppjRelationship INTEGER NOT NULL , ppjEmail TEXT , ppjPhone TEXT , ppjInactive INTEGER NOT NULL , ppjStatus INTEGER NOT NULL , ppjApprovalTiemstamp INTEGER NOT NULL , ppjApprovalIpAddr TEXT , ppjUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ScopedGrant ( sgPcsn INTEGER NOT NULL , sgLcsn INTEGER NOT NULL , sgLcb INTEGER NOT NULL , sgLct INTEGER NOT NULL , sgTableId INTEGER NOT NULL , sgEntityUid INTEGER NOT NULL , sgPermissions INTEGER NOT NULL , sgGroupUid INTEGER NOT NULL , sgIndex INTEGER NOT NULL , sgFlags INTEGER NOT NULL , sgUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX idx_group_to_entity ON ScopedGrant (sgGroupUid, sgPermissions, sgTableId, sgEntityUid)CREATE INDEX idx_entity_to_group ON ScopedGrant (sgTableId, sgEntityUid, sgPermissions, sgGroupUid)CREATE TABLE IF NOT EXISTS ErrorReport ( errPcsn INTEGER NOT NULL , errLcsn INTEGER NOT NULL , errLcb INTEGER NOT NULL , errLct INTEGER NOT NULL , severity INTEGER NOT NULL , timestamp INTEGER NOT NULL , presenterUri TEXT , appVersion TEXT , versionCode INTEGER NOT NULL , errorCode INTEGER NOT NULL , operatingSys TEXT , osVersion TEXT , stackTrace TEXT , message TEXT , errUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ClazzAssignment ( caTitle TEXT , caDescription TEXT , caGroupUid INTEGER NOT NULL DEFAULT 0 , caActive INTEGER NOT NULL , caClassCommentEnabled INTEGER NOT NULL , caPrivateCommentsEnabled INTEGER NOT NULL DEFAULT 1 , caCompletionCriteria INTEGER NOT NULL DEFAULT 100 , caRequireFileSubmission INTEGER NOT NULL DEFAULT 1 , caFileType INTEGER NOT NULL DEFAULT 0 , caSizeLimit INTEGER NOT NULL DEFAULT 50 , caNumberOfFiles INTEGER NOT NULL DEFAULT 1 , caSubmissionPolicy INTEGER NOT NULL DEFAULT 1 , caMarkingType INTEGER NOT NULL DEFAULT 1 , caRequireTextSubmission INTEGER NOT NULL DEFAULT 1 , caTextLimitType INTEGER NOT NULL DEFAULT 1 , caTextLimit INTEGER NOT NULL DEFAULT 500 , caXObjectUid INTEGER NOT NULL DEFAULT 0 , caClazzUid INTEGER NOT NULL , caPeerReviewerCount INTEGER NOT NULL DEFAULT 0 , caLocalChangeSeqNum INTEGER NOT NULL , caMasterChangeSeqNum INTEGER NOT NULL , caLastChangedBy INTEGER NOT NULL , caLct INTEGER NOT NULL , caUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS CourseAssignmentSubmission ( casAssignmentUid INTEGER NOT NULL , casSubmitterUid INTEGER NOT NULL , casSubmitterPersonUid INTEGER NOT NULL , casText TEXT , casType INTEGER NOT NULL , casTimestamp INTEGER NOT NULL , casClazzUid INTEGER NOT NULL DEFAULT 0 , casUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS CourseAssignmentSubmissionFile ( casaSubmissionUid INTEGER NOT NULL , casaSubmitterUid INTEGER NOT NULL DEFAULT 0 , casaCaUid INTEGER NOT NULL , casaClazzUid INTEGER NOT NULL , casaMimeType TEXT , casaFileName TEXT , casaUri TEXT , casaSize INTEGER NOT NULL , casaTimestamp INTEGER NOT NULL , casaDeleted INTEGER NOT NULL DEFAULT 0 , casaUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS CourseAssignmentMark ( camAssignmentUid INTEGER NOT NULL , camSubmitterUid INTEGER NOT NULL , camMarkerSubmitterUid INTEGER NOT NULL DEFAULT 0 , camMarkerPersonUid INTEGER NOT NULL DEFAULT 0 , camMarkerComment TEXT , camMark REAl NOT NULL , camMaxMark REAl NOT NULL DEFAULT 1 , camPenalty REAl NOT NULL , camLct INTEGER NOT NULL , camClazzUid INTEGER NOT NULL DEFAULT 0 , camUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS PeerReviewerAllocation ( praMarkerSubmitterUid INTEGER NOT NULL , praToMarkerSubmitterUid INTEGER NOT NULL , praAssignmentUid INTEGER NOT NULL , praActive INTEGER NOT NULL , praLct INTEGER NOT NULL , praUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS PersonAuth2 ( pauthUid INTEGER PRIMARY KEY NOT NULL , pauthMechanism TEXT , pauthAuth TEXT , pauthLcsn INTEGER NOT NULL , pauthPcsn INTEGER NOT NULL , pauthLcb INTEGER NOT NULL , pauthLct INTEGER NOT NULL )CREATE TABLE IF NOT EXISTS UserSession ( usPcsn INTEGER NOT NULL , usLcsn INTEGER NOT NULL , usLcb INTEGER NOT NULL , usLct INTEGER NOT NULL , usPersonUid INTEGER NOT NULL , usClientNodeId INTEGER NOT NULL , usStartTime INTEGER NOT NULL , usEndTime INTEGER NOT NULL , usStatus INTEGER NOT NULL , usReason INTEGER NOT NULL , usAuth TEXT , usSessionType INTEGER NOT NULL , usUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX person_status_node_idx ON UserSession (usPersonUid, usStatus, usClientNodeId)CREATE INDEX node_status_person_idx ON UserSession (usClientNodeId, usStatus, usPersonUid)CREATE TABLE IF NOT EXISTS ContentJob ( toUri TEXT , cjProgress INTEGER NOT NULL , cjTotal INTEGER NOT NULL , cjNotificationTitle TEXT , cjIsMeteredAllowed INTEGER NOT NULL , params TEXT , cjLct INTEGER NOT NULL , cjUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryImportJob ( sourceUri TEXT , cjiOriginalFilename TEXT , cjiContentEntryUid INTEGER NOT NULL , cjiParentContentEntryUid INTEGER NOT NULL , cjiContentEntryVersion INTEGER NOT NULL , cjiItemProgress INTEGER NOT NULL , cjiItemTotal INTEGER NOT NULL , cjiStatus INTEGER NOT NULL , cjiRecursiveStatus INTEGER NOT NULL , cjiPluginId INTEGER NOT NULL , cjiParentCjiUid INTEGER NOT NULL , cjiStartTime INTEGER NOT NULL , cjiFinishTime INTEGER NOT NULL , cjiContentDeletedOnCancellation INTEGER NOT NULL , cjiCompressionLevel INTEGER NOT NULL DEFAULT 3 , cjiError TEXT , cjiErrorDismissed INTEGER NOT NULL , cjiOwnerPersonUid INTEGER NOT NULL , cjiParams TEXT , cjiUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX index_ContentEntryImportJob_cjiContentEntryUid_cjiFinishTime ON ContentEntryImportJob (cjiContentEntryUid, cjiFinishTime)CREATE TABLE IF NOT EXISTS CourseBlock ( cbType INTEGER NOT NULL , cbIndentLevel INTEGER NOT NULL , cbModuleParentBlockUid INTEGER NOT NULL , cbTitle TEXT , cbDescription TEXT , cbCompletionCriteria INTEGER NOT NULL , cbHideUntilDate INTEGER NOT NULL , cbDeadlineDate INTEGER NOT NULL , cbLateSubmissionPenalty INTEGER NOT NULL , cbGracePeriodDate INTEGER NOT NULL , cbMaxPoints REAl , cbMinPoints REAl , cbIndex INTEGER NOT NULL , cbClazzUid INTEGER NOT NULL , cbClazzSourcedId TEXT , cbActive INTEGER NOT NULL , cbHidden INTEGER NOT NULL , cbEntityUid INTEGER NOT NULL , cbLct INTEGER NOT NULL , cbSourcedId TEXT , cbMetadata TEXT , cbCreatedByAppId TEXT , cbUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX idx_courseblock_cbclazzuid ON CourseBlock (cbClazzUid)CREATE TABLE IF NOT EXISTS CourseTerminology ( ctTitle TEXT , ctTerminology TEXT , ctLct INTEGER NOT NULL , ctUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS CourseGroupSet ( cgsName TEXT , cgsTotalGroups INTEGER NOT NULL , cgsActive INTEGER NOT NULL , cgsClazzUid INTEGER NOT NULL , cgsLct INTEGER NOT NULL , cgsUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS CourseGroupMember ( cgmSetUid INTEGER NOT NULL , cgmGroupNumber INTEGER NOT NULL , cgmPersonUid INTEGER NOT NULL , cgmLct INTEGER NOT NULL , cgmUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryPicture ( cepContentEntryUid INTEGER NOT NULL , cepUri TEXT , cepMd5 TEXT , cepFileSize INTEGER NOT NULL , cepTimestamp INTEGER NOT NULL , cepMimeType TEXT , cepActive INTEGER NOT NULL , cepUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ActivityInteractionEntity ( aieActivityUid INTEGER NOT NULL , aieHash INTEGER NOT NULL , aieProp INTEGER NOT NULL , aieId TEXT , aieLastMod INTEGER NOT NULL , aieIsDeleted INTEGER NOT NULL , PRIMARY KEY (aieActivityUid, aieHash) )CREATE TABLE IF NOT EXISTS CoursePicture ( coursePictureLct INTEGER NOT NULL , coursePictureUri TEXT , coursePictureThumbnailUri TEXT , coursePictureActive INTEGER NOT NULL , coursePictureUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS DiscussionPost ( discussionPostReplyToPostUid INTEGER NOT NULL , discussionPostTitle TEXT , discussionPostMessage TEXT , discussionPostStartDate INTEGER NOT NULL , discussionPostCourseBlockUid INTEGER NOT NULL , dpDeleted INTEGER NOT NULL , discussionPostStartedPersonUid INTEGER NOT NULL , discussionPostClazzUid INTEGER NOT NULL , discussionPostLct INTEGER NOT NULL , discussionPostVisible INTEGER NOT NULL , discussionPostArchive INTEGER NOT NULL , discussionPostUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ExternalAppPermission ( eapPersonUid INTEGER NOT NULL , eapPackageId TEXT , eapStartTime INTEGER NOT NULL , eapExpireTime INTEGER NOT NULL , eapAuthToken TEXT , eapAndroidAccountName TEXT , eapUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS Message ( messageSenderPersonUid INTEGER NOT NULL , messageToPersonUid INTEGER NOT NULL , messageText TEXT , messageTimestamp INTEGER NOT NULL , messageLct INTEGER NOT NULL , messageUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX message_idx_send_to_time ON Message (messageSenderPersonUid, messageToPersonUid, messageTimestamp)CREATE TABLE IF NOT EXISTS StudentResult ( srUid INTEGER PRIMARY KEY NOT NULL , srSourcedId TEXT , srCourseBlockUid INTEGER NOT NULL , srLineItemSourcedId TEXT , srLineItemHref TEXT , srClazzUid INTEGER NOT NULL , srAssignmentUid INTEGER NOT NULL , srStatus INTEGER NOT NULL , srMetaData TEXT , srStudentPersonUid INTEGER NOT NULL , srStudentPersonSourcedId TEXT , srStudentGroupId INTEGER NOT NULL , srMarkerPersonUid INTEGER NOT NULL , srMarkerGroupId INTEGER NOT NULL , srScoreStatus INTEGER NOT NULL , srScore REAl NOT NULL , srScoreDate INTEGER NOT NULL , srLastModified INTEGER NOT NULL , srComment TEXT , srAppId TEXT , srDeleted INTEGER NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryVersion ( cevContentEntryUid INTEGER NOT NULL , cevOpenUri TEXT , cevContentType TEXT , cevManifestUrl TEXT , cevSize INTEGER NOT NULL , cevInActive INTEGER NOT NULL , cevLastModified INTEGER NOT NULL , cevLct INTEGER NOT NULL , cevStorageSize INTEGER NOT NULL DEFAULT 0 , cevOriginalSize INTEGER NOT NULL DEFAULT 0 , cevUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS TransferJob ( tjType INTEGER NOT NULL , tjStatus INTEGER NOT NULL , tjName TEXT , tjUuid TEXT , tjTableId INTEGER NOT NULL DEFAULT 0 , tjEntityUid INTEGER NOT NULL DEFAULT 0 , tjTimeCreated INTEGER NOT NULL DEFAULT 0 , tjCreationType INTEGER NOT NULL DEFAULT 0 , tjOiUid INTEGER NOT NULL DEFAULT 0 , tjUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX TransferJob_idx_tjTableId_EntityUid ON TransferJob (tjTableId, tjEntityUid)CREATE TABLE IF NOT EXISTS TransferJobItem ( tjiTjUid INTEGER NOT NULL , tjTotalSize INTEGER NOT NULL , tjTransferred INTEGER NOT NULL , tjAttemptCount INTEGER NOT NULL , tjiSrc TEXT , tjiDest TEXT , tjiType INTEGER NOT NULL , tjiStatus INTEGER NOT NULL , tjiTableId INTEGER NOT NULL , tjiEntityUid INTEGER NOT NULL , tjiEntityEtag INTEGER NOT NULL DEFAULT 0 , tjiLockIdToRelease INTEGER NOT NULL DEFAULT 0 , tjiPartialTmpFile TEXT , tjiUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX tji_table_entity_etag ON TransferJobItem (tjiTableId, tjiEntityUid, tjiEntityEtag)CREATE INDEX transferjob_tjuid ON TransferJobItem (tjiTjUid)CREATE TABLE IF NOT EXISTS CacheLockJoin ( cljTableId INTEGER NOT NULL , cljEntityUid INTEGER NOT NULL , cljUrl TEXT , cljLockId INTEGER NOT NULL , cljStatus INTEGER NOT NULL , cljType INTEGER NOT NULL , cljOiUid INTEGER NOT NULL DEFAULT 0 , cljId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX idx_clj_table_entity_url ON CacheLockJoin (cljTableId, cljEntityUid, cljUrl)CREATE INDEX idx_clj_offline_item_uid ON CacheLockJoin (cljOiUid)CREATE TABLE IF NOT EXISTS OfflineItem ( oiNodeId INTEGER NOT NULL , oiClazzUid INTEGER NOT NULL , oiCourseBlockUid INTEGER NOT NULL , oiContentEntryUid INTEGER NOT NULL , oiActive INTEGER NOT NULL , oiLct INTEGER NOT NULL , oiUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX offline_item_node_content_entry ON OfflineItem (oiNodeId, oiContentEntryUid)CREATE TABLE IF NOT EXISTS OfflineItemPendingTransferJob ( oiptjOiUid INTEGER NOT NULL , oiptjTableId INTEGER NOT NULL , oiptjEntityUid INTEGER NOT NULL , oiptjUrl TEXT , oiptjType INTEGER NOT NULL , oiptjId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS DeletedItem ( delItemName TEXT , delItemIconUri TEXT , delItemLastModTime INTEGER NOT NULL , delItemTimeDeleted INTEGER NOT NULL , delItemEntityTable INTEGER NOT NULL , delItemEntityUid INTEGER NOT NULL , delItemDeletedByPersonUid INTEGER NOT NULL , delItemStatus INTEGER NOT NULL , delItemIsFolder INTEGER NOT NULL DEFAULT 0 , delItemUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX delitem_idx_status_time ON DeletedItem (delItemStatus, delItemTimeDeleted)CREATE TABLE IF NOT EXISTS EnrolmentRequest ( erClazzUid INTEGER NOT NULL , erClazzName TEXT , erPersonUid INTEGER NOT NULL , erPersonFullname TEXT , erPersonPictureUri TEXT , erPersonUsername TEXT , erRole INTEGER NOT NULL , erRequestTime INTEGER NOT NULL , erStatus INTEGER NOT NULL , erStatusSetByPersonUid INTEGER NOT NULL , erDeleted INTEGER NOT NULL , erStatusSetAuth TEXT , erLastModified INTEGER NOT NULL , erUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX idx_enrolmentrequest_by_clazz ON EnrolmentRequest (erClazzUid, erStatus)CREATE INDEX idx_enrolmentrequest_by_person ON EnrolmentRequest (erPersonUid, erStatus)CREATE TABLE IF NOT EXISTS CoursePermission ( cpLastModified INTEGER NOT NULL , cpClazzUid INTEGER NOT NULL , cpToEnrolmentRole INTEGER NOT NULL , cpToPersonUid INTEGER NOT NULL , cpToGroupUid INTEGER NOT NULL , cpPermissionsFlag INTEGER NOT NULL , cpIsDeleted INTEGER NOT NULL , cpUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX idx_coursepermission_clazzuid ON CoursePermission (cpClazzUid)CREATE TABLE IF NOT EXISTS SystemPermission ( spToPersonUid INTEGER NOT NULL , spToGroupUid INTEGER NOT NULL , spPermissionsFlag INTEGER NOT NULL , spLastModified INTEGER NOT NULL , spIsDeleted INTEGER NOT NULL , spUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX idx_systempermission_personuid ON SystemPermission (spToPersonUid)CREATE TABLE IF NOT EXISTS CourseBlockPicture ( cbpUid INTEGER PRIMARY KEY NOT NULL , cbpLct INTEGER NOT NULL , cbpPictureUri TEXT , cbpThumbnailUri TEXT )CREATE TABLE IF NOT EXISTS ContentEntryPicture2 ( cepUid INTEGER PRIMARY KEY NOT NULL , cepLct INTEGER NOT NULL , cepPictureUri TEXT , cepThumbnailUri TEXT )CREATE TABLE IF NOT EXISTS TransferJobError ( tjeTjUid INTEGER NOT NULL , tjeTime INTEGER NOT NULL , tjeErrorStr TEXT , tjeDismissed INTEGER NOT NULL , tjeId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX idx_transferjoberror_tjetjuid ON TransferJobError (tjeTjUid)CREATE TABLE IF NOT EXISTS VerbLangMapEntry ( vlmeVerbUid INTEGER NOT NULL , vlmeLangHash INTEGER NOT NULL , vlmeLangCode TEXT , vlmeEntryString TEXT , vlmeLastModified INTEGER NOT NULL , PRIMARY KEY (vlmeVerbUid, vlmeLangHash) )CREATE TABLE IF NOT EXISTS GroupMemberActorJoin ( gmajGroupActorUid INTEGER NOT NULL , gmajMemberActorUid INTEGER NOT NULL , gmajLastMod INTEGER NOT NULL , PRIMARY KEY (gmajGroupActorUid, gmajMemberActorUid) )CREATE INDEX idx_groupmemberactorjoin_gmajgroupactoruid ON GroupMemberActorJoin (gmajGroupActorUid)CREATE INDEX idx_groupmemberactorjoin_gmajmemberactoruid ON GroupMemberActorJoin (gmajMemberActorUid)CREATE TABLE IF NOT EXISTS ActivityLangMapEntry ( almeActivityUid INTEGER NOT NULL , almeHash INTEGER NOT NULL , almeLangCode TEXT , almePropName TEXT , almeValue TEXT , almeAieHash INTEGER NOT NULL , almeLastMod INTEGER NOT NULL , PRIMARY KEY (almeActivityUid, almeHash) )CREATE TABLE IF NOT EXISTS ActivityExtensionEntity ( aeeActivityUid INTEGER NOT NULL , aeeKeyHash INTEGER NOT NULL , aeeKey TEXT , aeeJson TEXT , aeeLastMod INTEGER NOT NULL , aeeIsDeleted INTEGER NOT NULL , PRIMARY KEY (aeeActivityUid, aeeKeyHash) )CREATE TABLE IF NOT EXISTS StatementContextActivityJoin ( scajFromStatementIdHi INTEGER NOT NULL , scajFromStatementIdLo INTEGER NOT NULL , scajToHash INTEGER NOT NULL , scajContextType INTEGER NOT NULL , scajToActivityUid INTEGER NOT NULL , scajToActivityId TEXT , scajEtag INTEGER NOT NULL , PRIMARY KEY (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash) )CREATE TABLE IF NOT EXISTS XapiSessionEntity ( xseLastMod INTEGER NOT NULL , xseRegistrationHi INTEGER NOT NULL , xseRegistrationLo INTEGER NOT NULL , xseUsUid INTEGER NOT NULL , xseAccountPersonUid INTEGER NOT NULL , xseActorUid INTEGER NOT NULL , xseAccountUsername TEXT NOT NULL , xseClazzUid INTEGER NOT NULL , xseCbUid INTEGER NOT NULL , xseContentEntryUid INTEGER NOT NULL , xseContentEntryVersionUid INTEGER NOT NULL DEFAULT 0 , xseRootActivityId TEXT NOT NULL , xseRootActivityUid INTEGER NOT NULL , xseStartTime INTEGER NOT NULL , xseExpireTime INTEGER NOT NULL , xseAuth TEXT , xseCompleted INTEGER NOT NULL DEFAULT 0 , knownActorUidToPersonUids TEXT NOT NULL , xseUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS StatementEntityJson ( stmtJsonIdHi INTEGER NOT NULL , stmtJsonIdLo INTEGER NOT NULL , stmtEtag INTEGER NOT NULL , fullStatement TEXT , PRIMARY KEY (stmtJsonIdHi, stmtJsonIdLo) )CREATE TABLE IF NOT EXISTS StateEntity ( seActorUid INTEGER NOT NULL , seHash INTEGER NOT NULL , seActivityUid INTEGER NOT NULL , seStateId TEXT NOT NULL , seLastMod INTEGER NOT NULL , seTimeStored INTEGER NOT NULL , seContentType TEXT NOT NULL , seCompressed INTEGER NOT NULL , seContent TEXT NOT NULL , seDeleted INTEGER NOT NULL , seRegistrationHi INTEGER , seRegistrationLo INTEGER , seH5PPreloaded INTEGER NOT NULL , seH5PSubContentId TEXT , PRIMARY KEY (seActorUid, seHash) )CREATE TABLE IF NOT EXISTS StateDeleteCommand ( sdcActorUid INTEGER NOT NULL , sdcHash INTEGER NOT NULL , sdcActivityUid INTEGER NOT NULL , sdcStateId TEXT , sdcLastMod INTEGER NOT NULL , sdcRegistrationHi INTEGER , sdcRegistrationLo INTEGER , PRIMARY KEY (sdcActorUid, sdcHash) )CREATE TABLE IF NOT EXISTS OutgoingReplication ( destNodeId INTEGER NOT NULL , orPk1 INTEGER NOT NULL , orPk2 INTEGER NOT NULL DEFAULT 0 , orPk3 INTEGER NOT NULL DEFAULT 0 , orPk4 INTEGER NOT NULL DEFAULT 0 , orTableId INTEGER NOT NULL , orUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ReplicationOperation ( repOpRemoteNodeId INTEGER NOT NULL , repOpStatus INTEGER NOT NULL , repOpTableId INTEGER NOT NULL , PRIMARY KEY (repOpRemoteNodeId, repOpTableId) )CREATE TABLE IF NOT EXISTS PendingRepositorySession ( endpointUrl TEXT , remoteNodeId INTEGER NOT NULL , rsUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS DoorNode ( auth TEXT , nodeId INTEGER NOT NULL , rel INTEGER NOT NULL DEFAULT 2 , PRIMARY KEY (nodeId) )CREATE TABLE IF NOT EXISTS ClazzLog ( clazzLogClazzUid BIGINT NOT NULL , logDate BIGINT NOT NULL , timeRecorded BIGINT NOT NULL , clazzLogDone BOOL NOT NULL , cancellationNote TEXT , clazzLogCancelled BOOL NOT NULL , clazzLogNumPresent INTEGER NOT NULL , clazzLogNumAbsent INTEGER NOT NULL , clazzLogNumPartial INTEGER NOT NULL , clazzLogScheduleUid BIGINT NOT NULL , clazzLogStatusFlag INTEGER NOT NULL , clazzLogMSQN BIGINT NOT NULL , clazzLogLCSN BIGINT NOT NULL , clazzLogLCB INTEGER NOT NULL , clazzLogLastChangedTime BIGINT NOT NULL , clazzLogUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ClazzLogAttendanceRecord ( clazzLogAttendanceRecordClazzLogUid BIGINT NOT NULL , clazzLogAttendanceRecordPersonUid BIGINT NOT NULL , attendanceStatus INTEGER NOT NULL , clazzLogAttendanceRecordMasterChangeSeqNum BIGINT NOT NULL , clazzLogAttendanceRecordLocalChangeSeqNum BIGINT NOT NULL , clazzLogAttendanceRecordLastChangedBy INTEGER NOT NULL , clazzLogAttendanceRecordLastChangedTime BIGINT NOT NULL , clazzLogAttendanceRecordUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS Schedule ( sceduleStartTime BIGINT NOT NULL , scheduleEndTime BIGINT NOT NULL , scheduleDay INTEGER NOT NULL , scheduleMonth INTEGER NOT NULL , scheduleFrequency INTEGER NOT NULL , umCalendarUid BIGINT NOT NULL , scheduleClazzUid BIGINT NOT NULL , scheduleMasterChangeSeqNum BIGINT NOT NULL , scheduleLocalChangeSeqNum BIGINT NOT NULL , scheduleLastChangedBy INTEGER NOT NULL , scheduleLastChangedTime BIGINT NOT NULL , scheduleActive BOOL NOT NULL , scheduleUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS HolidayCalendar ( umCalendarName TEXT , umCalendarCategory INTEGER NOT NULL , umCalendarActive BOOL NOT NULL , umCalendarMasterChangeSeqNum BIGINT NOT NULL , umCalendarLocalChangeSeqNum BIGINT NOT NULL , umCalendarLastChangedBy INTEGER NOT NULL , umCalendarLct BIGINT NOT NULL , umCalendarUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS Holiday ( holMasterCsn BIGINT NOT NULL , holLocalCsn BIGINT NOT NULL , holLastModBy INTEGER NOT NULL , holLct BIGINT NOT NULL , holActive BOOL NOT NULL , holHolidayCalendarUid BIGINT NOT NULL , holStartTime BIGINT NOT NULL , holEndTime BIGINT NOT NULL , holName TEXT , holUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS Person ( username TEXT , firstNames TEXT , lastName TEXT , emailAddr TEXT , phoneNum TEXT , gender INTEGER NOT NULL , active BOOL NOT NULL , dateOfBirth BIGINT NOT NULL , personAddress TEXT , personOrgId TEXT , personGroupUid BIGINT NOT NULL , personLct BIGINT NOT NULL , personCountry TEXT , personType INTEGER NOT NULL DEFAULT 0 , personMasterChangeSeqNum BIGINT NOT NULL , personLocalChangeSeqNum BIGINT NOT NULL , personLastChangedBy INTEGER NOT NULL , admin BOOL NOT NULL , personNotes TEXT , fatherName TEXT , fatherNumber TEXT , motherName TEXT , motherNum TEXT , personUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS Clazz ( clazzName TEXT , clazzDesc TEXT , attendanceAverage FLOAT NOT NULL , clazzHolidayUMCalendarUid BIGINT NOT NULL , clazzScheuleUMCalendarUid BIGINT NOT NULL , isClazzActive BOOL NOT NULL , clazzLocationUid BIGINT NOT NULL , clazzStartTime BIGINT NOT NULL , clazzEndTime BIGINT NOT NULL , clazzFeatures BIGINT NOT NULL , clazzSchoolUid BIGINT NOT NULL , clazzEnrolmentPolicy INTEGER NOT NULL DEFAULT 102 , clazzTerminologyUid BIGINT NOT NULL DEFAULT 25966 , clazzMasterChangeSeqNum BIGINT NOT NULL , clazzLocalChangeSeqNum BIGINT NOT NULL , clazzLastChangedBy INTEGER NOT NULL , clazzLct BIGINT NOT NULL , clazzTimeZone TEXT , clazzStudentsPersonGroupUid BIGINT NOT NULL , clazzTeachersPersonGroupUid BIGINT NOT NULL , clazzPendingStudentsPersonGroupUid BIGINT NOT NULL , clazzParentsPersonGroupUid BIGINT NOT NULL , clazzCode TEXT , clazzOwnerPersonUid BIGINT NOT NULL DEFAULT 0 , clazzUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ClazzEnrolment ( clazzEnrolmentPersonUid BIGINT NOT NULL , clazzEnrolmentClazzUid BIGINT NOT NULL , clazzEnrolmentDateJoined BIGINT NOT NULL , clazzEnrolmentDateLeft BIGINT NOT NULL , clazzEnrolmentRole INTEGER NOT NULL , clazzEnrolmentAttendancePercentage FLOAT NOT NULL , clazzEnrolmentActive BOOL NOT NULL , clazzEnrolmentLeavingReasonUid BIGINT NOT NULL , clazzEnrolmentOutcome INTEGER NOT NULL , clazzEnrolmentLocalChangeSeqNum BIGINT NOT NULL , clazzEnrolmentMasterChangeSeqNum BIGINT NOT NULL , clazzEnrolmentLastChangedBy INTEGER NOT NULL , clazzEnrolmentLct BIGINT NOT NULL , clazzEnrolmentUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS LeavingReason ( leavingReasonTitle TEXT , leavingReasonMCSN BIGINT NOT NULL , leavingReasonCSN BIGINT NOT NULL , leavingReasonLCB INTEGER NOT NULL , leavingReasonLct BIGINT NOT NULL , leavingReasonUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntry ( title TEXT , description TEXT , entryId TEXT , author TEXT , publisher TEXT , licenseType INTEGER NOT NULL , licenseName TEXT , licenseUrl TEXT , sourceUrl TEXT , thumbnailUrl TEXT , lastModified BIGINT NOT NULL , primaryLanguageUid BIGINT NOT NULL , languageVariantUid BIGINT NOT NULL , contentFlags INTEGER NOT NULL , leaf BOOL NOT NULL , publik BOOL NOT NULL , ceInactive BOOL NOT NULL , completionCriteria INTEGER NOT NULL , minScore INTEGER NOT NULL , contentTypeFlag INTEGER NOT NULL , contentOwner BIGINT NOT NULL , contentOwnerType INTEGER NOT NULL DEFAULT 1 , contentEntryLocalChangeSeqNum BIGINT NOT NULL , contentEntryMasterChangeSeqNum BIGINT NOT NULL , contentEntryLastChangedBy INTEGER NOT NULL , contentEntryLct BIGINT NOT NULL , contentEntryUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryContentCategoryJoin ( ceccjContentEntryUid BIGINT NOT NULL , ceccjContentCategoryUid BIGINT NOT NULL , ceccjLocalChangeSeqNum BIGINT NOT NULL , ceccjMasterChangeSeqNum BIGINT NOT NULL , ceccjLastChangedBy INTEGER NOT NULL , ceccjLct BIGINT NOT NULL , ceccjUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryParentChildJoin ( cepcjLocalChangeSeqNum BIGINT NOT NULL , cepcjMasterChangeSeqNum BIGINT NOT NULL , cepcjLastChangedBy INTEGER NOT NULL , cepcjLct BIGINT NOT NULL , cepcjDeleted BOOL NOT NULL DEFAULT false, cepcjParentContentEntryUid BIGINT NOT NULL , cepcjChildContentEntryUid BIGINT NOT NULL , childIndex INTEGER NOT NULL , cepcjUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryRelatedEntryJoin ( cerejContentEntryUid BIGINT NOT NULL , cerejRelatedEntryUid BIGINT NOT NULL , cerejLastChangedBy INTEGER NOT NULL , relType INTEGER NOT NULL , comment TEXT , cerejRelLanguageUid BIGINT NOT NULL , cerejLocalChangeSeqNum BIGINT NOT NULL , cerejMasterChangeSeqNum BIGINT NOT NULL , cerejLct BIGINT NOT NULL , cerejUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ContentCategorySchema ( schemaName TEXT , schemaUrl TEXT , contentCategorySchemaLocalChangeSeqNum BIGINT NOT NULL , contentCategorySchemaMasterChangeSeqNum BIGINT NOT NULL , contentCategorySchemaLastChangedBy INTEGER NOT NULL , contentCategorySchemaLct BIGINT NOT NULL , contentCategorySchemaUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ContentCategory ( ctnCatContentCategorySchemaUid BIGINT NOT NULL , name TEXT , contentCategoryLocalChangeSeqNum BIGINT NOT NULL , contentCategoryMasterChangeSeqNum BIGINT NOT NULL , contentCategoryLastChangedBy INTEGER NOT NULL , contentCategoryLct BIGINT NOT NULL , contentCategoryUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS Language ( name TEXT , iso_639_1_standard TEXT , iso_639_2_standard TEXT , iso_639_3_standard TEXT , Language_Type TEXT , languageActive BOOL NOT NULL , langLocalChangeSeqNum BIGINT NOT NULL , langMasterChangeSeqNum BIGINT NOT NULL , langLastChangedBy INTEGER NOT NULL , langLct BIGINT NOT NULL , langUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS LanguageVariant ( langUid BIGINT NOT NULL , countryCode TEXT , name TEXT , langVariantLocalChangeSeqNum BIGINT NOT NULL , langVariantMasterChangeSeqNum BIGINT NOT NULL , langVariantLastChangedBy INTEGER NOT NULL , langVariantLct BIGINT NOT NULL , langVariantUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS PersonAuth ( passwordHash TEXT , personAuthStatus INTEGER NOT NULL , personAuthUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS PersonGroup ( groupMasterCsn BIGINT NOT NULL , groupLocalCsn BIGINT NOT NULL , groupLastChangedBy INTEGER NOT NULL , groupLct BIGINT NOT NULL , groupName TEXT , groupActive BOOL NOT NULL , personGroupFlag INTEGER NOT NULL , groupUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS PersonGroupMember ( groupMemberActive BOOL NOT NULL , groupMemberPersonUid BIGINT NOT NULL , groupMemberGroupUid BIGINT NOT NULL , groupMemberMasterCsn BIGINT NOT NULL , groupMemberLocalCsn BIGINT NOT NULL , groupMemberLastChangedBy INTEGER NOT NULL , groupMemberLct BIGINT NOT NULL , groupMemberUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS PersonPicture ( personPictureLct BIGINT NOT NULL , personPictureUri TEXT , personPictureThumbnailUri TEXT , fileSize INTEGER NOT NULL , personPictureActive BOOL NOT NULL , personPictureUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS VerbEntity ( verbUid BIGINT PRIMARY KEY NOT NULL , verbUrlId TEXT , verbDeleted BOOL NOT NULL , verbLct BIGINT NOT NULL )CREATE TABLE IF NOT EXISTS ActivityEntity ( actUid BIGINT PRIMARY KEY NOT NULL , actIdIri TEXT , actType TEXT , actMoreInfo TEXT , actInteractionType INTEGER NOT NULL , actCorrectResponsePatterns TEXT , actLct BIGINT NOT NULL )CREATE TABLE IF NOT EXISTS StatementEntity ( statementIdHi BIGINT NOT NULL , statementIdLo BIGINT NOT NULL , statementActorPersonUid BIGINT NOT NULL , statementVerbUid BIGINT NOT NULL , statementObjectType INTEGER NOT NULL , statementObjectUid1 BIGINT NOT NULL , statementObjectUid2 BIGINT NOT NULL , statementActorUid BIGINT NOT NULL , authorityActorUid BIGINT NOT NULL , teamUid BIGINT NOT NULL , resultCompletion BOOL , resultSuccess BOOL , resultScoreScaled FLOAT , resultScoreRaw FLOAT , resultScoreMin FLOAT , resultScoreMax FLOAT , resultDuration BIGINT , resultResponse TEXT , timestamp BIGINT NOT NULL , stored BIGINT NOT NULL , contextRegistrationHi BIGINT NOT NULL , contextRegistrationLo BIGINT NOT NULL , contextPlatform TEXT , contextStatementRefIdHi BIGINT NOT NULL , contextStatementRefIdLo BIGINT NOT NULL , contextInstructorActorUid BIGINT NOT NULL , statementLct BIGINT NOT NULL , extensionProgress INTEGER , completionOrProgress BOOL NOT NULL , statementContentEntryUid BIGINT NOT NULL , statementLearnerGroupUid BIGINT NOT NULL , statementClazzUid BIGINT NOT NULL , statementCbUid BIGINT NOT NULL , statementDoorNode BIGINT NOT NULL , isSubStatement BOOL NOT NULL , PRIMARY KEY (statementIdHi, statementIdLo) )CREATE TABLE IF NOT EXISTS ActorEntity ( actorPersonUid BIGINT NOT NULL , actorName TEXT , actorMbox TEXT , actorMbox_sha1sum TEXT , actorOpenid TEXT , actorAccountName TEXT , actorAccountHomePage TEXT , actorEtag BIGINT NOT NULL , actorLct BIGINT NOT NULL , actorObjectType INTEGER NOT NULL , actorUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS SyncNode ( nodeClientId BIGINT NOT NULL , PRIMARY KEY (nodeClientId) )CREATE TABLE IF NOT EXISTS Comments ( commentsText TEXT , commentsEntityUid BIGINT NOT NULL , commentsStatus INTEGER NOT NULL , commentsFromPersonUid BIGINT NOT NULL , commentsForSubmitterUid BIGINT NOT NULL , commentsFromSubmitterUid BIGINT NOT NULL , commentsFlagged BOOL NOT NULL , commentsDeleted BOOL NOT NULL , commentsDateTimeAdded BIGINT NOT NULL , commentsLct BIGINT NOT NULL , commentsUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS Report ( reportOwnerUid BIGINT NOT NULL , xAxis INTEGER NOT NULL , reportDateRangeSelection INTEGER NOT NULL , fromDate BIGINT NOT NULL , fromRelTo INTEGER NOT NULL , fromRelOffSet INTEGER NOT NULL , fromRelUnit INTEGER NOT NULL , toDate BIGINT NOT NULL , toRelTo INTEGER NOT NULL , toRelOffSet INTEGER NOT NULL , toRelUnit INTEGER NOT NULL , reportTitle TEXT , reportDescription TEXT , reportSeries TEXT , reportInactive BOOL NOT NULL , isTemplate BOOL NOT NULL , priority INTEGER NOT NULL , reportTitleId INTEGER NOT NULL , reportDescId INTEGER NOT NULL , reportMasterChangeSeqNum BIGINT NOT NULL , reportLocalChangeSeqNum BIGINT NOT NULL , reportLastChangedBy INTEGER NOT NULL , reportLct BIGINT NOT NULL , reportUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS Site ( sitePcsn BIGINT NOT NULL , siteLcsn BIGINT NOT NULL , siteLcb INTEGER NOT NULL , siteLct BIGINT NOT NULL , siteName TEXT , guestLogin BOOL NOT NULL , registrationAllowed BOOL NOT NULL , authSalt TEXT , siteUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS SiteTerms ( termsHtml TEXT , sTermsLang TEXT , sTermsLangUid BIGINT NOT NULL , sTermsActive BOOL NOT NULL , sTermsLastChangedBy INTEGER NOT NULL , sTermsPrimaryCsn BIGINT NOT NULL , sTermsLocalCsn BIGINT NOT NULL , sTermsLct BIGINT NOT NULL , sTermsUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS PersonParentJoin ( ppjPcsn BIGINT NOT NULL , ppjLcsn BIGINT NOT NULL , ppjLcb INTEGER NOT NULL , ppjLct BIGINT NOT NULL , ppjParentPersonUid BIGINT NOT NULL , ppjMinorPersonUid BIGINT NOT NULL , ppjRelationship INTEGER NOT NULL , ppjEmail TEXT , ppjPhone TEXT , ppjInactive BOOL NOT NULL , ppjStatus INTEGER NOT NULL , ppjApprovalTiemstamp BIGINT NOT NULL , ppjApprovalIpAddr TEXT , ppjUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ScopedGrant ( sgPcsn BIGINT NOT NULL , sgLcsn BIGINT NOT NULL , sgLcb INTEGER NOT NULL , sgLct BIGINT NOT NULL , sgTableId INTEGER NOT NULL , sgEntityUid BIGINT NOT NULL , sgPermissions BIGINT NOT NULL , sgGroupUid BIGINT NOT NULL , sgIndex INTEGER NOT NULL , sgFlags INTEGER NOT NULL , sgUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ErrorReport ( errPcsn BIGINT NOT NULL , errLcsn BIGINT NOT NULL , errLcb INTEGER NOT NULL , errLct BIGINT NOT NULL , severity INTEGER NOT NULL , timestamp BIGINT NOT NULL , presenterUri TEXT , appVersion TEXT , versionCode INTEGER NOT NULL , errorCode INTEGER NOT NULL , operatingSys TEXT , osVersion TEXT , stackTrace TEXT , message TEXT , errUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ClazzAssignment ( caTitle TEXT , caDescription TEXT , caGroupUid BIGINT NOT NULL DEFAULT 0 , caActive BOOL NOT NULL , caClassCommentEnabled BOOL NOT NULL , caPrivateCommentsEnabled BOOL NOT NULL DEFAULT true, caCompletionCriteria INTEGER NOT NULL DEFAULT 100 , caRequireFileSubmission BOOL NOT NULL DEFAULT true, caFileType INTEGER NOT NULL DEFAULT 0 , caSizeLimit INTEGER NOT NULL DEFAULT 50 , caNumberOfFiles INTEGER NOT NULL DEFAULT 1 , caSubmissionPolicy INTEGER NOT NULL DEFAULT 1 , caMarkingType INTEGER NOT NULL DEFAULT 1 , caRequireTextSubmission BOOL NOT NULL DEFAULT true, caTextLimitType INTEGER NOT NULL DEFAULT 1 , caTextLimit INTEGER NOT NULL DEFAULT 500 , caXObjectUid BIGINT NOT NULL DEFAULT 0 , caClazzUid BIGINT NOT NULL , caPeerReviewerCount INTEGER NOT NULL DEFAULT 0 , caLocalChangeSeqNum BIGINT NOT NULL , caMasterChangeSeqNum BIGINT NOT NULL , caLastChangedBy INTEGER NOT NULL , caLct BIGINT NOT NULL , caUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS CourseAssignmentSubmission ( casAssignmentUid BIGINT NOT NULL , casSubmitterUid BIGINT NOT NULL , casSubmitterPersonUid BIGINT NOT NULL , casText TEXT , casType INTEGER NOT NULL , casTimestamp BIGINT NOT NULL , casClazzUid BIGINT NOT NULL DEFAULT 0 , casUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS CourseAssignmentSubmissionFile ( casaSubmissionUid BIGINT NOT NULL , casaSubmitterUid BIGINT NOT NULL DEFAULT 0 , casaCaUid BIGINT NOT NULL , casaClazzUid BIGINT NOT NULL , casaMimeType TEXT , casaFileName TEXT , casaUri TEXT , casaSize INTEGER NOT NULL , casaTimestamp BIGINT NOT NULL , casaDeleted BOOL NOT NULL DEFAULT false, casaUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS CourseAssignmentMark ( camAssignmentUid BIGINT NOT NULL , camSubmitterUid BIGINT NOT NULL , camMarkerSubmitterUid BIGINT NOT NULL DEFAULT 0 , camMarkerPersonUid BIGINT NOT NULL DEFAULT 0 , camMarkerComment TEXT , camMark FLOAT NOT NULL , camMaxMark FLOAT NOT NULL DEFAULT 1 , camPenalty FLOAT NOT NULL , camLct BIGINT NOT NULL , camClazzUid BIGINT NOT NULL DEFAULT 0 , camUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS PeerReviewerAllocation ( praMarkerSubmitterUid BIGINT NOT NULL , praToMarkerSubmitterUid BIGINT NOT NULL , praAssignmentUid BIGINT NOT NULL , praActive BOOL NOT NULL , praLct BIGINT NOT NULL , praUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS PersonAuth2 ( pauthUid BIGINT PRIMARY KEY NOT NULL , pauthMechanism TEXT , pauthAuth TEXT , pauthLcsn BIGINT NOT NULL , pauthPcsn BIGINT NOT NULL , pauthLcb BIGINT NOT NULL , pauthLct BIGINT NOT NULL )CREATE TABLE IF NOT EXISTS UserSession ( usPcsn BIGINT NOT NULL , usLcsn BIGINT NOT NULL , usLcb BIGINT NOT NULL , usLct BIGINT NOT NULL , usPersonUid BIGINT NOT NULL , usClientNodeId BIGINT NOT NULL , usStartTime BIGINT NOT NULL , usEndTime BIGINT NOT NULL , usStatus INTEGER NOT NULL , usReason INTEGER NOT NULL , usAuth TEXT , usSessionType INTEGER NOT NULL , usUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ContentJob ( toUri TEXT , cjProgress BIGINT NOT NULL , cjTotal BIGINT NOT NULL , cjNotificationTitle TEXT , cjIsMeteredAllowed BOOL NOT NULL , params TEXT , cjLct BIGINT NOT NULL , cjUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryImportJob ( sourceUri TEXT , cjiOriginalFilename TEXT , cjiContentEntryUid BIGINT NOT NULL , cjiParentContentEntryUid BIGINT NOT NULL , cjiContentEntryVersion BIGINT NOT NULL , cjiItemProgress BIGINT NOT NULL , cjiItemTotal BIGINT NOT NULL , cjiStatus INTEGER NOT NULL , cjiRecursiveStatus INTEGER NOT NULL , cjiPluginId INTEGER NOT NULL , cjiParentCjiUid BIGINT NOT NULL , cjiStartTime BIGINT NOT NULL , cjiFinishTime BIGINT NOT NULL , cjiContentDeletedOnCancellation BOOL NOT NULL , cjiCompressionLevel INTEGER NOT NULL DEFAULT 3 , cjiError TEXT , cjiErrorDismissed BOOL NOT NULL , cjiOwnerPersonUid BIGINT NOT NULL , cjiParams TEXT , cjiUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS CourseBlock ( cbType INTEGER NOT NULL , cbIndentLevel INTEGER NOT NULL , cbModuleParentBlockUid BIGINT NOT NULL , cbTitle TEXT , cbDescription TEXT , cbCompletionCriteria INTEGER NOT NULL , cbHideUntilDate BIGINT NOT NULL , cbDeadlineDate BIGINT NOT NULL , cbLateSubmissionPenalty INTEGER NOT NULL , cbGracePeriodDate BIGINT NOT NULL , cbMaxPoints FLOAT , cbMinPoints FLOAT , cbIndex INTEGER NOT NULL , cbClazzUid BIGINT NOT NULL , cbClazzSourcedId TEXT , cbActive BOOL NOT NULL , cbHidden BOOL NOT NULL , cbEntityUid BIGINT NOT NULL , cbLct BIGINT NOT NULL , cbSourcedId TEXT , cbMetadata TEXT , cbCreatedByAppId TEXT , cbUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS CourseTerminology ( ctTitle TEXT , ctTerminology TEXT , ctLct BIGINT NOT NULL , ctUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS CourseGroupSet ( cgsName TEXT , cgsTotalGroups INTEGER NOT NULL , cgsActive BOOL NOT NULL , cgsClazzUid BIGINT NOT NULL , cgsLct BIGINT NOT NULL , cgsUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS CourseGroupMember ( cgmSetUid BIGINT NOT NULL , cgmGroupNumber INTEGER NOT NULL , cgmPersonUid BIGINT NOT NULL , cgmLct BIGINT NOT NULL , cgmUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryPicture ( cepContentEntryUid BIGINT NOT NULL , cepUri TEXT , cepMd5 TEXT , cepFileSize INTEGER NOT NULL , cepTimestamp BIGINT NOT NULL , cepMimeType TEXT , cepActive BOOL NOT NULL , cepUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ActivityInteractionEntity ( aieActivityUid BIGINT NOT NULL , aieHash BIGINT NOT NULL , aieProp INTEGER NOT NULL , aieId TEXT , aieLastMod BIGINT NOT NULL , aieIsDeleted BOOL NOT NULL , PRIMARY KEY (aieActivityUid, aieHash) )CREATE TABLE IF NOT EXISTS CoursePicture ( coursePictureLct BIGINT NOT NULL , coursePictureUri TEXT , coursePictureThumbnailUri TEXT , coursePictureActive BOOL NOT NULL , coursePictureUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS DiscussionPost ( discussionPostReplyToPostUid BIGINT NOT NULL , discussionPostTitle TEXT , discussionPostMessage TEXT , discussionPostStartDate BIGINT NOT NULL , discussionPostCourseBlockUid BIGINT NOT NULL , dpDeleted BOOL NOT NULL , discussionPostStartedPersonUid BIGINT NOT NULL , discussionPostClazzUid BIGINT NOT NULL , discussionPostLct BIGINT NOT NULL , discussionPostVisible BOOL NOT NULL , discussionPostArchive BOOL NOT NULL , discussionPostUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ExternalAppPermission ( eapPersonUid BIGINT NOT NULL , eapPackageId TEXT , eapStartTime BIGINT NOT NULL , eapExpireTime BIGINT NOT NULL , eapAuthToken TEXT , eapAndroidAccountName TEXT , eapUid SERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS Message ( messageSenderPersonUid BIGINT NOT NULL , messageToPersonUid BIGINT NOT NULL , messageText TEXT , messageTimestamp BIGINT NOT NULL , messageLct BIGINT NOT NULL , messageUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS StudentResult ( srUid BIGINT PRIMARY KEY NOT NULL , srSourcedId TEXT , srCourseBlockUid BIGINT NOT NULL , srLineItemSourcedId TEXT , srLineItemHref TEXT , srClazzUid BIGINT NOT NULL , srAssignmentUid BIGINT NOT NULL , srStatus INTEGER NOT NULL , srMetaData TEXT , srStudentPersonUid BIGINT NOT NULL , srStudentPersonSourcedId TEXT , srStudentGroupId INTEGER NOT NULL , srMarkerPersonUid BIGINT NOT NULL , srMarkerGroupId INTEGER NOT NULL , srScoreStatus INTEGER NOT NULL , srScore FLOAT NOT NULL , srScoreDate BIGINT NOT NULL , srLastModified BIGINT NOT NULL , srComment TEXT , srAppId TEXT , srDeleted BOOL NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryVersion ( cevContentEntryUid BIGINT NOT NULL , cevOpenUri TEXT , cevContentType TEXT , cevManifestUrl TEXT , cevSize BIGINT NOT NULL , cevInActive BOOL NOT NULL , cevLastModified BIGINT NOT NULL , cevLct BIGINT NOT NULL , cevStorageSize BIGINT NOT NULL DEFAULT 0 , cevOriginalSize BIGINT NOT NULL DEFAULT 0 , cevUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS TransferJob ( tjType INTEGER NOT NULL , tjStatus INTEGER NOT NULL , tjName TEXT , tjUuid TEXT , tjTableId INTEGER NOT NULL DEFAULT 0 , tjEntityUid BIGINT NOT NULL DEFAULT 0 , tjTimeCreated BIGINT NOT NULL DEFAULT 0 , tjCreationType INTEGER NOT NULL DEFAULT 0 , tjOiUid BIGINT NOT NULL DEFAULT 0 , tjUid SERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS TransferJobItem ( tjiTjUid INTEGER NOT NULL , tjTotalSize BIGINT NOT NULL , tjTransferred BIGINT NOT NULL , tjAttemptCount INTEGER NOT NULL , tjiSrc TEXT , tjiDest TEXT , tjiType INTEGER NOT NULL , tjiStatus INTEGER NOT NULL , tjiTableId INTEGER NOT NULL , tjiEntityUid BIGINT NOT NULL , tjiEntityEtag BIGINT NOT NULL DEFAULT 0 , tjiLockIdToRelease BIGINT NOT NULL DEFAULT 0 , tjiPartialTmpFile TEXT , tjiUid SERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS CacheLockJoin ( cljTableId INTEGER NOT NULL , cljEntityUid BIGINT NOT NULL , cljUrl TEXT , cljLockId BIGINT NOT NULL , cljStatus INTEGER NOT NULL , cljType INTEGER NOT NULL , cljOiUid BIGINT NOT NULL DEFAULT 0 , cljId SERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS OfflineItem ( oiNodeId BIGINT NOT NULL , oiClazzUid BIGINT NOT NULL , oiCourseBlockUid BIGINT NOT NULL , oiContentEntryUid BIGINT NOT NULL , oiActive BOOL NOT NULL , oiLct BIGINT NOT NULL , oiUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS OfflineItemPendingTransferJob ( oiptjOiUid BIGINT NOT NULL , oiptjTableId INTEGER NOT NULL , oiptjEntityUid BIGINT NOT NULL , oiptjUrl TEXT , oiptjType INTEGER NOT NULL , oiptjId SERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS DeletedItem ( delItemName TEXT , delItemIconUri TEXT , delItemLastModTime BIGINT NOT NULL , delItemTimeDeleted BIGINT NOT NULL , delItemEntityTable INTEGER NOT NULL , delItemEntityUid BIGINT NOT NULL , delItemDeletedByPersonUid BIGINT NOT NULL , delItemStatus INTEGER NOT NULL , delItemIsFolder BOOL NOT NULL DEFAULT false, delItemUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS EnrolmentRequest ( erClazzUid BIGINT NOT NULL , erClazzName TEXT , erPersonUid BIGINT NOT NULL , erPersonFullname TEXT , erPersonPictureUri TEXT , erPersonUsername TEXT , erRole INTEGER NOT NULL , erRequestTime BIGINT NOT NULL , erStatus INTEGER NOT NULL , erStatusSetByPersonUid BIGINT NOT NULL , erDeleted BOOL NOT NULL , erStatusSetAuth TEXT , erLastModified BIGINT NOT NULL , erUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS CoursePermission ( cpLastModified BIGINT NOT NULL , cpClazzUid BIGINT NOT NULL , cpToEnrolmentRole INTEGER NOT NULL , cpToPersonUid BIGINT NOT NULL , cpToGroupUid BIGINT NOT NULL , cpPermissionsFlag BIGINT NOT NULL , cpIsDeleted BOOL NOT NULL , cpUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS SystemPermission ( spToPersonUid BIGINT NOT NULL , spToGroupUid BIGINT NOT NULL , spPermissionsFlag BIGINT NOT NULL , spLastModified BIGINT NOT NULL , spIsDeleted BOOL NOT NULL , spUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS CourseBlockPicture ( cbpUid BIGINT PRIMARY KEY NOT NULL , cbpLct BIGINT NOT NULL , cbpPictureUri TEXT , cbpThumbnailUri TEXT )CREATE TABLE IF NOT EXISTS ContentEntryPicture2 ( cepUid BIGINT PRIMARY KEY NOT NULL , cepLct BIGINT NOT NULL , cepPictureUri TEXT , cepThumbnailUri TEXT )CREATE TABLE IF NOT EXISTS TransferJobError ( tjeTjUid INTEGER NOT NULL , tjeTime BIGINT NOT NULL , tjeErrorStr TEXT , tjeDismissed BOOL NOT NULL , tjeId SERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS VerbLangMapEntry ( vlmeVerbUid BIGINT NOT NULL , vlmeLangHash BIGINT NOT NULL , vlmeLangCode TEXT , vlmeEntryString TEXT , vlmeLastModified BIGINT NOT NULL , PRIMARY KEY (vlmeVerbUid, vlmeLangHash) )CREATE TABLE IF NOT EXISTS GroupMemberActorJoin ( gmajGroupActorUid BIGINT NOT NULL , gmajMemberActorUid BIGINT NOT NULL , gmajLastMod BIGINT NOT NULL , PRIMARY KEY (gmajGroupActorUid, gmajMemberActorUid) )CREATE TABLE IF NOT EXISTS ActivityLangMapEntry ( almeActivityUid BIGINT NOT NULL , almeHash BIGINT NOT NULL , almeLangCode TEXT , almePropName TEXT , almeValue TEXT , almeAieHash BIGINT NOT NULL , almeLastMod BIGINT NOT NULL , PRIMARY KEY (almeActivityUid, almeHash) )CREATE TABLE IF NOT EXISTS ActivityExtensionEntity ( aeeActivityUid BIGINT NOT NULL , aeeKeyHash BIGINT NOT NULL , aeeKey TEXT , aeeJson TEXT , aeeLastMod BIGINT NOT NULL , aeeIsDeleted BOOL NOT NULL , PRIMARY KEY (aeeActivityUid, aeeKeyHash) )CREATE TABLE IF NOT EXISTS StatementContextActivityJoin ( scajFromStatementIdHi BIGINT NOT NULL , scajFromStatementIdLo BIGINT NOT NULL , scajToHash BIGINT NOT NULL , scajContextType INTEGER NOT NULL , scajToActivityUid BIGINT NOT NULL , scajToActivityId TEXT , scajEtag BIGINT NOT NULL , PRIMARY KEY (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash) )CREATE TABLE IF NOT EXISTS XapiSessionEntity ( xseLastMod BIGINT NOT NULL , xseRegistrationHi BIGINT NOT NULL , xseRegistrationLo BIGINT NOT NULL , xseUsUid BIGINT NOT NULL , xseAccountPersonUid BIGINT NOT NULL , xseActorUid BIGINT NOT NULL , xseAccountUsername TEXT NOT NULL , xseClazzUid BIGINT NOT NULL , xseCbUid BIGINT NOT NULL , xseContentEntryUid BIGINT NOT NULL , xseContentEntryVersionUid BIGINT NOT NULL DEFAULT 0 , xseRootActivityId TEXT NOT NULL , xseRootActivityUid BIGINT NOT NULL , xseStartTime BIGINT NOT NULL , xseExpireTime BIGINT NOT NULL , xseAuth TEXT , xseCompleted BOOL NOT NULL DEFAULT false, knownActorUidToPersonUids TEXT NOT NULL , xseUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS StatementEntityJson ( stmtJsonIdHi BIGINT NOT NULL , stmtJsonIdLo BIGINT NOT NULL , stmtEtag BIGINT NOT NULL , fullStatement TEXT , PRIMARY KEY (stmtJsonIdHi, stmtJsonIdLo) )CREATE TABLE IF NOT EXISTS StateEntity ( seActorUid BIGINT NOT NULL , seHash BIGINT NOT NULL , seActivityUid BIGINT NOT NULL , seStateId TEXT NOT NULL , seLastMod BIGINT NOT NULL , seTimeStored BIGINT NOT NULL , seContentType TEXT NOT NULL , seCompressed INTEGER NOT NULL , seContent TEXT NOT NULL , seDeleted BOOL NOT NULL , seRegistrationHi BIGINT , seRegistrationLo BIGINT , seH5PPreloaded BOOL NOT NULL , seH5PSubContentId TEXT , PRIMARY KEY (seActorUid, seHash) )CREATE TABLE IF NOT EXISTS StateDeleteCommand ( sdcActorUid BIGINT NOT NULL , sdcHash BIGINT NOT NULL , sdcActivityUid BIGINT NOT NULL , sdcStateId TEXT , sdcLastMod BIGINT NOT NULL , sdcRegistrationHi BIGINT , sdcRegistrationLo BIGINT , PRIMARY KEY (sdcActorUid, sdcHash) )CREATE TABLE IF NOT EXISTS OutgoingReplication ( destNodeId BIGINT NOT NULL , orPk1 BIGINT NOT NULL , orPk2 BIGINT NOT NULL DEFAULT 0 , orPk3 BIGINT NOT NULL DEFAULT 0 , orPk4 BIGINT NOT NULL DEFAULT 0 , orTableId INTEGER NOT NULL , orUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ReplicationOperation ( repOpRemoteNodeId BIGINT NOT NULL , repOpStatus INTEGER NOT NULL , repOpTableId INTEGER NOT NULL , PRIMARY KEY (repOpRemoteNodeId, repOpTableId) )CREATE TABLE IF NOT EXISTS PendingRepositorySession ( endpointUrl TEXT , remoteNodeId BIGINT NOT NULL , rsUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS DoorNode ( auth TEXT , nodeId BIGINT NOT NULL , rel INTEGER NOT NULL DEFAULT 2 , PRIMARY KEY (nodeId) )makeClearAllTablesSqlmutableListOfDELETE FROM ClazzLogDELETE FROM ClazzLogAttendanceRecordDELETE FROM ScheduleDELETE FROM HolidayCalendarDELETE FROM HolidayDELETE FROM PersonDELETE FROM ClazzDELETE FROM ClazzEnrolmentDELETE FROM LeavingReasonDELETE FROM ContentEntryDELETE FROM ContentEntryContentCategoryJoinDELETE FROM ContentEntryParentChildJoinDELETE FROM ContentEntryRelatedEntryJoinDELETE FROM ContentCategorySchemaDELETE FROM ContentCategoryDELETE FROM LanguageDELETE FROM LanguageVariantDELETE FROM PersonAuthDELETE FROM PersonGroupDELETE FROM PersonGroupMemberDELETE FROM PersonPictureDELETE FROM VerbEntityDELETE FROM ActivityEntityDELETE FROM StatementEntityDELETE FROM ActorEntityDELETE FROM SyncNodeDELETE FROM CommentsDELETE FROM ReportDELETE FROM SiteDELETE FROM SiteTermsDELETE FROM PersonParentJoinDELETE FROM ScopedGrantDELETE FROM ErrorReportDELETE FROM ClazzAssignmentDELETE FROM CourseAssignmentSubmissionDELETE FROM CourseAssignmentSubmissionFileDELETE FROM CourseAssignmentMarkDELETE FROM PeerReviewerAllocationDELETE FROM PersonAuth2DELETE FROM UserSessionDELETE FROM ContentJobDELETE FROM ContentEntryImportJobDELETE FROM CourseBlockDELETE FROM CourseTerminologyDELETE FROM CourseGroupSetDELETE FROM CourseGroupMemberDELETE FROM ContentEntryPictureDELETE FROM ActivityInteractionEntityDELETE FROM CoursePictureDELETE FROM DiscussionPostDELETE FROM ExternalAppPermissionDELETE FROM MessageDELETE FROM StudentResultDELETE FROM ContentEntryVersionDELETE FROM TransferJobDELETE FROM TransferJobItemDELETE FROM CacheLockJoinDELETE FROM OfflineItemDELETE FROM OfflineItemPendingTransferJobDELETE FROM DeletedItemDELETE FROM EnrolmentRequestDELETE FROM CoursePermissionDELETE FROM SystemPermissionDELETE FROM CourseBlockPictureDELETE FROM ContentEntryPicture2DELETE FROM TransferJobErrorDELETE FROM VerbLangMapEntryDELETE FROM GroupMemberActorJoinDELETE FROM ActivityLangMapEntryDELETE FROM ActivityExtensionEntityDELETE FROM StatementContextActivityJoinDELETE FROM XapiSessionEntityDELETE FROM StatementEntityJsonDELETE FROM StateEntityDELETE FROM StateDeleteCommandDELETE FROM OutgoingReplicationDELETE FROM ReplicationOperationDELETE FROM PendingRepositorySessionDELETE FROM DoorNodeclearAllTablesIllegalStateExceptionclearAllTables synchronous not supported on JavascriptclearAllTablesAsyncexecSQLBatchAsyncJspersonDaoPersonDaoclazzDaoClazzDaocourseBlockDaoCourseBlockDaocourseTerminologyDaoCourseTerminologyDaocourseGroupSetDaoCourseGroupSetDaocourseGroupMemberDaoCourseGroupMemberDaoclazzEnrolmentDaoClazzEnrolmentDaoleavingReasonDaoLeavingReasonDaocontentEntryDaoContentEntryDaocontentEntryContentCategoryJoinDaoContentEntryContentCategoryJoinDaocontentEntryParentChildJoinDaoContentEntryParentChildJoinDaocontentEntryRelatedEntryJoinDaoContentEntryRelatedEntryJoinDaocontentCategorySchemaDaoContentCategorySchemaDaocontentCategoryDaoContentCategoryDaolanguageDaoLanguageDaolanguageVariantDaoLanguageVariantDaopersonAuthDaoPersonAuthDaopersonGroupDaoPersonGroupDaopersonGroupMemberDaoPersonGroupMemberDaopersonPictureDaoPersonPictureDaoverbDaoVerbDaoactivityEntityDaoActivityEntityDaoreportDaoReportDaostatementDaoStatementDaoactorDaoActorDaoclazzLogAttendanceRecordDaoClazzLogAttendanceRecordDaoclazzLogDaoClazzLogDaoscheduleDaoScheduleDaoholidayCalendarDaoHolidayCalendarDaoholidayDaoHolidayDaoclazzAssignmentDaoClazzAssignmentDaocourseAssignmentSubmissionDaoCourseAssignmentSubmissionDaocourseAssignmentSubmissionFileDaoCourseAssignmentSubmissionFileDaocourseAssignmentMarkDaoCourseAssignmentMarkDaocommentsDaoCommentsDaosyncNodeDaoSyncNodeDaositeDaoSiteDaositeTermsDaoSiteTermsDaopersonParentJoinDaoPersonParentJoinDaoscopedGrantDaoScopedGrantDaoerrorReportDaoErrorReportDaopersonAuth2DaoPersonAuth2DaouserSessionDaoUserSessionDaocontentEntryImportJobDaoContentEntryImportJobDaocoursePictureDaoCoursePictureDaocontentEntryPictureDaoContentEntryPictureDaomessageDaoMessageDaopeerReviewerAllocationDaoPeerReviewerAllocationDaodiscussionPostDaoDiscussionPostDaoexternalAppPermissionDaoExternalAppPermissionDaocontentEntryVersionDaoContentEntryVersionDaooutgoingReplicationDaoOutgoingReplicationDaotransferJobDaoTransferJobDaotransferJobItemDaoTransferJobItemDaocacheLockJoinDaoCacheLockJoinDaoofflineItemDaoOfflineItemDaodeletedItemDaoDeletedItemDaoenrolmentRequestDaoEnrolmentRequestDaocoursePermissionDaoCoursePermissionDaosystemPermissionDaoSystemPermissionDaocourseBlockPictureDaoCourseBlockPictureDaocontentEntryPicture2DaoContentEntryPicture2DaotransferJobErrorDaoTransferJobErrorDaostudentResultDaoStudentResultDaoverbLangMapEntryDaoVerbLangMapEntryDaogroupMemberActorJoinDaoGroupMemberActorJoinDaoactivityLangMapEntryDaoActivityLangMapEntryDaoactivityInteractionDaoActivityInteractionDaoactivityExtensionDaoActivityExtensionDaostatementContextActivityJoinDaoStatementContextActivityJoinDaoxapiSessionEntityDaoXapiSessionEntityDaostatementEntityJsonDaoStatementEntityJsonDaostateEntityDaoStateEntityDaostateDeleteCommandDaoStateDeleteCommandDaocloseINSTANCE_RECEIVER   "                   #,'"")(#% )$&"         % "      '"$"+&!!(!        #  !!!  )$& ** + / -::80425 comustadmobilecoredbUmAppDatabase_RepokotlinSuppressArrayStringLocalVariableNamePropertyNameFunctionNameClassNameDEFINEDUmAppDatabasedbUnwrappedconfigdoorRepositoryConfigUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingDoorDatabaseRepositorycontextAnyGET_PROPERTY_db_endpointendpoint_httpClientioktorclientHttpClienthttpClient_repositoryHelperRepositoryHelperclientIdLongnodeIddbNameRepository for [toString] - connectivityStatusIntnewValueEQclientStatekotlinxcoroutinesflowFlowreplicationDoorRepositoryReplicationClientClientStateinvalidationTrackerroomInvalidationTrackerdbVersion_PersonDaoPROPERTY_DELEGATE_PersonDao$delegateLazydaoPersonDao_RepolazyFunction0LOCAL_FUNCTION_FOR_LAMBDAPersonDaopersonDaoLAMBDADELEGATED_PROPERTY_ACCESSORgetValuereflectKProperty1PROPERTY_REFERENCE_FOR_DELEGATE_ClazzDao_ClazzDao$delegateClazzDao_RepoClazzDaoclazzDao_CourseBlockDao_CourseBlockDao$delegateCourseBlockDao_RepoCourseBlockDaocourseBlockDao_CourseTerminologyDao_CourseTerminologyDao$delegateCourseTerminologyDao_RepoCourseTerminologyDaocourseTerminologyDao_CourseGroupSetDao_CourseGroupSetDao$delegateCourseGroupSetDao_RepoCourseGroupSetDaocourseGroupSetDao_CourseGroupMemberDao_CourseGroupMemberDao$delegateCourseGroupMemberDao_RepoCourseGroupMemberDaocourseGroupMemberDao_ClazzEnrolmentDao_ClazzEnrolmentDao$delegateClazzEnrolmentDao_RepoClazzEnrolmentDaoclazzEnrolmentDao_LeavingReasonDao_LeavingReasonDao$delegateLeavingReasonDao_RepoLeavingReasonDaoleavingReasonDao_ContentEntryDao_ContentEntryDao$delegateContentEntryDao_RepoContentEntryDaocontentEntryDao_ContentEntryContentCategoryJoinDao_ContentEntryContentCategoryJoinDao$delegateContentEntryContentCategoryJoinDao_RepoContentEntryContentCategoryJoinDaocontentEntryContentCategoryJoinDao_ContentEntryParentChildJoinDao_ContentEntryParentChildJoinDao$delegateContentEntryParentChildJoinDao_RepoContentEntryParentChildJoinDaocontentEntryParentChildJoinDao_ContentEntryRelatedEntryJoinDao_ContentEntryRelatedEntryJoinDao$delegateContentEntryRelatedEntryJoinDao_RepoContentEntryRelatedEntryJoinDaocontentEntryRelatedEntryJoinDao_ContentCategorySchemaDao_ContentCategorySchemaDao$delegateContentCategorySchemaDao_RepoContentCategorySchemaDaocontentCategorySchemaDao_ContentCategoryDao_ContentCategoryDao$delegateContentCategoryDao_RepoContentCategoryDaocontentCategoryDao_LanguageDao_LanguageDao$delegateLanguageDao_RepoLanguageDaolanguageDao_LanguageVariantDao_LanguageVariantDao$delegateLanguageVariantDao_RepoLanguageVariantDaolanguageVariantDao_PersonGroupDao_PersonGroupDao$delegatePersonGroupDao_RepoPersonGroupDaopersonGroupDao_PersonGroupMemberDao_PersonGroupMemberDao$delegatePersonGroupMemberDao_RepoPersonGroupMemberDaopersonGroupMemberDao_PersonPictureDao_PersonPictureDao$delegatePersonPictureDao_RepoPersonPictureDaopersonPictureDao_VerbDao_VerbDao$delegatexapiVerbDao_RepoVerbDaoverbDao_ActivityEntityDao_ActivityEntityDao$delegateActivityEntityDao_RepoActivityEntityDaoactivityEntityDao_ReportDao_ReportDao$delegateReportDao_RepoReportDaoreportDao_StatementDao_StatementDao$delegateStatementDao_RepoStatementDaostatementDao_ActorDao_ActorDao$delegateActorDao_RepoActorDaoactorDao_ClazzLogAttendanceRecordDao_ClazzLogAttendanceRecordDao$delegateClazzLogAttendanceRecordDao_RepoClazzLogAttendanceRecordDaoclazzLogAttendanceRecordDao_ClazzLogDao_ClazzLogDao$delegateClazzLogDao_RepoClazzLogDaoclazzLogDao_ScheduleDao_ScheduleDao$delegateScheduleDao_RepoScheduleDaoscheduleDao_HolidayCalendarDao_HolidayCalendarDao$delegateHolidayCalendarDao_RepoHolidayCalendarDaoholidayCalendarDao_HolidayDao_HolidayDao$delegateHolidayDao_RepoHolidayDaoholidayDao_ClazzAssignmentDao_ClazzAssignmentDao$delegateClazzAssignmentDao_RepoClazzAssignmentDaoclazzAssignmentDao_CourseAssignmentSubmissionDao_CourseAssignmentSubmissionDao$delegateCourseAssignmentSubmissionDao_RepoCourseAssignmentSubmissionDaocourseAssignmentSubmissionDao_CourseAssignmentSubmissionFileDao_CourseAssignmentSubmissionFileDao$delegateCourseAssignmentSubmissionFileDao_RepoCourseAssignmentSubmissionFileDaocourseAssignmentSubmissionFileDao_CourseAssignmentMarkDao_CourseAssignmentMarkDao$delegateCourseAssignmentMarkDao_RepoCourseAssignmentMarkDaocourseAssignmentMarkDao_CommentsDao_CommentsDao$delegateCommentsDao_RepoCommentsDaocommentsDao_SiteDao_SiteDao$delegateSiteDao_RepoSiteDaositeDao_SiteTermsDao_SiteTermsDao$delegateSiteTermsDao_RepoSiteTermsDaositeTermsDao_PersonParentJoinDao_PersonParentJoinDao$delegatePersonParentJoinDao_RepoPersonParentJoinDaopersonParentJoinDao_ScopedGrantDao_ScopedGrantDao$delegateScopedGrantDao_RepoScopedGrantDaoscopedGrantDao_ErrorReportDao_ErrorReportDao$delegateErrorReportDao_RepoErrorReportDaoerrorReportDao_PersonAuth2Dao_PersonAuth2Dao$delegatePersonAuth2Dao_RepoPersonAuth2DaopersonAuth2Dao_UserSessionDao_UserSessionDao$delegateUserSessionDao_RepoUserSessionDaouserSessionDao_CoursePictureDao_CoursePictureDao$delegateCoursePictureDao_RepoCoursePictureDaocoursePictureDao_ContentEntryPictureDao_ContentEntryPictureDao$delegateContentEntryPictureDao_RepoContentEntryPictureDaocontentEntryPictureDao_MessageDao_MessageDao$delegateMessageDao_RepoMessageDaomessageDao_PeerReviewerAllocationDao_PeerReviewerAllocationDao$delegatePeerReviewerAllocationDao_RepoPeerReviewerAllocationDaopeerReviewerAllocationDao_DiscussionPostDao_DiscussionPostDao$delegateDiscussionPostDao_RepoDiscussionPostDaodiscussionPostDao_ContentEntryVersionDao_ContentEntryVersionDao$delegateContentEntryVersionDao_RepoContentEntryVersionDaocontentEntryVersionDao_OfflineItemDao_OfflineItemDao$delegateOfflineItemDao_RepoOfflineItemDaoofflineItemDao_DeletedItemDao_DeletedItemDao$delegateDeletedItemDao_RepoDeletedItemDaodeletedItemDao_EnrolmentRequestDao_EnrolmentRequestDao$delegateEnrolmentRequestDao_RepoEnrolmentRequestDaoenrolmentRequestDao_CoursePermissionDao_CoursePermissionDao$delegateCoursePermissionDao_RepoCoursePermissionDaocoursePermissionDao_SystemPermissionDao_SystemPermissionDao$delegateSystemPermissionDao_RepoSystemPermissionDaosystemPermissionDao_CourseBlockPictureDao_CourseBlockPictureDao$delegateCourseBlockPictureDao_RepoCourseBlockPictureDaocourseBlockPictureDao_ContentEntryPicture2Dao_ContentEntryPicture2Dao$delegateContentEntryPicture2Dao_RepoContentEntryPicture2DaocontentEntryPicture2Dao_StudentResultDao_StudentResultDao$delegateStudentResultDao_RepoStudentResultDaostudentResultDao_VerbLangMapEntryDao_VerbLangMapEntryDao$delegateVerbLangMapEntryDao_RepoVerbLangMapEntryDaoverbLangMapEntryDao_GroupMemberActorJoinDao_GroupMemberActorJoinDao$delegateGroupMemberActorJoinDao_RepoGroupMemberActorJoinDaogroupMemberActorJoinDao_ActivityLangMapEntryDao_ActivityLangMapEntryDao$delegateActivityLangMapEntryDao_RepoActivityLangMapEntryDaoactivityLangMapEntryDao_ActivityInteractionDao_ActivityInteractionDao$delegateActivityInteractionDao_RepoActivityInteractionDaoactivityInteractionDao_ActivityExtensionDao_ActivityExtensionDao$delegateActivityExtensionDao_RepoActivityExtensionDaoactivityExtensionDao_StatementContextActivityJoinDao_StatementContextActivityJoinDao$delegateStatementContextActivityJoinDao_RepoStatementContextActivityJoinDaostatementContextActivityJoinDao_XapiSessionEntityDao_XapiSessionEntityDao$delegateXapiSessionEntityDao_RepoXapiSessionEntityDaoxapiSessionEntityDao_StatementEntityJsonDao_StatementEntityJsonDao$delegateStatementEntityJsonDao_RepoStatementEntityJsonDaostatementEntityJsonDao_StateEntityDao_StateEntityDao$delegateStateEntityDao_RepoStateEntityDaostateEntityDao_StateDeleteCommandDao_StateDeleteCommandDao$delegateStateDeleteCommandDao_RepoStateDeleteCommandDaostateDeleteCommandDaoclearAllTablesIllegalStateExceptionCannot use a repository to clearAllTables!clearAllTablesAsyncCannot use this to run clearAllTablesAsynccloseremoteNodeIdOrNullremoteNodeIdOrFakecreateAllTablescollectionsListCannot use a repository to createAllTables!personAuthDaoPersonAuthDaoPersonAuthDao is not annotated with @RepositorysyncNodeDaoSyncNodeDaoSyncNodeDao is not annotated with @RepositorycontentEntryImportJobDaoContentEntryImportJobDaoContentEntryImportJobDao is not annotated with @RepositoryexternalAppPermissionDaoExternalAppPermissionDaoExternalAppPermissionDao is not annotated with @RepositoryoutgoingReplicationDaoOutgoingReplicationDaoOutgoingReplicationDao is not annotated with @RepositorytransferJobDaoTransferJobDaoTransferJobDao is not annotated with @RepositorytransferJobItemDaoTransferJobItemDaoTransferJobItemDao is not annotated with @RepositorycacheLockJoinDaoCacheLockJoinDaoCacheLockJoinDao is not annotated with @RepositorytransferJobErrorDaoTransferJobErrorDaoTransferJobErrorDao is not annotated with @RepositoryCompanion_DB_NAMEINSTANCE_RECEIVER    comustadmobilecoredbdaoCacheLockJoinDaoDEFINEDkotlinUnitAnyfindPendingLockscollectionsListlibentitiesCacheLockJoinupdateLockIdAndStatusuidIntlockIdLongstatusinsertListAsynclistfindByTableIdAndEntityUidtableIdentityUiddeleteListAsyncINSTANCE_RECEIVER  " !          '  )              comustadmobilecoredbdaoCacheLockJoinDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCacheLockJoinDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterCacheLockJoin_abortEntityInsertionAdapterlibentitiesCacheLockJoinOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO CacheLockJoin (cljId, cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType, cljOiUid) VALUES(?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQIntcljIdsetObjectsetIntcljTableIdsetLongLongcljEntityUidsetStringcljUrlcljLockIdcljStatuscljTypecljOiUidINSTANCE_RECEIVERinsertListAsynclistcollectionsListdeleteListAsync_numChangesextprepareAndUseStatementAsyncDELETE FROM CacheLockJoin WHERE cljId = ?coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtConnectionsetAutoCommitgetConnectionFOR_LOOPFOR_LOOP_ITERATORtmp0_iteratorIteratoriteratorhasNextFOR_LOOP_HAS_NEXTFOR_LOOP_INNER_WHILEFOR_LOOP_VARIABLE_entitynextFOR_LOOP_NEXTplusPLUSEQexecuteUpdateAsyncKmpcommitLAMBDAfindPendingLocksPreparedStatementConfigtexttrimMargin | | SELECT CacheLockJoin.* | FROM CacheLockJoin | WHERE CacheLockJoin.cljStatus = 1 | OR CacheLockJoin.cljStatus = 3 | useResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_cljIdgetInt_tmp_cljTableId_tmp_cljEntityUidgetLong_tmp_cljUrlgetString_tmp_cljLockId_tmp_cljStatus_tmp_cljType_tmp_cljOiUidapplyExtensionFunctionType$this$applyEQupdateLockIdAndStatusuidlockIdstatus | | UPDATE CacheLockJoin | SET cljLockId = CAST(? AS BIGINT), | cljStatus = ? | WHERE cljId = ? | | | UPDATE CacheLockJoin | SET cljLockId = ?, | cljStatus = ? | WHERE cljId = ? | |findByTableIdAndEntityUidtableIdentityUid | | SELECT CacheLockJoin.* | FROM CacheLockJoin | WHERE CacheLockJoin.cljTableId = ? | AND CacheLockJoin.cljEntityUid = CAST(? AS BIGINT) | | | SELECT CacheLockJoin.* | FROM CacheLockJoin | WHERE CacheLockJoin.cljTableId = ? | AND CacheLockJoin.cljEntityUid = ? | |X     .  $'!)!$ +   .))16comustadmobilecoredbdaoClazzAssignmentDaoDEFINEDkotlinUnitAnygetAllAssignmentsByClazzUidAsynccollectionsListlibentitiesClazzAssignmentclazzUidLongupdateActiveByUidcbUidactiveBooleanchangeTimegetProgressSummaryForAssignmentkotlinxcoroutinesflowFlowAssignmentProgressSummaryassignmentUidaccountPersonUidgroupStringgetAssignmentSubmitterSummaryListForAssignmentandroidxpagingPagingSourceIntAssignmentSubmitterSummarysearchTextsortOptiongetCourseGroupMembersByAssignmentUidCourseGroupMembergetAssignmentSubmissionsByAssignmentUidCourseAssignmentSubmissiongetAssignmentMarksByAssignmentUidCourseAssignmentMarkgetPeerReviewerAllocationsByAssignmentUidPeerReviewerAllocationgetPeerReviewAllocationsForPersongetSubmitterUidsByClazzOrGroupSetUidgroupSetUidtimegetSubmitterUidsAndNameByClazzOrGroupSetUidcompositesAssignmentSubmitterUidAndNamedategroupStrgetSubmitterCountFromAssignmentgroupUidgetSubmitterUidupdateAsyncclazzAssignmentfindByUidAsyncuidfindByUidAndClazzUidAsFlowfindByUidAndClazzUidAsyncgetGroupUidFromAssignmentgetMarkingTypeFromAssignmentfindByUidWithBlockAsyncClazzAssignmentAndBlockfindClazzAssignmentfindByUidLiveupsertListAsyncupdateActiveByListuidListfindAssignmentCourseBlockAndSubmitterUidAsFlowClazzAssignmentCourseBlockAndSubmitterUidfindEnrolmentsByPersonUidAndAssignmentUidClazzEnrolmentfindCourseGroupMembersByPersonUidAndAssignmentUidfindPeerReviewerAllocationsByPersonUidAndAssignmentUidgetLatestSubmissionTimeAllowedINSTANCE_RECEIVERBaseDaoOneToManyJoinDao  "      .  $'!)!$ +   I        .))16< @<comustadmobilecoredbdaoClazzAssignmentDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoClazzAssignmentDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinggetAllAssignmentsByClazzUidAsynccollectionsListlibentitiesClazzAssignmentclazzUidLongGET_PROPERTYupdateActiveByUidcbUidactiveBooleanchangeTimegetProgressSummaryForAssignmentkotlinxcoroutinesflowFlowAssignmentProgressSummaryassignmentUidaccountPersonUidgroupStringgetAssignmentSubmitterSummaryListForAssignmentandroidxpagingPagingSourceIntAssignmentSubmitterSummarysearchTextsortOptiongetCourseGroupMembersByAssignmentUidCourseGroupMembergetAssignmentSubmissionsByAssignmentUidCourseAssignmentSubmissiongetAssignmentMarksByAssignmentUidCourseAssignmentMarkgetPeerReviewerAllocationsByAssignmentUidPeerReviewerAllocationgetPeerReviewAllocationsForPersongetSubmitterUidsByClazzOrGroupSetUidgroupSetUidtimegetSubmitterUidsAndNameByClazzOrGroupSetUidcompositesAssignmentSubmitterUidAndNamedategroupStrgetSubmitterCountFromAssignmentgroupUidgetSubmitterUidupdateAsyncclazzAssignmentcaLctEQutilsystemTimeInMillisfindByUidAsyncuidfindByUidAndClazzUidAsFlowfindByUidAndClazzUidAsyncgetGroupUidFromAssignmentgetMarkingTypeFromAssignmentfindByUidWithBlockAsyncClazzAssignmentAndBlockfindClazzAssignmentIllegalStateExceptionfindClazzAssignment: synchronous db access is NOT possible on Javascript!findByUidLiveupsertListAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabase_generatedPksMutableListmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFinternalirEQEQcaUid_newPknextIdAsyncplusAssignPLUSEQLAMBDAupdateActiveByListuidListfindAssignmentCourseBlockAndSubmitterUidAsFlowClazzAssignmentCourseBlockAndSubmitterUidfindEnrolmentsByPersonUidAndAssignmentUidClazzEnrolmentfindCourseGroupMembersByPersonUidAndAssignmentUidfindPeerReviewerAllocationsByPersonUidAndAssignmentUidgetLatestSubmissionTimeAllowedinsertentityinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!insertListAsyncupdateListAsyncINSTANCE_RECEIVER  " $              *#)                      % #  .)/.  )(    )($A2     '      !o       )G    !B$ P+ U\ p                      X x .))(5!   !         )u'"#$% ($%&!1i6mcomustadmobilecoredbdaoClazzAssignmentDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitClazzAssignmentDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterClazzAssignment_upsertEntityInsertionAdapterlibentitiesClazzAssignmentOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO ClazzAssignment (caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcaUidsetObjectIntsetLongsetStringcaTitlecaDescriptioncaGroupUidsetBooleancaActivecaClassCommentEnabledcaPrivateCommentsEnabledsetIntcaCompletionCriteriacaRequireFileSubmissioncaFileTypecaSizeLimitcaNumberOfFilescaSubmissionPolicycaMarkingTypecaRequireTextSubmissioncaTextLimitTypecaTextLimitcaXObjectUidcaClazzUidcaPeerReviewerCountcaLocalChangeSeqNumcaMasterChangeSeqNumcaLastChangedBycaLctINSTANCE_RECEIVER_insertAdapterClazzAssignment_abortINSERT INTO ClazzAssignment (caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)upsertListAsynccollectionsListinsertListAsyncinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListupdateAsyncclazzAssignment_sqlUPDATE ClazzAssignment SET caTitle = ?, caDescription = ?, caGroupUid = ?, caActive = ?, caClassCommentEnabled = ?, caPrivateCommentsEnabled = ?, caCompletionCriteria = ?, caRequireFileSubmission = ?, caFileType = ?, caSizeLimit = ?, caNumberOfFiles = ?, caSubmissionPolicy = ?, caMarkingType = ?, caRequireTextSubmission = ?, caTextLimitType = ?, caTextLimit = ?, caXObjectUid = ?, caClazzUid = ?, caPeerReviewerCount = ?, caLocalChangeSeqNum = ?, caMasterChangeSeqNum = ?, caLastChangedBy = ?, caLct = ? WHERE caUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdateupdateListAsyncConnectionsetAutoCommitgetConnectionFOR_LOOPFOR_LOOP_ITERATORtmp0_iteratorIteratoriteratorhasNextFOR_LOOP_HAS_NEXTFOR_LOOP_INNER_WHILEFOR_LOOP_VARIABLE_entitynextFOR_LOOP_NEXTcommitgetAllAssignmentsByClazzUidAsyncclazzUidPreparedStatementConfigtexttrimMargin | | SELECT * | FROM ClazzAssignment | WHERE ClazzAssignment.caClazzUid = CAST(? AS BIGINT) | | | SELECT * | FROM ClazzAssignment | WHERE ClazzAssignment.caClazzUid = ? | |useResultsResultSetexecuteQueryAsyncKmp_resultmapRowsit_tmp_caUidgetLong_tmp_caTitlegetString_tmp_caDescription_tmp_caGroupUid_tmp_caActivegetBoolean_tmp_caClassCommentEnabled_tmp_caPrivateCommentsEnabled_tmp_caCompletionCriteriagetInt_tmp_caRequireFileSubmission_tmp_caFileType_tmp_caSizeLimit_tmp_caNumberOfFiles_tmp_caSubmissionPolicy_tmp_caMarkingType_tmp_caRequireTextSubmission_tmp_caTextLimitType_tmp_caTextLimit_tmp_caXObjectUid_tmp_caClazzUid_tmp_caPeerReviewerCount_tmp_caLocalChangeSeqNum_tmp_caMasterChangeSeqNum_tmp_caLastChangedBy_tmp_caLctapplyExtensionFunctionType$this$applyEQupdateActiveByUidcbUidactivechangeTime | | UPDATE ClazzAssignment | SET caActive = ?, | caLct = CAST(? AS BIGINT) | WHERE caUid = CAST(? AS BIGINT) | | UPDATE ClazzAssignment | SET caActive = ?, | caLct = ? | WHERE caUid = ? |getProgressSummaryForAssignmentkotlinxflowFlowAssignmentProgressSummaryassignmentUidaccountPersonUidgroupdoorFlowArrayarrayOfSystemPermissionCoursePermissionClazzEnrolmentPeerReviewerAllocationPersonCourseGroupMemberCourseAssignmentSubmissionCourseAssignmentMarkCommentsPersonPictureSuspendFunction0 | | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | , | | AssignmentClazzUid(clazzUid) AS | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | , | | 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 = CAST(? AS BIGINT) | ) = 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | 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 = CAST(? AS BIGINT)) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND PeerReviewerAllocation.praMarkerSubmitterUid = CAST(? AS BIGINT))) | ) | UNION | -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0 | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | WHERE ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | ) != 0 | AND CourseGroupMember.cgmSetUid = ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | ) | -- 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 = CAST(? AS BIGINT)) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | 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 = CAST(? AS BIGINT) | ) | AND CourseGroupMemberInner.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1) | )) | ) | ) | | | | SELECT | -- whether or not the active user has permission to view learner records | (SELECT hasPermission | FROM HasLearningRecordSelectPermission) AS activeUserHasViewLearnerRecordsPermission, | | (SELECT COUNT(*) | FROM SubmitterList) AS totalStudents, | | -- Total marked students | (SELECT COUNT(*) | FROM SubmitterList | WHERE EXISTS( | SELECT CourseAssignmentMark.camUid | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId) | ) AS markedStudents, | | -- Total who have submitted | (SELECT COUNT(*) | FROM SubmitterList | WHERE EXISTS( | SELECT CourseAssignmentSubmission.casUid | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId) | ) AS submittedStudents, | | (SELECT (ClazzAssignment.caGroupUid != 0) | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) AS isGroupAssignment | | | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | , | | AssignmentClazzUid(clazzUid) AS | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | , | | 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 = ? | ) = 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | 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 = ?) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND PeerReviewerAllocation.praMarkerSubmitterUid = ?)) | ) | UNION | -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0 | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | WHERE ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ? | ) != 0 | AND CourseGroupMember.cgmSetUid = ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ? | ) | -- 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 = ?) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | 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 = ? | ) | AND CourseGroupMemberInner.cgmPersonUid = ? | LIMIT 1) | )) | ) | ) | | | | SELECT | -- whether or not the active user has permission to view learner records | (SELECT hasPermission | FROM HasLearningRecordSelectPermission) AS activeUserHasViewLearnerRecordsPermission, | | (SELECT COUNT(*) | FROM SubmitterList) AS totalStudents, | | -- Total marked students | (SELECT COUNT(*) | FROM SubmitterList | WHERE EXISTS( | SELECT CourseAssignmentMark.camUid | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = ? | AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId) | ) AS markedStudents, | | -- Total who have submitted | (SELECT COUNT(*) | FROM SubmitterList | WHERE EXISTS( | SELECT CourseAssignmentSubmission.casUid | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = ? | AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId) | ) AS submittedStudents, | | (SELECT (ClazzAssignment.caGroupUid != 0) | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) AS isGroupAssignment | |mapNextRow_tmp_submittedStudentssubmittedStudents_tmp_totalStudentstotalStudents_tmp_markedStudentsmarkedStudents_tmp_activeUserHasViewLearnerRecordsPermissionactiveUserHasViewLearnerRecordsPermission_tmp_isGroupAssignmentisGroupAssignmentgetAssignmentSubmitterSummaryListForAssignmentandroidxpagingPagingSourceAssignmentSubmitterSummarysearchTextsortOptionDoorLimitOffsetPagingSourceloadRows_limit_offset |SELECT * FROM ( | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | , | | AssignmentClazzUid(clazzUid) AS | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | , | | 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 = CAST(? AS BIGINT) | ) = 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | 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 = CAST(? AS BIGINT)) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND PeerReviewerAllocation.praMarkerSubmitterUid = CAST(? AS BIGINT))) | ) | UNION | -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0 | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | WHERE ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | ) != 0 | AND CourseGroupMember.cgmSetUid = ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | ) | -- 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 = CAST(? AS BIGINT)) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | 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 = CAST(? AS BIGINT) | ) | AND CourseGroupMemberInner.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1) | )) | ) | ) | | | | SELECT SubmitterList.name AS name, | SubmitterList.submitterId AS submitterUid, | Comments.commentsText AS latestPrivateComment, | CASE | WHEN SubmitterList.submitterId >= 10000 THEN | (SELECT PersonPicture.personPictureThumbnailUri | FROM PersonPicture | WHERE PersonPicture.personPictureUid = SubmitterList.submitterId) | ELSE NULL | END AS pictureUri, | -- Determine submission status - marked, submitted, or not yet submitted | CASE | WHEN CourseAssignmentMark.camUid IS NOT NULL THEN 2 | WHEN CourseAssignmentSubmission.casUid IS NOT NULL THEN 1 | ELSE 0 | END AS fileSubmissionStatus | | FROM SubmitterList | LEFT JOIN Comments | ON Comments.commentsUid = | (SELECT Comments.commentsUid | FROM Comments | WHERE Comments.commentsEntityUid = CAST(? AS BIGINT) | AND Comments.commentsForSubmitterUid = SubmitterList.submitterId | AND NOT Comments.commentsDeleted | ORDER BY Comments.commentsDateTimeAdded DESC | LIMIT 1) | LEFT JOIN CourseAssignmentMark | ON CourseAssignmentMark.camUid = | (SELECT camUid | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId | LIMIT 1) | LEFT JOIN CourseAssignmentSubmission | ON CourseAssignmentSubmission.casUid = | (SELECT casUid | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId | LIMIT 1) | WHERE (? = '%' OR SubmitterList.name LIKE ?) | ORDER BY CASE(?) | WHEN 5 THEN SubmitterList.name | ELSE '' END ASC, | CASE(?) | WHEN 6 THEN SubmitterList.name | ELSE '' END DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | , | | AssignmentClazzUid(clazzUid) AS | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | , | | 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 = ? | ) = 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | 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 = ?) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND PeerReviewerAllocation.praMarkerSubmitterUid = ?)) | ) | UNION | -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0 | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | WHERE ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ? | ) != 0 | AND CourseGroupMember.cgmSetUid = ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ? | ) | -- 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 = ?) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | 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 = ? | ) | AND CourseGroupMemberInner.cgmPersonUid = ? | LIMIT 1) | )) | ) | ) | | | | SELECT SubmitterList.name AS name, | SubmitterList.submitterId AS submitterUid, | Comments.commentsText AS latestPrivateComment, | CASE | WHEN SubmitterList.submitterId >= 10000 THEN | (SELECT PersonPicture.personPictureThumbnailUri | FROM PersonPicture | WHERE PersonPicture.personPictureUid = SubmitterList.submitterId) | ELSE NULL | END AS pictureUri, | -- Determine submission status - marked, submitted, or not yet submitted | CASE | WHEN CourseAssignmentMark.camUid IS NOT NULL THEN 2 | WHEN CourseAssignmentSubmission.casUid IS NOT NULL THEN 1 | ELSE 0 | END AS fileSubmissionStatus | | FROM SubmitterList | LEFT JOIN Comments | ON Comments.commentsUid = | (SELECT Comments.commentsUid | FROM Comments | WHERE Comments.commentsEntityUid = ? | AND Comments.commentsForSubmitterUid = SubmitterList.submitterId | AND NOT Comments.commentsDeleted | ORDER BY Comments.commentsDateTimeAdded DESC | LIMIT 1) | LEFT JOIN CourseAssignmentMark | ON CourseAssignmentMark.camUid = | (SELECT camUid | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = ? | AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId | LIMIT 1) | LEFT JOIN CourseAssignmentSubmission | ON CourseAssignmentSubmission.casUid = | (SELECT casUid | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = ? | AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId | LIMIT 1) | WHERE (? = '%' OR SubmitterList.name LIKE ?) | ORDER BY CASE(?) | WHEN 5 THEN SubmitterList.name | ELSE '' END ASC, | CASE(?) | WHEN 6 THEN SubmitterList.name | ELSE '' END DESC | ) AS _PagingData LIMIT ? OFFSET ? |_tmp_submitterUidsubmitterUid_tmp_namename_tmp_pictureUripictureUri_tmp_latestPrivateCommentlatestPrivateComment_tmp_fileSubmissionStatusfileSubmissionStatuscountRows |SELECT COUNT(*) FROM ( | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | , | | AssignmentClazzUid(clazzUid) AS | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | , | | 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 = CAST(? AS BIGINT) | ) = 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | 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 = CAST(? AS BIGINT)) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND PeerReviewerAllocation.praMarkerSubmitterUid = CAST(? AS BIGINT))) | ) | UNION | -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0 | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | WHERE ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | ) != 0 | AND CourseGroupMember.cgmSetUid = ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | ) | -- 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 = CAST(? AS BIGINT)) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | 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 = CAST(? AS BIGINT) | ) | AND CourseGroupMemberInner.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1) | )) | ) | ) | | | | SELECT SubmitterList.name AS name, | SubmitterList.submitterId AS submitterUid, | Comments.commentsText AS latestPrivateComment, | CASE | WHEN SubmitterList.submitterId >= 10000 THEN | (SELECT PersonPicture.personPictureThumbnailUri | FROM PersonPicture | WHERE PersonPicture.personPictureUid = SubmitterList.submitterId) | ELSE NULL | END AS pictureUri, | -- Determine submission status - marked, submitted, or not yet submitted | CASE | WHEN CourseAssignmentMark.camUid IS NOT NULL THEN 2 | WHEN CourseAssignmentSubmission.casUid IS NOT NULL THEN 1 | ELSE 0 | END AS fileSubmissionStatus | | FROM SubmitterList | LEFT JOIN Comments | ON Comments.commentsUid = | (SELECT Comments.commentsUid | FROM Comments | WHERE Comments.commentsEntityUid = CAST(? AS BIGINT) | AND Comments.commentsForSubmitterUid = SubmitterList.submitterId | AND NOT Comments.commentsDeleted | ORDER BY Comments.commentsDateTimeAdded DESC | LIMIT 1) | LEFT JOIN CourseAssignmentMark | ON CourseAssignmentMark.camUid = | (SELECT camUid | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId | LIMIT 1) | LEFT JOIN CourseAssignmentSubmission | ON CourseAssignmentSubmission.casUid = | (SELECT casUid | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId | LIMIT 1) | WHERE (? = '%' OR SubmitterList.name LIKE ?) | ORDER BY CASE(?) | WHEN 5 THEN SubmitterList.name | ELSE '' END ASC, | CASE(?) | WHEN 6 THEN SubmitterList.name | ELSE '' END DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | , | | AssignmentClazzUid(clazzUid) AS | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | , | | 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 = ? | ) = 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | 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 = ?) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND PeerReviewerAllocation.praMarkerSubmitterUid = ?)) | ) | UNION | -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0 | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | WHERE ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ? | ) != 0 | AND CourseGroupMember.cgmSetUid = ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ? | ) | -- 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 = ?) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | 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 = ? | ) | AND CourseGroupMemberInner.cgmPersonUid = ? | LIMIT 1) | )) | ) | ) | | | | SELECT SubmitterList.name AS name, | SubmitterList.submitterId AS submitterUid, | Comments.commentsText AS latestPrivateComment, | CASE | WHEN SubmitterList.submitterId >= 10000 THEN | (SELECT PersonPicture.personPictureThumbnailUri | FROM PersonPicture | WHERE PersonPicture.personPictureUid = SubmitterList.submitterId) | ELSE NULL | END AS pictureUri, | -- Determine submission status - marked, submitted, or not yet submitted | CASE | WHEN CourseAssignmentMark.camUid IS NOT NULL THEN 2 | WHEN CourseAssignmentSubmission.casUid IS NOT NULL THEN 1 | ELSE 0 | END AS fileSubmissionStatus | | FROM SubmitterList | LEFT JOIN Comments | ON Comments.commentsUid = | (SELECT Comments.commentsUid | FROM Comments | WHERE Comments.commentsEntityUid = ? | AND Comments.commentsForSubmitterUid = SubmitterList.submitterId | AND NOT Comments.commentsDeleted | ORDER BY Comments.commentsDateTimeAdded DESC | LIMIT 1) | LEFT JOIN CourseAssignmentMark | ON CourseAssignmentMark.camUid = | (SELECT camUid | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = ? | AND CourseAssignmentMark.camSubmitterUid = SubmitterList.submitterId | LIMIT 1) | LEFT JOIN CourseAssignmentSubmission | ON CourseAssignmentSubmission.casUid = | (SELECT casUid | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = ? | AND CourseAssignmentSubmission.casSubmitterUid = SubmitterList.submitterId | LIMIT 1) | WHERE (? = '%' OR SubmitterList.name LIKE ?) | ORDER BY CASE(?) | WHEN 5 THEN SubmitterList.name | ELSE '' END ASC, | CASE(?) | WHEN 6 THEN SubmitterList.name | ELSE '' END DESC | ) AS _PagingCount |getCourseGroupMembersByAssignmentUid | | SELECT CourseGroupMember.* | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | | | SELECT CourseGroupMember.* | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | |_tmp_cgmUidcgmUid_tmp_cgmSetUidcgmSetUid_tmp_cgmGroupNumbercgmGroupNumber_tmp_cgmPersonUidcgmPersonUid_tmp_cgmLctcgmLctgetAssignmentSubmissionsByAssignmentUid | | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | , | | AssignmentClazzUid(clazzUid) AS | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | , | | 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 = CAST(? AS BIGINT) | ) = 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | 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 = CAST(? AS BIGINT)) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND PeerReviewerAllocation.praMarkerSubmitterUid = CAST(? AS BIGINT))) | ) | UNION | -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0 | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | WHERE ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | ) != 0 | AND CourseGroupMember.cgmSetUid = ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | ) | -- 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 = CAST(? AS BIGINT)) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | 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 = CAST(? AS BIGINT) | ) | AND CourseGroupMemberInner.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1) | )) | ) | ) | | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casClazzUid = CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casSubmitterUid IN | (SELECT SubmitterList.submitterId | FROM SubmitterList) | | | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | , | | AssignmentClazzUid(clazzUid) AS | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | , | | 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 = ? | ) = 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | 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 = ?) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND PeerReviewerAllocation.praMarkerSubmitterUid = ?)) | ) | UNION | -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0 | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | WHERE ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ? | ) != 0 | AND CourseGroupMember.cgmSetUid = ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ? | ) | -- 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 = ?) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | 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 = ? | ) | AND CourseGroupMemberInner.cgmPersonUid = ? | LIMIT 1) | )) | ) | ) | | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = ? | AND CourseAssignmentSubmission.casClazzUid = ? | AND CourseAssignmentSubmission.casSubmitterUid IN | (SELECT SubmitterList.submitterId | FROM SubmitterList) | |_tmp_casUidcasUid_tmp_casAssignmentUidcasAssignmentUid_tmp_casSubmitterUidcasSubmitterUid_tmp_casSubmitterPersonUidcasSubmitterPersonUid_tmp_casTextcasText_tmp_casTypecasType_tmp_casTimestampcasTimestamp_tmp_casClazzUidcasClazzUidgetAssignmentMarksByAssignmentUid | | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | , | | AssignmentClazzUid(clazzUid) AS | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | , | | 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 = CAST(? AS BIGINT) | ) = 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | 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 = CAST(? AS BIGINT)) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND PeerReviewerAllocation.praMarkerSubmitterUid = CAST(? AS BIGINT))) | ) | UNION | -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0 | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | WHERE ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | ) != 0 | AND CourseGroupMember.cgmSetUid = ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | ) | -- 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 = CAST(? AS BIGINT)) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | 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 = CAST(? AS BIGINT) | ) | AND CourseGroupMemberInner.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1) | )) | ) | ) | | | SELECT CourseAssignmentMark.* | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentMark.camClazzUid = CAST(? AS BIGINT) | AND CourseAssignmentMark.camSubmitterUid IN | (SELECT SubmitterList.submitterId | FROM SubmitterList) | | | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | , | | AssignmentClazzUid(clazzUid) AS | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | , | | 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 = ? | ) = 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | 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 = ?) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND PeerReviewerAllocation.praMarkerSubmitterUid = ?)) | ) | UNION | -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0 | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | WHERE ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ? | ) != 0 | AND CourseGroupMember.cgmSetUid = ( | SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ? | ) | -- 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 = ?) = 2) | | AND | EXISTS(SELECT PeerReviewerAllocation.praUid | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | 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 = ? | ) | AND CourseGroupMemberInner.cgmPersonUid = ? | LIMIT 1) | )) | ) | ) | | | SELECT CourseAssignmentMark.* | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = ? | AND CourseAssignmentMark.camClazzUid = ? | AND CourseAssignmentMark.camSubmitterUid IN | (SELECT SubmitterList.submitterId | FROM SubmitterList) | |_tmp_camUidcamUid_tmp_camAssignmentUidcamAssignmentUid_tmp_camSubmitterUidcamSubmitterUid_tmp_camMarkerSubmitterUidcamMarkerSubmitterUid_tmp_camMarkerPersonUidcamMarkerPersonUid_tmp_camMarkerCommentcamMarkerComment_tmp_camMarkFloatgetFloatcamMark_tmp_camMaxMarkcamMaxMark_tmp_camPenaltycamPenalty_tmp_camLctcamLct_tmp_camClazzUidcamClazzUidgetPeerReviewerAllocationsByAssignmentUid | | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | | SELECT PeerReviewerAllocation.* | FROM PeerReviewerAllocation | WHERE | ((SELECT ClazzAssignment.caMarkingType | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) = 2) | | AND NOT | (SELECT hasPermission | FROM HasLearningRecordSelectPermission) | AND PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | AND ( PeerReviewerAllocation.praMarkerSubmitterUid = CAST(? AS BIGINT) | OR PeerReviewerAllocation.praMarkerSubmitterUid IN | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)))) | | | WITH | HasLearningRecordSelectPermission (hasPermission) AS | (SELECT ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | | SELECT PeerReviewerAllocation.* | FROM PeerReviewerAllocation | WHERE | ((SELECT ClazzAssignment.caMarkingType | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) = 2) | | AND NOT | (SELECT hasPermission | FROM HasLearningRecordSelectPermission) | AND PeerReviewerAllocation.praAssignmentUid = ? | AND ( PeerReviewerAllocation.praMarkerSubmitterUid = ? | OR PeerReviewerAllocation.praMarkerSubmitterUid IN | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?))) | |_tmp_praUidpraUid_tmp_praMarkerSubmitterUidpraMarkerSubmitterUid_tmp_praToMarkerSubmitterUidpraToMarkerSubmitterUid_tmp_praAssignmentUidpraAssignmentUid_tmp_praActivepraActive_tmp_praLctpraLctgetPeerReviewAllocationsForPerson | | SELECT PeerReviewerAllocation.* | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | AND (PeerReviewerAllocation.praToMarkerSubmitterUid = CAST(? AS BIGINT) | OR | PeerReviewerAllocation.praToMarkerSubmitterUid IN | (SELECT CourseGroupMember.cgmSetUid | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT))) | | | SELECT PeerReviewerAllocation.* | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | AND (PeerReviewerAllocation.praToMarkerSubmitterUid = ? | OR | PeerReviewerAllocation.praToMarkerSubmitterUid IN | (SELECT CourseGroupMember.cgmSetUid | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | AND CourseGroupMember.cgmPersonUid = ?)) | |getSubmitterUidsByClazzOrGroupSetUidgroupSetUidtime | | -- Submitter UIDs for individual assignment the list of personuids enrolled in the course | SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterUid | FROM ClazzEnrolment | WHERE (CAST(? AS BIGINT) = 0) | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft | | UNION | | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterUid | FROM CourseGroupMember | WHERE CAST(? AS BIGINT) != 0 | AND CourseGroupMember.cgmSetUid = CAST(? AS BIGINT) | | | -- Submitter UIDs for individual assignment the list of personuids enrolled in the course | SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterUid | FROM ClazzEnrolment | WHERE (? = 0) | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft | | UNION | | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterUid | FROM CourseGroupMember | WHERE ? != 0 | AND CourseGroupMember.cgmSetUid = ? | |getSubmitterUidsAndNameByClazzOrGroupSetUidcompositesAssignmentSubmitterUidAndNamedategroupStr | | WITH SubmitterUids(submitterUid) AS ( | SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterUid | FROM ClazzEnrolment | WHERE (CAST(? AS BIGINT) = 0) | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft | | UNION | | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterUid | FROM CourseGroupMember | WHERE CAST(? AS BIGINT) != 0 | AND CourseGroupMember.cgmSetUid = CAST(? AS BIGINT) | ) | | SELECT SubmitterUids.submitterUid AS submitterUid, | CASE CAST(? AS BIGINT) | WHEN 0 THEN | (SELECT Person.firstNames || ' ' || Person.lastName | FROM Person | WHERE Person.personUid = SubmitterUids.submitterUid) | ELSE (? || ' ' || SubmitterUids.submitterUid) | END AS name | FROM SubmitterUids | | | WITH SubmitterUids(submitterUid) AS ( | SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterUid | FROM ClazzEnrolment | WHERE (? = 0) | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft | | UNION | | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterUid | FROM CourseGroupMember | WHERE ? != 0 | AND CourseGroupMember.cgmSetUid = ? | ) | | SELECT SubmitterUids.submitterUid AS submitterUid, | CASE ? | WHEN 0 THEN | (SELECT Person.firstNames || ' ' || Person.lastName | FROM Person | WHERE Person.personUid = SubmitterUids.submitterUid) | ELSE (? || ' ' || SubmitterUids.submitterUid) | END AS name | FROM SubmitterUids | |getSubmitterCountFromAssignmentgroupUid | | | 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 CAST(? AS BIGINT) = 0 | AND clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND clazzEnrolmentActive | AND clazzEnrolmentRole = 1000 | GROUP BY submitterId, name | UNION | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | JOIN CourseGroupSet | ON CourseGroupSet.cgsUid = CAST(? AS BIGINT) | WHERE CourseGroupMember.cgmSetUid = CourseGroupSet.cgsUid | AND CourseGroupMember.cgmGroupNumber != 0 | GROUP BY submitterId, name | ) | | | SELECT COUNT(*) | FROM SubmitterList | | | | 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 ? = 0 | AND clazzEnrolmentClazzUid = ? | AND clazzEnrolmentActive | AND clazzEnrolmentRole = 1000 | GROUP BY submitterId, name | UNION | SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, | ? || ' ' || CourseGroupMember.cgmGroupNumber AS name | FROM CourseGroupMember | JOIN CourseGroupSet | ON CourseGroupSet.cgsUid = ? | WHERE CourseGroupMember.cgmSetUid = CourseGroupSet.cgsUid | AND CourseGroupMember.cgmGroupNumber != 0 | GROUP BY submitterId, name | ) | | | SELECT COUNT(*) | FROM SubmitterList | |getSubmitterUid | | WITH ClazzUidDummy(clazzUid) AS | (SELECT CAST(? AS BIGINT)) | | | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | | | | WITH ClazzUidDummy(clazzUid) AS | (SELECT ?) | | | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | | |findByUidAsyncuid | | SELECT * | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT) | | | SELECT * | FROM ClazzAssignment | WHERE caUid = ? | |findByUidAndClazzUidAsFlow | | SELECT * | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT) | AND caClazzUid = CAST(? AS BIGINT) | | | SELECT * | FROM ClazzAssignment | WHERE caUid = ? | AND caClazzUid = ? | |findByUidAndClazzUidAsync | | SELECT ClazzAssignment.* | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | AND ClazzAssignment.caClazzUid = CAST(? AS BIGINT) | | | SELECT ClazzAssignment.* | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ? | AND ClazzAssignment.caClazzUid = ? | |getGroupUidFromAssignment | | SELECT COALESCE(( | SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)),-1) | | | SELECT COALESCE(( | SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?),-1) | |getMarkingTypeFromAssignment | | SELECT COALESCE(( | SELECT caMarkingType | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)),-1) | | | SELECT COALESCE(( | SELECT caMarkingType | FROM ClazzAssignment | WHERE caUid = ?),-1) | |findByUidWithBlockAsyncClazzAssignmentAndBlock | | SELECT * | FROM ClazzAssignment | LEFT JOIN CourseBlock | ON CourseBlock.cbEntityUid = ClazzAssignment.caUid | AND CourseBlock.cbType = 103 | WHERE caUid = CAST(? AS BIGINT) | | | SELECT * | FROM ClazzAssignment | LEFT JOIN CourseBlock | ON CourseBlock.cbEntityUid = ClazzAssignment.caUid | AND CourseBlock.cbType = 103 | WHERE caUid = ? | |_tmp_ClazzAssignment_nullCountwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inctmp1tmp2tmp3tmp4tmp5tmp6tmp7tmp8tmp9tmp10tmp11tmp12tmp13tmp14tmp15tmp16tmp17tmp18tmp19tmp20tmp21tmp22tmp23_tmp_ClazzAssignment_isAllNull_tmp_CourseBlock_nullCount_tmp_cbUidtmp24_tmp_cbTypecbTypetmp25_tmp_cbIndentLevelcbIndentLeveltmp26_tmp_cbModuleParentBlockUidcbModuleParentBlockUidtmp27_tmp_cbTitlecbTitletmp28_tmp_cbDescriptioncbDescriptiontmp29_tmp_cbCompletionCriteriacbCompletionCriteriatmp30_tmp_cbHideUntilDatecbHideUntilDatetmp31_tmp_cbDeadlineDatecbDeadlineDatetmp32_tmp_cbLateSubmissionPenaltycbLateSubmissionPenaltytmp33_tmp_cbGracePeriodDatecbGracePeriodDatetmp34_tmp_cbMaxPointsgetFloatNullablecbMaxPointstmp35_tmp_cbMinPointscbMinPointstmp36_tmp_cbIndexcbIndextmp37_tmp_cbClazzUidcbClazzUidtmp38_tmp_cbClazzSourcedIdcbClazzSourcedIdtmp39_tmp_cbActivecbActivetmp40_tmp_cbHiddencbHiddentmp41_tmp_cbEntityUidcbEntityUidtmp42_tmp_cbLctcbLcttmp43_tmp_cbSourcedIdcbSourcedIdtmp44_tmp_cbMetadatacbMetadatatmp45_tmp_cbCreatedByAppIdcbCreatedByAppIdtmp46_tmp_CourseBlock_isAllNullnotEXCLassignmentblockCourseBlockfindClazzAssignment | | SELECT * | FROM ClazzAssignment LIMIT 1 | executeQueryfindByUidLive |SELECT * | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT) |SELECT * | FROM ClazzAssignment | WHERE caUid = ? |updateActiveByListuidList | | UPDATE ClazzAssignment | SET caActive = ?, | caLct = CAST(? AS BIGINT) | WHERE caUid IN (?) | | | UPDATE ClazzAssignment | SET caActive = ?, | caLct = ? | WHERE caUid IN (?) | |setArraycreateArrayOrProxyArrayOfBIGINTtoTypedArrayfindAssignmentCourseBlockAndSubmitterUidAsFlowClazzAssignmentCourseBlockAndSubmitterUidCourseBlockPicture | | WITH PersonIsStudent(isStudent) | AS (SELECT EXISTS( | SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000)) | | SELECT ClazzAssignment.*, | CourseBlock.*, | CourseBlockPicture.*, | CourseGroupSet.*, | ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | ) AS submitterUid, | | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 4 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 4 | | ) > 0) | ) | ) AS hasModeratePermission | | FROM ClazzAssignment | JOIN CourseBlock | ON CourseBlock.cbEntityUid = ClazzAssignment.caUid | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | LEFT JOIN CourseGroupSet | ON CourseGroupSet.cgsUid = ClazzAssignment.caGroupUid | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | AND ClazzAssignment.caClazzUid = CAST(? AS BIGINT) | AND ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 1 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 1 | | ) > 0) | ) | ) | | | WITH PersonIsStudent(isStudent) | AS (SELECT EXISTS( | SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000)) | | SELECT ClazzAssignment.*, | CourseBlock.*, | CourseBlockPicture.*, | CourseGroupSet.*, | ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | ) AS submitterUid, | | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 4 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 4 | | ) > 0) | ) | ) AS hasModeratePermission | | FROM ClazzAssignment | JOIN CourseBlock | ON CourseBlock.cbEntityUid = ClazzAssignment.caUid | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | LEFT JOIN CourseGroupSet | ON CourseGroupSet.cgsUid = ClazzAssignment.caGroupUid | WHERE ClazzAssignment.caUid = ? | AND ClazzAssignment.caClazzUid = ? | AND ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 1 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 1 | | ) > 0) | ) | ) | |_tmp_hasModeratePermissionhasModeratePermission_tmp_CourseBlockPicture_nullCount_tmp_cbpUidcbpUidtmp47_tmp_cbpLctcbpLcttmp48_tmp_cbpPictureUricbpPictureUritmp49_tmp_cbpThumbnailUricbpThumbnailUritmp50_tmp_CourseBlockPicture_isAllNull_tmp_CourseGroupSet_nullCount_tmp_cgsUidcgsUidtmp51_tmp_cgsNamecgsNametmp52_tmp_cgsTotalGroupscgsTotalGroupstmp53_tmp_cgsActivecgsActivetmp54_tmp_cgsClazzUidcgsClazzUidtmp55_tmp_cgsLctcgsLcttmp56_tmp_CourseGroupSet_isAllNullcourseBlockcourseBlockPicturecourseGroupSetCourseGroupSetfindEnrolmentsByPersonUidAndAssignmentUid | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | AND ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | AND ClazzEnrolment.clazzEnrolmentPersonUid = ? | |_tmp_clazzEnrolmentUidclazzEnrolmentUid_tmp_clazzEnrolmentPersonUidclazzEnrolmentPersonUid_tmp_clazzEnrolmentClazzUidclazzEnrolmentClazzUid_tmp_clazzEnrolmentDateJoinedclazzEnrolmentDateJoined_tmp_clazzEnrolmentDateLeftclazzEnrolmentDateLeft_tmp_clazzEnrolmentRoleclazzEnrolmentRole_tmp_clazzEnrolmentAttendancePercentageclazzEnrolmentAttendancePercentage_tmp_clazzEnrolmentActiveclazzEnrolmentActive_tmp_clazzEnrolmentLeavingReasonUidclazzEnrolmentLeavingReasonUid_tmp_clazzEnrolmentOutcomeclazzEnrolmentOutcome_tmp_clazzEnrolmentLocalChangeSeqNumclazzEnrolmentLocalChangeSeqNum_tmp_clazzEnrolmentMasterChangeSeqNumclazzEnrolmentMasterChangeSeqNum_tmp_clazzEnrolmentLastChangedByclazzEnrolmentLastChangedBy_tmp_clazzEnrolmentLctclazzEnrolmentLctfindCourseGroupMembersByPersonUidAndAssignmentUid | | SELECT CourseGroupMember.* | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | | | SELECT CourseGroupMember.* | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | |findPeerReviewerAllocationsByPersonUidAndAssignmentUid | | SELECT PeerReviewerAllocation.* | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | AND ( | PeerReviewerAllocation.praMarkerSubmitterUid = CAST(? AS BIGINT) | OR PeerReviewerAllocation.praToMarkerSubmitterUid = CAST(? AS BIGINT) | OR PeerReviewerAllocation.praMarkerSubmitterUid IN | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT)) | OR PeerReviewerAllocation.praToMarkerSubmitterUid IN | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT))) | | | SELECT PeerReviewerAllocation.* | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | AND ( | PeerReviewerAllocation.praMarkerSubmitterUid = ? | OR PeerReviewerAllocation.praToMarkerSubmitterUid = ? | OR PeerReviewerAllocation.praMarkerSubmitterUid IN | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | AND CourseGroupMember.cgmPersonUid = ?) | OR PeerReviewerAllocation.praToMarkerSubmitterUid IN | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE CourseGroupMember.cgmSetUid = | (SELECT ClazzAssignment.caGroupUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | AND CourseGroupMember.cgmPersonUid = ?)) | |getLatestSubmissionTimeAllowed | | WITH CourseBlockDeadlines(deadline, gracePeriod) AS | (SELECT CourseBlock.cbDeadlineDate AS deadline, | CourseBlock.cbGracePeriodDate AS gracePeriod | FROM CourseBlock | WHERE CourseBlock.cbEntityUid = CAST(? AS BIGINT) | AND CourseBlock.cbType = 103 | LIMIT 1) | SELECT CASE | WHEN (SELECT gracePeriod | FROM CourseBlockDeadlines) | BETWEEN 1 AND 7258118400000 THEN (SELECT gracePeriod FROM CourseBlockDeadlines) | ELSE (SELECT deadline FROM CourseBlockDeadlines) | END AS latestSubmissionTimeAllowed | | | WITH CourseBlockDeadlines(deadline, gracePeriod) AS | (SELECT CourseBlock.cbDeadlineDate AS deadline, | CourseBlock.cbGracePeriodDate AS gracePeriod | FROM CourseBlock | WHERE CourseBlock.cbEntityUid = ? | AND CourseBlock.cbType = 103 | LIMIT 1) | SELECT CASE | WHEN (SELECT gracePeriod | FROM CourseBlockDeadlines) | BETWEEN 1 AND 7258118400000 THEN (SELECT gracePeriod FROM CourseBlockDeadlines) | ELSE (SELECT deadline FROM CourseBlockDeadlines) | END AS latestSubmissionTimeAllowed | |      "        .  'A            #$'!)!$ + >" ! -* .)A)16 comustadmobilecoredbdaoClazzAssignmentDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoClazzAssignmentDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelpergetAllAssignmentsByClazzUidAsynccollectionsListlibentitiesClazzAssignmentclazzUid_resultupdateActiveByUidcbUidactiveBooleanchangeTimereplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAgetProgressSummaryForAssignmentkotlinxflowFlowAssignmentProgressSummaryassignmentUidaccountPersonUidgroupgetAssignmentSubmitterSummaryListForAssignmentandroidxpagingPagingSourceIntAssignmentSubmitterSummarysearchTextsortOptionDoorRepositoryReplicatePullPagingSourceClazzAssignmentDao/getAssignmentSubmitterSummaryListForAssignmentSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParams_pagingParamsreplicateHttpRequestOrThrowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompanionpagingSourceLoadParametersnullableonClientRepoDoorMessageHttpResponseendOfPaginationReachedgetCourseGroupMembersByAssignmentUidCourseGroupMembergetAssignmentSubmissionsByAssignmentUidCourseAssignmentSubmissiongetAssignmentMarksByAssignmentUidCourseAssignmentMarkgetPeerReviewerAllocationsByAssignmentUidPeerReviewerAllocationgetPeerReviewAllocationsForPersongetSubmitterUidsByClazzOrGroupSetUidgroupSetUidtimegetSubmitterUidsAndNameByClazzOrGroupSetUidcompositesAssignmentSubmitterUidAndNamedategroupStrreplicateHttpRequestCatchAndLogClazzAssignmentDao/getSubmitterUidsAndNameByClazzOrGroupSetUidgetSubmitterCountFromAssignmentgroupUidgetSubmitterUidClazzAssignmentDao/getSubmitterUidupdateAsyncclazzAssignmentfindByUidAsyncuidClazzAssignmentDao/findByUidAsyncfindByUidAndClazzUidAsFlowasRepoFlowClazzAssignmentDao/findByUidAndClazzUidAsFlowfindByUidAndClazzUidAsyncgetGroupUidFromAssignmentgetMarkingTypeFromAssignmentfindByUidWithBlockAsyncClazzAssignmentAndBlockClazzAssignmentDao/findByUidWithBlockAsyncfindClazzAssignmentfindByUidLiveupsertListAsyncupdateActiveByListuidListfindAssignmentCourseBlockAndSubmitterUidAsFlowClazzAssignmentCourseBlockAndSubmitterUidClazzAssignmentDao/findAssignmentCourseBlockAndSubmitterUidAsFlowfindEnrolmentsByPersonUidAndAssignmentUidClazzEnrolmentfindCourseGroupMembersByPersonUidAndAssignmentUidfindPeerReviewerAllocationsByPersonUidAndAssignmentUidgetLatestSubmissionTimeAllowedinsertentitywithRepoChangeMonitorinsertAsyncinsertListentityListupdateinsertListAsyncupdateListAsyncINSTANCE_RECEIVERO     !)"      !  0  comustadmobilecoredbdaoClazzDaoDEFINEDkotlinUnitAnyfindByUidlibentitiesClazzuidLongfindByUidLivekotlinxcoroutinesflowFlowfindByClazzCodecodeStringfindByClazzCodeFromWebfindAllLivecollectionsListfindAllfindByUidAsyncclazzUidclazzUidExistsAsyncBooleanfindByUidAsFlowfindByUidWithHolidayCalendarAsyncClazzWithHolidayCalendarAndAndTerminologyfindByUidWithHolidayCalendarAsFlowupdateAsyncIntentityfindClazzesWithPermissionandroidxpagingPagingSourceClazzWithListDisplayDetailssearchQueryaccountPersonUidexcludeSelectedClazzListsortOrderfiltercurrentTimepermissiongetClassNamesFromListOfIdsUidAndLabelidsfindByClazzNamenameupdateClazzAttendanceAverageAsynctimeChangedclazzAndDetailPermissionsAsFlowcompositesClazzAndDetailPermissionsgetClazzWithDisplayDetailsClazzAndDisplayDetailsfindClazzesWithEffectiveHolidayCalendarAndFilterfilterUidgetTitleByUidAsFlowgetClazzNameAndTerminologyAsFlowClazzNameAndTerminologygetClazzNameAsFlowgetClazzTimeZoneByClazzUidAsyncgetCoursesByNamenamesfindOneRosterUserClazzesfilterByEnrolledMemberPersonUidINSTANCE_RECEIVERBaseDao|  "  ?    =!)"      E!  0 f <    @<comustadmobilecoredbdaoClazzDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoClazzDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByUidlibentitiesClazzuidLongIllegalStateExceptionStringfindByUid: synchronous db access is NOT possible on Javascript!findByUidLivekotlinxcoroutinesflowFlowGET_PROPERTYfindByClazzCodecodefindByClazzCodeFromWebfindAllLivecollectionsListfindAllfindAll: synchronous db access is NOT possible on Javascript!findByUidAsyncclazzUidclazzUidExistsAsyncBooleanfindByUidAsFlowfindByUidWithHolidayCalendarAsyncClazzWithHolidayCalendarAndAndTerminologyfindByUidWithHolidayCalendarAsFlowupdateAsyncIntentityclazzLctEQutilsystemTimeInMillisfindClazzesWithPermissionandroidxpagingPagingSourceClazzWithListDisplayDetailssearchQueryaccountPersonUidexcludeSelectedClazzListsortOrderfiltercurrentTimepermissiongetClassNamesFromListOfIdsUidAndLabelidsfindByClazzNamenamefindByClazzName: synchronous db access is NOT possible on Javascript!updateClazzAttendanceAverageAsynctimeChangedclazzAndDetailPermissionsAsFlowcompositesClazzAndDetailPermissionsgetClazzWithDisplayDetailsClazzAndDisplayDetailsfindClazzesWithEffectiveHolidayCalendarAndFilterfilterUidfindClazzesWithEffectiveHolidayCalendarAndFilter: synchronous db access is NOT possible on Javascript!getTitleByUidAsFlowgetClazzNameAndTerminologyAsFlowClazzNameAndTerminologygetClazzNameAsFlowgetClazzTimeZoneByClazzUidAsyncgetCoursesByNamenamesfindOneRosterUserClazzesfilterByEnrolledMemberPersonUidinsertinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFinternalirEQEQ_newPknextIdAsyncinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER  "   N       !!"(    b   6 2      ' !!(  66' <6!)  !       "!    "|          '"#$% ($%&!  [ N! g, -,X ! G0 p gXwHcomustadmobilecoredbdaoClazzDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitClazzDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterClazz_abortEntityInsertionAdapterlibentitiesClazzOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO Clazz (clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongclazzUidsetObjectIntsetLongsetStringclazzNameclazzDescsetFloatFloatattendanceAverageclazzHolidayUMCalendarUidclazzScheuleUMCalendarUidsetBooleanisClazzActiveclazzLocationUidclazzStartTimeclazzEndTimeclazzFeaturesclazzSchoolUidsetIntclazzEnrolmentPolicyclazzTerminologyUidclazzMasterChangeSeqNumclazzLocalChangeSeqNumclazzLastChangedByclazzLctclazzTimeZoneclazzStudentsPersonGroupUidclazzTeachersPersonGroupUidclazzPendingStudentsPersonGroupUidclazzParentsPersonGroupUidclazzCodeclazzOwnerPersonUidINSTANCE_RECEIVERinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListcollectionsListupdateAsync_result_sqlUPDATE Clazz SET clazzName = ?, clazzDesc = ?, attendanceAverage = ?, clazzHolidayUMCalendarUid = ?, clazzScheuleUMCalendarUid = ?, isClazzActive = ?, clazzLocationUid = ?, clazzStartTime = ?, clazzEndTime = ?, clazzFeatures = ?, clazzSchoolUid = ?, clazzEnrolmentPolicy = ?, clazzTerminologyUid = ?, clazzMasterChangeSeqNum = ?, clazzLocalChangeSeqNum = ?, clazzLastChangedBy = ?, clazzLct = ?, clazzTimeZone = ?, clazzStudentsPersonGroupUid = ?, clazzTeachersPersonGroupUid = ?, clazzPendingStudentsPersonGroupUid = ?, clazzParentsPersonGroupUid = ?, clazzCode = ?, clazzOwnerPersonUid = ? WHERE clazzUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindByUiduidPreparedStatementConfigSELECT * FROM Clazz WHERE clazzUid = CAST(? AS BIGINT)texttrimMargin |SELECT * FROM Clazz WHERE clazzUid = ? |useResultsResultSetexecuteQuerymapNextRowit_tmp_clazzUidgetLong_tmp_clazzNamegetString_tmp_clazzDesc_tmp_attendanceAveragegetFloat_tmp_clazzHolidayUMCalendarUid_tmp_clazzScheuleUMCalendarUid_tmp_isClazzActivegetBoolean_tmp_clazzLocationUid_tmp_clazzStartTime_tmp_clazzEndTime_tmp_clazzFeatures_tmp_clazzSchoolUid_tmp_clazzEnrolmentPolicygetInt_tmp_clazzTerminologyUid_tmp_clazzMasterChangeSeqNum_tmp_clazzLocalChangeSeqNum_tmp_clazzLastChangedBy_tmp_clazzLct_tmp_clazzTimeZone_tmp_clazzStudentsPersonGroupUid_tmp_clazzTeachersPersonGroupUid_tmp_clazzPendingStudentsPersonGroupUid_tmp_clazzParentsPersonGroupUid_tmp_clazzCode_tmp_clazzOwnerPersonUidapplyExtensionFunctionType$this$applyEQfindByUidLivekotlinxflowFlowdoorFlowArrayarrayOfSuspendFunction0SELECT * From Clazz WHERE clazzUid = CAST(? AS BIGINT) |SELECT * From Clazz WHERE clazzUid = ? |executeQueryAsyncKmpfindByClazzCodecodeSELECT * FROM Clazz WHERE clazzCode = ?findByClazzCodeFromWebfindAllLiveSELECT * FROM Clazz WHERE CAST(isClazzActive AS INTEGER) = 1mapRowsfindAllfindByUidAsyncclazzUidExistsAsync | | SELECT EXISTS( | SELECT Clazz.clazzUid | FROM Clazz | WHERE Clazz.clazzUid = CAST(? AS BIGINT)) | | | SELECT EXISTS( | SELECT Clazz.clazzUid | FROM Clazz | WHERE Clazz.clazzUid = ?) | |findByUidAsFlow |SELECT * FROM Clazz WHERE clazzUid = ? |findByUidWithHolidayCalendarAsyncClazzWithHolidayCalendarAndAndTerminology | | SELECT Clazz.*, | CoursePicture.*, | HolidayCalendar.*, | CourseTerminology.* | FROM Clazz | LEFT JOIN HolidayCalendar | ON Clazz.clazzHolidayUMCalendarUid = HolidayCalendar.umCalendarUid | | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = CAST(? AS BIGINT) | WHERE Clazz.clazzUid = CAST(? AS BIGINT) | | SELECT Clazz.*, | CoursePicture.*, | HolidayCalendar.*, | CourseTerminology.* | FROM Clazz | LEFT JOIN HolidayCalendar | ON Clazz.clazzHolidayUMCalendarUid = HolidayCalendar.umCalendarUid | | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = ? | WHERE Clazz.clazzUid = ? |_tmp_HolidayCalendar_nullCount_tmp_umCalendarUidumCalendarUidwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_umCalendarNameumCalendarNametmp1_tmp_umCalendarCategoryumCalendarCategorytmp2_tmp_umCalendarActiveumCalendarActivetmp3_tmp_umCalendarMasterChangeSeqNumumCalendarMasterChangeSeqNumtmp4_tmp_umCalendarLocalChangeSeqNumumCalendarLocalChangeSeqNumtmp5_tmp_umCalendarLastChangedByumCalendarLastChangedBytmp6_tmp_umCalendarLctumCalendarLcttmp7_tmp_HolidayCalendar_isAllNull_tmp_CourseTerminology_nullCount_tmp_ctUidctUidtmp8_tmp_ctTitlectTitletmp9_tmp_ctTerminologyctTerminologytmp10_tmp_ctLctctLcttmp11_tmp_CourseTerminology_isAllNull_tmp_CoursePicture_nullCount_tmp_coursePictureUidcoursePictureUidtmp12_tmp_coursePictureLctcoursePictureLcttmp13_tmp_coursePictureUricoursePictureUritmp14_tmp_coursePictureThumbnailUricoursePictureThumbnailUritmp15_tmp_coursePictureActivecoursePictureActivetmp16_tmp_CoursePicture_isAllNullnotEXCLholidayCalendarHolidayCalendarterminologyCourseTerminologycoursePictureCoursePicturefindByUidWithHolidayCalendarAsFlow | | SELECT Clazz.*, | CoursePicture.*, | HolidayCalendar.*, | CourseTerminology.* | FROM Clazz | LEFT JOIN HolidayCalendar | ON Clazz.clazzHolidayUMCalendarUid = HolidayCalendar.umCalendarUid | | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = CAST(? AS BIGINT) | WHERE Clazz.clazzUid = CAST(? AS BIGINT) | | | SELECT Clazz.*, | CoursePicture.*, | HolidayCalendar.*, | CourseTerminology.* | FROM Clazz | LEFT JOIN HolidayCalendar | ON Clazz.clazzHolidayUMCalendarUid = HolidayCalendar.umCalendarUid | | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = ? | WHERE Clazz.clazzUid = ? | |findClazzesWithPermissionandroidxpagingPagingSourceClazzWithListDisplayDetailssearchQueryaccountPersonUidexcludeSelectedClazzListsortOrderfiltercurrentTimepermissionDoorLimitOffsetPagingSourceClazzEnrolmentCoursePermissionSystemPermissionloadRows_limit_offset |SELECT * FROM ( | SELECT Clazz.*, ClazzEnrolment.*, CoursePicture.*, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1000 | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1001 | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers, | '' AS teacherNames, | 0 AS lastRecorded, | CourseTerminology.* | FROM Clazz | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = Clazz.clazzUid | | WHERE /* Begin permission check clause */ | CAST(? AS BIGINT) != 0 | AND ( | Clazz.clazzOwnerPersonUid = CAST(? AS BIGINT) | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = Clazz.clazzUid | AND ( CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & CAST(? AS BIGINT)) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | CAST(? AS BIGINT) | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | ) | ) | /* End permission check clause */ | AND CAST(Clazz.isClazzActive AS INTEGER) = 1 | AND Clazz.clazzName like ? | AND (Clazz.clazzUid NOT IN (?)) | AND ( ? = 0 OR (CASE WHEN ? = 5 | THEN CAST(? AS BIGINT) BETWEEN Clazz.clazzStartTime AND Clazz.clazzEndTime | ELSE CAST(? AS BIGINT) > Clazz.clazzEndTime | END)) | GROUP BY Clazz.clazzUid, ClazzEnrolment.clazzEnrolmentUid, CourseTerminology.ctUid, CoursePicture.coursePictureUid | ORDER BY CASE ? | WHEN 3 THEN Clazz.attendanceAverage | ELSE 0 | END ASC, | CASE ? | WHEN 1 THEN Clazz.clazzName | ELSE '' | END ASC, | CASE ? | WHEN 4 THEN Clazz.attendanceAverage | ELSE 0 | END DESC, | CASE ? | WHEN 2 THEN clazz.Clazzname | ELSE '' | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT Clazz.*, ClazzEnrolment.*, CoursePicture.*, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1000 | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1001 | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers, | '' AS teacherNames, | 0 AS lastRecorded, | CourseTerminology.* | FROM Clazz | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = Clazz.clazzUid | | WHERE /* Begin permission check clause */ | ? != 0 | AND ( | Clazz.clazzOwnerPersonUid = ? | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = Clazz.clazzUid | AND ( CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & ?) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | ? | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | ) | ) | /* End permission check clause */ | AND CAST(Clazz.isClazzActive AS INTEGER) = 1 | AND Clazz.clazzName like ? | AND (Clazz.clazzUid NOT IN (?)) | AND ( ? = 0 OR (CASE WHEN ? = 5 | THEN ? BETWEEN Clazz.clazzStartTime AND Clazz.clazzEndTime | ELSE ? > Clazz.clazzEndTime | END)) | GROUP BY Clazz.clazzUid, ClazzEnrolment.clazzEnrolmentUid, CourseTerminology.ctUid, CoursePicture.coursePictureUid | ORDER BY CASE ? | WHEN 3 THEN Clazz.attendanceAverage | ELSE 0 | END ASC, | CASE ? | WHEN 1 THEN Clazz.clazzName | ELSE '' | END ASC, | CASE ? | WHEN 4 THEN Clazz.attendanceAverage | ELSE 0 | END DESC, | CASE ? | WHEN 2 THEN clazz.Clazzname | ELSE '' | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |setArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArray_tmp_numStudentsnumStudents_tmp_numTeachersnumTeachers_tmp_teacherNamesteacherNames_tmp_lastRecordedlastRecorded_tmp_ClazzEnrolment_nullCount_tmp_clazzEnrolmentUidclazzEnrolmentUid_tmp_clazzEnrolmentPersonUidclazzEnrolmentPersonUid_tmp_clazzEnrolmentClazzUidclazzEnrolmentClazzUid_tmp_clazzEnrolmentDateJoinedclazzEnrolmentDateJoined_tmp_clazzEnrolmentDateLeftclazzEnrolmentDateLeft_tmp_clazzEnrolmentRoleclazzEnrolmentRole_tmp_clazzEnrolmentAttendancePercentageclazzEnrolmentAttendancePercentage_tmp_clazzEnrolmentActiveclazzEnrolmentActive_tmp_clazzEnrolmentLeavingReasonUidclazzEnrolmentLeavingReasonUid_tmp_clazzEnrolmentOutcomeclazzEnrolmentOutcome_tmp_clazzEnrolmentLocalChangeSeqNumclazzEnrolmentLocalChangeSeqNum_tmp_clazzEnrolmentMasterChangeSeqNumclazzEnrolmentMasterChangeSeqNum_tmp_clazzEnrolmentLastChangedByclazzEnrolmentLastChangedBy_tmp_clazzEnrolmentLctclazzEnrolmentLct_tmp_ClazzEnrolment_isAllNulltmp17tmp18tmp19tmp20tmp21tmp22clazzActiveEnrolmentcountRows |SELECT COUNT(*) FROM ( | SELECT Clazz.*, ClazzEnrolment.*, CoursePicture.*, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1000 | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1001 | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers, | '' AS teacherNames, | 0 AS lastRecorded, | CourseTerminology.* | FROM Clazz | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = Clazz.clazzUid | | WHERE /* Begin permission check clause */ | CAST(? AS BIGINT) != 0 | AND ( | Clazz.clazzOwnerPersonUid = CAST(? AS BIGINT) | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = Clazz.clazzUid | AND ( CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & CAST(? AS BIGINT)) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | CAST(? AS BIGINT) | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | ) | ) | /* End permission check clause */ | AND CAST(Clazz.isClazzActive AS INTEGER) = 1 | AND Clazz.clazzName like ? | AND (Clazz.clazzUid NOT IN (?)) | AND ( ? = 0 OR (CASE WHEN ? = 5 | THEN CAST(? AS BIGINT) BETWEEN Clazz.clazzStartTime AND Clazz.clazzEndTime | ELSE CAST(? AS BIGINT) > Clazz.clazzEndTime | END)) | GROUP BY Clazz.clazzUid, ClazzEnrolment.clazzEnrolmentUid, CourseTerminology.ctUid, CoursePicture.coursePictureUid | ORDER BY CASE ? | WHEN 3 THEN Clazz.attendanceAverage | ELSE 0 | END ASC, | CASE ? | WHEN 1 THEN Clazz.clazzName | ELSE '' | END ASC, | CASE ? | WHEN 4 THEN Clazz.attendanceAverage | ELSE 0 | END DESC, | CASE ? | WHEN 2 THEN clazz.Clazzname | ELSE '' | END DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT Clazz.*, ClazzEnrolment.*, CoursePicture.*, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1000 | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1001 | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers, | '' AS teacherNames, | 0 AS lastRecorded, | CourseTerminology.* | FROM Clazz | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = Clazz.clazzUid | | WHERE /* Begin permission check clause */ | ? != 0 | AND ( | Clazz.clazzOwnerPersonUid = ? | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = Clazz.clazzUid | AND ( CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & ?) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | ? | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | ) | ) | /* End permission check clause */ | AND CAST(Clazz.isClazzActive AS INTEGER) = 1 | AND Clazz.clazzName like ? | AND (Clazz.clazzUid NOT IN (?)) | AND ( ? = 0 OR (CASE WHEN ? = 5 | THEN ? BETWEEN Clazz.clazzStartTime AND Clazz.clazzEndTime | ELSE ? > Clazz.clazzEndTime | END)) | GROUP BY Clazz.clazzUid, ClazzEnrolment.clazzEnrolmentUid, CourseTerminology.ctUid, CoursePicture.coursePictureUid | ORDER BY CASE ? | WHEN 3 THEN Clazz.attendanceAverage | ELSE 0 | END ASC, | CASE ? | WHEN 1 THEN Clazz.clazzName | ELSE '' | END ASC, | CASE ? | WHEN 4 THEN Clazz.attendanceAverage | ELSE 0 | END DESC, | CASE ? | WHEN 2 THEN clazz.Clazzname | ELSE '' | END DESC | ) AS _PagingCount |getClassNamesFromListOfIdsUidAndLabelidsSELECT Clazz.clazzUid AS uid, Clazz.clazzName AS labelName From Clazz WHERE clazzUid IN (?)_tmp_uid_tmp_labelNamelabelNamefindByClazzNamenameSELECT * FROM Clazz WHERE clazzName = ? and CAST(isClazzActive AS INTEGER) = 1updateClazzAttendanceAverageAsynctimeChanged | | UPDATE Clazz | SET attendanceAverage = | COALESCE(CAST( | (SELECT SUM(clazzLogNumPresent) | FROM ClazzLog | WHERE clazzLogClazzUid = CAST(? AS BIGINT) | AND clazzLogStatusFlag = 4) AS REAL) / | | CAST(MAX(1.0, | (SELECT SUM(clazzLogNumPresent) + SUM(clazzLogNumPartial) + SUM(clazzLogNumAbsent) | FROM ClazzLog | WHERE clazzLogClazzUid = CAST(? AS BIGINT) | AND clazzLogStatusFlag = 4)) AS REAL), 0), | clazzLct = CAST(? AS BIGINT) | WHERE clazzUid = CAST(? AS BIGINT) | | | UPDATE Clazz | SET attendanceAverage = | COALESCE(CAST( | (SELECT SUM(clazzLogNumPresent) | FROM ClazzLog | WHERE clazzLogClazzUid = ? | AND clazzLogStatusFlag = 4) AS REAL) / | | CAST(GREATEST(1.0, | (SELECT SUM(clazzLogNumPresent) + SUM(clazzLogNumPartial) + SUM(clazzLogNumAbsent) | FROM ClazzLog | WHERE clazzLogClazzUid = ? | AND clazzLogStatusFlag = 4)) AS REAL), 0), | clazzLct = ? | WHERE clazzUid = ? | clazzAndDetailPermissionsAsFlowcompositesClazzAndDetailPermissions | | SELECT Clazz.*, | ( ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | 32 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 32 | | ) > 0) | ) | | ) AS hasAttendancePermission, | ( ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | 8192 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0) | ) | | ) AS hasViewMembersPermission, | ( ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0) | ) | | ) AS hasLearningRecordPermission | FROM Clazz | WHERE Clazz.clazzUid = CAST(? AS BIGINT) | AND ( ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | 1 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 1 | | ) > 0) | ) | | ) | | | SELECT Clazz.*, | ( ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | 32 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 32 | | ) > 0) | ) | | ) AS hasAttendancePermission, | ( ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | 8192 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0) | ) | | ) AS hasViewMembersPermission, | ( ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0) | ) | | ) AS hasLearningRecordPermission | FROM Clazz | WHERE Clazz.clazzUid = ? | AND ( ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | 1 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 1 | | ) > 0) | ) | | ) | |_tmp_hasAttendancePermissionhasAttendancePermission_tmp_hasViewMembersPermissionhasViewMembersPermission_tmp_hasLearningRecordPermissionhasLearningRecordPermission_tmp_Clazz_nullCounttmp23tmp24_tmp_Clazz_isAllNullclazzgetClazzWithDisplayDetailsClazzAndDisplayDetails | | SELECT Clazz.*, | CoursePicture.*, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1000 | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1001 | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers, | CourseTerminology.*, | (SELECT EXISTS( | SELECT 1 | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 |) | ) AS activeUserIsStudent | FROM Clazz | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = CAST(? AS BIGINT) | WHERE Clazz.clazzUid = CAST(? AS BIGINT) | | SELECT Clazz.*, | CoursePicture.*, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1000 | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numStudents, | (SELECT COUNT(DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid) | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | AND clazzEnrolmentRole = 1001 | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft) AS numTeachers, | CourseTerminology.*, | (SELECT EXISTS( | SELECT 1 | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 |) | ) AS activeUserIsStudent | FROM Clazz | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = ? | WHERE Clazz.clazzUid = ? |_tmp_activeUserIsStudentactiveUserIsStudenttmp25tmp26tmp27tmp28tmp29tmp30tmp31tmp32tmp33findClazzesWithEffectiveHolidayCalendarAndFilterfilterUid | | SELECT Clazz.*, | HolidayCalendar.*, | CourseTerminology.*, | CoursePicture.* | FROM Clazz | LEFT JOIN HolidayCalendar | ON ((clazz.clazzHolidayUMCalendarUid != 0 | AND HolidayCalendar.umCalendarUid = clazz.clazzHolidayUMCalendarUid) | OR clazz.clazzHolidayUMCalendarUid = 0 AND clazz.clazzSchoolUid = 0 | AND HolidayCalendar.umCalendarUid = 0) | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = 0 | | WHERE CAST(? AS BIGINT) = 0 | OR Clazz.clazzUid = CAST(? AS BIGINT) | | | SELECT Clazz.*, | HolidayCalendar.*, | CourseTerminology.*, | CoursePicture.* | FROM Clazz | LEFT JOIN HolidayCalendar | ON ((clazz.clazzHolidayUMCalendarUid != 0 | AND HolidayCalendar.umCalendarUid = clazz.clazzHolidayUMCalendarUid) | OR clazz.clazzHolidayUMCalendarUid = 0 AND clazz.clazzSchoolUid = 0 | AND HolidayCalendar.umCalendarUid = 0) | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = 0 | | WHERE ? = 0 | OR Clazz.clazzUid = ? | |getTitleByUidAsFlow | | SELECT Clazz.clazzName | FROM Clazz | WHERE Clazz.clazzUid = CAST(? AS BIGINT) | | | SELECT Clazz.clazzName | FROM Clazz | WHERE Clazz.clazzUid = ? | |getClazzNameAndTerminologyAsFlowClazzNameAndTerminology | | SELECT Clazz.clazzName AS clazzName, | CourseTerminology.* | FROM Clazz | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | WHERE Clazz.clazzUid = CAST(? AS BIGINT) | | | SELECT Clazz.clazzName AS clazzName, | CourseTerminology.* | FROM Clazz | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | WHERE Clazz.clazzUid = ? | |getClazzNameAsFlow | | SELECT Clazz.clazzName AS clazzName | FROM Clazz | WHERE Clazz.clazzUid = CAST(? AS BIGINT) | | | SELECT Clazz.clazzName AS clazzName | FROM Clazz | WHERE Clazz.clazzUid = ? | |getClazzTimeZoneByClazzUidAsync | | SELECT Clazz.clazzTimeZone | FROM Clazz | WHERE Clazz.clazzUid = CAST(? AS BIGINT) | | | SELECT Clazz.clazzTimeZone | FROM Clazz | WHERE Clazz.clazzUid = ? | |getCoursesByNamenames | | SELECT Clazz.* | FROM Clazz | WHERE Clazz.clazzName IN (?) | TEXTfindOneRosterUserClazzesfilterByEnrolledMemberPersonUid | | SELECT Clazz.* | FROM CLAZZ | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE ( Clazz.clazzOwnerPersonUid = CAST(? AS BIGINT) | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = Clazz.clazzUid | AND ( CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 1) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 1 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | ) | ) | AND EXISTS | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | ) | | | SELECT Clazz.* | FROM CLAZZ | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE ( Clazz.clazzOwnerPersonUid = ? | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = Clazz.clazzUid | AND ( CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 1) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 1 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | ) | ) | AND EXISTS | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | ) | |       "                   # !)*"+     '"    !  (#0  )(! comustadmobilecoredbdaoClazzDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoClazzDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperfindByUidlibentitiesClazzuid_resultfindByUidLivekotlinxcoroutinesflowFlowfindByClazzCodecoderepoHttpRequestWithFallbackClazzDao/findByClazzCodeFunction0LOCAL_FUNCTION_FOR_LAMBDAserializationjsonJsondecodeFromStringRepositoryConfigconfigKSerializerbuiltinsnullableCompanionserializerstatementbodyAsTextHttpResponserequestgethttpClientExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrldoorNodeIdHeaderheadercache-controlno-storeparameterencodeToStringLAMBDAfindByClazzCodeFromWebfindAllLivecollectionsListfindAllfindByUidAsyncclazzUidclazzUidExistsAsyncBooleanreplicateHttpRequestCatchAndLogClazzDao/clazzUidExistsAsync_responsereplicationonClientRepoDoorMessageHttpResponsefindByUidAsFlowasRepoFlowSuspendFunction0ClazzDao/findByUidAsFlowfindByUidWithHolidayCalendarAsyncClazzWithHolidayCalendarAndAndTerminologyClazzDao/findByUidWithHolidayCalendarAsyncfindByUidWithHolidayCalendarAsFlowClazzDao/findByUidWithHolidayCalendarAsFlowupdateAsyncIntentitywithRepoChangeMonitorAsyncfindClazzesWithPermissionandroidxpagingPagingSourceClazzWithListDisplayDetailssearchQueryaccountPersonUidexcludeSelectedClazzListsortOrderfiltercurrentTimepermissionDoorRepositoryReplicatePullPagingSourceClazzDao/findClazzesWithPermissionSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParams_pagingParamsreplicateHttpRequestOrThrowListSerializerpagingSourceLoadParametersendOfPaginationReachedgetClassNamesFromListOfIdsUidAndLabelidsfindByClazzNamenameupdateClazzAttendanceAverageAsynctimeChangedclazzAndDetailPermissionsAsFlowcompositesClazzAndDetailPermissionsClazzDao/clazzAndDetailPermissionsAsFlowgetClazzWithDisplayDetailsClazzAndDisplayDetailsClazzDao/getClazzWithDisplayDetailsfindClazzesWithEffectiveHolidayCalendarAndFilterfilterUidgetTitleByUidAsFlowClazzDao/getTitleByUidAsFlowgetClazzNameAndTerminologyAsFlowClazzNameAndTerminologyClazzDao/getClazzNameAndTerminologyAsFlowgetClazzNameAsFlowClazzDao/getClazzNameAsFlowgetClazzTimeZoneByClazzUidAsyncClazzDao/getClazzTimeZoneByClazzUidAsyncgetCoursesByNamenamesClazzDao/getCoursesByNamefindOneRosterUserClazzesfilterByEnrolledMemberPersonUidClazzDao/findOneRosterUserClazzesinsertwithRepoChangeMonitorinsertAsyncinsertListentityListupdateINSTANCE_RECEIVER\  $     $* &     ! 4!$"+ 6comustadmobilecoredbdaoClazzEnrolmentDaoDEFINEDkotlinUnitAnyinsertListAsyncentityListcollectionsListlibentitiesClazzEnrolmentfindAllEnrolmentsByPersonAndClazzUidkotlinxcoroutinesflowFlowClazzEnrolmentWithLeavingReasonpersonUidLongclazzUidfindEnrolmentWithLeavingReasonenrolmentUidupdateDateLeftByUidclazzEnrolmentUidendDateupdateTimeupdateAsyncIntentityfindAllClazzesByPersonWithClazzcompositesClazzEnrolmentAndPersonDetailDetailsaccountPersonUidotherPersonUidfindAllByPersonUidfindAllClazzesByPersonWithClazzAsListAsyncClazzEnrolmentWithClazzgetAllClazzEnrolledAtTimeAsyncClazzEnrolmentWithPersondateroleFilterpersonUidFiltergetAllEnrolmentsAtTimeByClazzAndPersontimefindByUiduidfindByUidLivefindByClazzUidAndRoleandroidxpagingPagingSourcePersonAndClazzMemberListDetailsroleIdsortOrdersearchTextString%filtercurrentTimepermissionfindByClazzUidAndRoleForGradebookfindActorEntitiesForGradebookxapiActorEntitystudentsLimitstudentsOffsetfindEnrolmentsAndPersonByClazzUidWithPermissionCheckClazzEnrolmentAndPersonfindByAccountPersonUidAndClazzUidfindEnrolmentsByClazzUidAndRolefindEnrolmentsByClazzUidAndRolePagedfindAllEnrolmentsByClazzUidAndRoleupdateClazzEnrolmentActiveForClazzEnrolmentenrolledBooleantimeChangedupdateClazzEnrolmentRolenewRoleoldRolegetClazzNameAndPersonNameCourseNameAndPersonNamefindClazzEnrolmentEntitiesForPersonViewPermissionCheckINSTANCE_RECEIVERBaseDao  "   E$      $* &     ! 4!$"+ a6<    @<comustadmobilecoredbdaoClazzEnrolmentDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoClazzEnrolmentDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncentityListcollectionsListlibentitiesClazzEnrolmentIllegalStateExceptionStringinsertListAsync: synchronous db access is NOT possible on Javascript!findAllEnrolmentsByPersonAndClazzUidkotlinxcoroutinesflowFlowClazzEnrolmentWithLeavingReasonpersonUidLongclazzUidGET_PROPERTYfindEnrolmentWithLeavingReasonenrolmentUidupdateDateLeftByUidclazzEnrolmentUidendDateupdateTimeupdateAsyncIntentityclazzEnrolmentLctEQutilsystemTimeInMillisfindAllClazzesByPersonWithClazzcompositesClazzEnrolmentAndPersonDetailDetailsaccountPersonUidotherPersonUidfindAllByPersonUidfindAllClazzesByPersonWithClazzAsListAsyncClazzEnrolmentWithClazzgetAllClazzEnrolledAtTimeAsyncClazzEnrolmentWithPersondateroleFilterpersonUidFiltergetAllEnrolmentsAtTimeByClazzAndPersontimefindByUiduidfindByUidLivefindByClazzUidAndRoleandroidxpagingPagingSourcePersonAndClazzMemberListDetailsroleIdsortOrdersearchTextfiltercurrentTimepermissionfindByClazzUidAndRoleForGradebookfindActorEntitiesForGradebookxapiActorEntitystudentsLimitstudentsOffsetfindEnrolmentsAndPersonByClazzUidWithPermissionCheckClazzEnrolmentAndPersonfindByAccountPersonUidAndClazzUidfindEnrolmentsByClazzUidAndRolefindEnrolmentsByClazzUidAndRolePagedfindAllEnrolmentsByClazzUidAndRoleupdateClazzEnrolmentActiveForClazzEnrolmentenrolledBooleantimeChangedupdateClazzEnrolmentActiveForClazzEnrolment: synchronous db access is NOT possible on Javascript!updateClazzEnrolmentRolenewRoleoldRolegetClazzNameAndPersonNameCourseNameAndPersonNamefindClazzEnrolmentEntitiesForPersonViewPermissionCheckinsertinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFinternalirEQEQ_newPknextIdAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVERV  " "   "( $% &!(       $     ' #$%   ($%&!  ZK   $          '"       !!(   *uf                     & HD H         !  6     4 j  ! $%-#"+ ) 6pcomustadmobilecoredbdaoClazzEnrolmentDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitClazzEnrolmentDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterClazzEnrolment_abortEntityInsertionAdapterlibentitiesClazzEnrolmentOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ClazzEnrolment (clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongclazzEnrolmentUidsetObjectIntsetLongclazzEnrolmentPersonUidclazzEnrolmentClazzUidclazzEnrolmentDateJoinedclazzEnrolmentDateLeftsetIntclazzEnrolmentRolesetFloatFloatclazzEnrolmentAttendancePercentagesetBooleanclazzEnrolmentActiveclazzEnrolmentLeavingReasonUidclazzEnrolmentOutcomeclazzEnrolmentLocalChangeSeqNumclazzEnrolmentMasterChangeSeqNumclazzEnrolmentLastChangedByclazzEnrolmentLctINSTANCE_RECEIVERinsertListAsyncentityListcollectionsListinsertListinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncupdateAsync_result_sqlUPDATE ClazzEnrolment SET clazzEnrolmentPersonUid = ?, clazzEnrolmentClazzUid = ?, clazzEnrolmentDateJoined = ?, clazzEnrolmentDateLeft = ?, clazzEnrolmentRole = ?, clazzEnrolmentAttendancePercentage = ?, clazzEnrolmentActive = ?, clazzEnrolmentLeavingReasonUid = ?, clazzEnrolmentOutcome = ?, clazzEnrolmentLocalChangeSeqNum = ?, clazzEnrolmentMasterChangeSeqNum = ?, clazzEnrolmentLastChangedBy = ?, clazzEnrolmentLct = ? WHERE clazzEnrolmentUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindAllEnrolmentsByPersonAndClazzUidkotlinxflowFlowClazzEnrolmentWithLeavingReasonpersonUidclazzUiddoorFlowArrayarrayOfLeavingReasonClazzSuspendFunction0PreparedStatementConfigtexttrimMargin | | SELECT ClazzEnrolment.*, LeavingReason.*, | COALESCE(Clazz.clazzTimeZone, 'UTC') as timeZone | FROM ClazzEnrolment | LEFT JOIN LeavingReason | ON LeavingReason.leavingReasonUid = ClazzEnrolment.clazzEnrolmentLeavingReasonUid | LEFT JOIN Clazz | ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid | WHERE clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND clazzEnrolmentClazzUid = CAST(? AS BIGINT) | ORDER BY clazzEnrolmentDateLeft DESC | | | SELECT ClazzEnrolment.*, LeavingReason.*, | COALESCE(Clazz.clazzTimeZone, 'UTC') as timeZone | FROM ClazzEnrolment | LEFT JOIN LeavingReason | ON LeavingReason.leavingReasonUid = ClazzEnrolment.clazzEnrolmentLeavingReasonUid | LEFT JOIN Clazz | ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid | WHERE clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND clazzEnrolmentClazzUid = ? | ORDER BY clazzEnrolmentDateLeft DESC | |useResultsResultSetexecuteQueryAsyncKmpmapRowsit_tmp_timeZonegetStringtimeZone_tmp_clazzEnrolmentUidgetLong_tmp_clazzEnrolmentPersonUid_tmp_clazzEnrolmentClazzUid_tmp_clazzEnrolmentDateJoined_tmp_clazzEnrolmentDateLeft_tmp_clazzEnrolmentRolegetInt_tmp_clazzEnrolmentAttendancePercentagegetFloat_tmp_clazzEnrolmentActivegetBoolean_tmp_clazzEnrolmentLeavingReasonUid_tmp_clazzEnrolmentOutcome_tmp_clazzEnrolmentLocalChangeSeqNum_tmp_clazzEnrolmentMasterChangeSeqNum_tmp_clazzEnrolmentLastChangedBy_tmp_clazzEnrolmentLct_tmp_LeavingReason_nullCount_tmp_leavingReasonUidleavingReasonUidwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_leavingReasonTitleleavingReasonTitletmp1_tmp_leavingReasonMCSNleavingReasonMCSNtmp2_tmp_leavingReasonCSNleavingReasonCSNtmp3_tmp_leavingReasonLCBleavingReasonLCBtmp4_tmp_leavingReasonLctleavingReasonLcttmp5_tmp_LeavingReason_isAllNullapplyExtensionFunctionType$this$applyEQnotEXCLleavingReasonfindEnrolmentWithLeavingReasonenrolmentUid | | SELECT ClazzEnrolment.*, | LeavingReason.*, | COALESCE(Clazz.clazzTimeZone, 'UTC') AS timeZone | FROM ClazzEnrolment | LEFT JOIN LeavingReason | ON LeavingReason.leavingReasonUid = ClazzEnrolment.clazzEnrolmentLeavingReasonUid | LEFT JOIN Clazz | ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid | WHERE ClazzEnrolment.clazzEnrolmentUid = CAST(? AS BIGINT) | | | SELECT ClazzEnrolment.*, | LeavingReason.*, | COALESCE(Clazz.clazzTimeZone, 'UTC') AS timeZone | FROM ClazzEnrolment | LEFT JOIN LeavingReason | ON LeavingReason.leavingReasonUid = ClazzEnrolment.clazzEnrolmentLeavingReasonUid | LEFT JOIN Clazz | ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid | WHERE ClazzEnrolment.clazzEnrolmentUid = ? | |mapNextRowupdateDateLeftByUidendDateupdateTime | | UPDATE ClazzEnrolment | SET clazzEnrolmentDateLeft = CAST(? AS BIGINT), | clazzEnrolmentLct = CAST(? AS BIGINT) | WHERE clazzEnrolmentUid = CAST(? AS BIGINT) | | UPDATE ClazzEnrolment | SET clazzEnrolmentDateLeft = ?, | clazzEnrolmentLct = ? | WHERE clazzEnrolmentUid = ? |findAllClazzesByPersonWithClazzcompositesClazzEnrolmentAndPersonDetailDetailsaccountPersonUidotherPersonUidSystemPermissionCourseTerminologyCoursePermission | | /* List of all CoursePermissions that are granted to the person as per accountPersonUid */ | WITH CoursePermissionsForAccountPerson AS ( | | /* Get CoursePermissions given to the active user based on their enrolment role*/ | SELECT CoursePermission.* | FROM ClazzEnrolment ClazzEnrolment_ActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ActiveUser.clazzEnrolmentRole | WHERE ClazzEnrolment_ActiveUser.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | UNION | /* Get ClazzUids where the active user can view members based a grant directly to them */ | SELECT CoursePermission.* | FROM CoursePermission | WHERE CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | ), | /* Check if CoursePermission for accountPersonUid grants view permission */ | CanViewPersonUidViaCoursePermission(personUid) AS ( | SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM CoursePermissionsForAccountPerson | JOIN ClazzEnrolment | ON (CoursePermissionsForAccountPerson.cpPermissionsFlag & 8192) > 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = CoursePermissionsForAccountPerson.cpClazzUid | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | ) | SELECT ClazzEnrolment.*, | Clazz.*, | CourseTerminology.* | FROM ClazzEnrolment | JOIN Clazz | ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | WHERE (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | /* Check that accountPersonUid has permission to see otherPerson */ | AND ( (SELECT CAST(? AS BIGINT) = CAST(? AS BIGINT)) | OR (SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (SELECT CAST(? AS BIGINT) IN | (SELECT CanViewPersonUidViaCoursePermission.personUid | FROM CanViewPersonUidViaCoursePermission)) | ) | /* Check that accountPersonUid has permission to see related Clazz */ | AND ( (SELECT CAST(? AS BIGINT) = CAST(? AS BIGINT)) | OR (SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 1 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (EXISTS(SELECT 1 | FROM CoursePermissionsForAccountPerson | WHERE CoursePermissionsForAccountPerson.cpClazzUid = ClazzEnrolment.clazzEnrolmentClazzUid | AND (CoursePermissionsForAccountPerson.cpPermissionsFlag & 1) > 0)) | ) | | | /* List of all CoursePermissions that are granted to the person as per accountPersonUid */ | WITH CoursePermissionsForAccountPerson AS ( | | /* Get CoursePermissions given to the active user based on their enrolment role*/ | SELECT CoursePermission.* | FROM ClazzEnrolment ClazzEnrolment_ActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ActiveUser.clazzEnrolmentRole | WHERE ClazzEnrolment_ActiveUser.clazzEnrolmentPersonUid = ? | UNION | /* Get ClazzUids where the active user can view members based a grant directly to them */ | SELECT CoursePermission.* | FROM CoursePermission | WHERE CoursePermission.cpToPersonUid = ? | ), | /* Check if CoursePermission for accountPersonUid grants view permission */ | CanViewPersonUidViaCoursePermission(personUid) AS ( | SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM CoursePermissionsForAccountPerson | JOIN ClazzEnrolment | ON (CoursePermissionsForAccountPerson.cpPermissionsFlag & 8192) > 0 | AND ClazzEnrolment.clazzEnrolmentClazzUid = CoursePermissionsForAccountPerson.cpClazzUid | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | ) | SELECT ClazzEnrolment.*, | Clazz.*, | CourseTerminology.* | FROM ClazzEnrolment | JOIN Clazz | ON Clazz.clazzUid = ClazzEnrolment.clazzEnrolmentClazzUid | LEFT JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | WHERE (? != 0 AND ? != 0) | AND ClazzEnrolment.clazzEnrolmentPersonUid = ? | /* Check that accountPersonUid has permission to see otherPerson */ | AND ( (SELECT ? = ?) | OR (SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (SELECT ? IN | (SELECT CanViewPersonUidViaCoursePermission.personUid | FROM CanViewPersonUidViaCoursePermission)) | ) | /* Check that accountPersonUid has permission to see related Clazz */ | AND ( (SELECT ? = ?) | OR (SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 1 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (EXISTS(SELECT 1 | FROM CoursePermissionsForAccountPerson | WHERE CoursePermissionsForAccountPerson.cpClazzUid = ClazzEnrolment.clazzEnrolmentClazzUid | AND (CoursePermissionsForAccountPerson.cpPermissionsFlag & 1) > 0)) | ) | |_tmp_ClazzEnrolment_nullCounttmp6tmp7tmp8tmp9tmp10tmp11tmp12tmp13_tmp_ClazzEnrolment_isAllNull_tmp_Clazz_nullCount_tmp_clazzUidtmp14_tmp_clazzNameclazzNametmp15_tmp_clazzDescclazzDesctmp16_tmp_attendanceAverageattendanceAveragetmp17_tmp_clazzHolidayUMCalendarUidclazzHolidayUMCalendarUidtmp18_tmp_clazzScheuleUMCalendarUidclazzScheuleUMCalendarUidtmp19_tmp_isClazzActiveisClazzActivetmp20_tmp_clazzLocationUidclazzLocationUidtmp21_tmp_clazzStartTimeclazzStartTimetmp22_tmp_clazzEndTimeclazzEndTimetmp23_tmp_clazzFeaturesclazzFeaturestmp24_tmp_clazzSchoolUidclazzSchoolUidtmp25_tmp_clazzEnrolmentPolicyclazzEnrolmentPolicytmp26_tmp_clazzTerminologyUidclazzTerminologyUidtmp27_tmp_clazzMasterChangeSeqNumclazzMasterChangeSeqNumtmp28_tmp_clazzLocalChangeSeqNumclazzLocalChangeSeqNumtmp29_tmp_clazzLastChangedByclazzLastChangedBytmp30_tmp_clazzLctclazzLcttmp31_tmp_clazzTimeZoneclazzTimeZonetmp32_tmp_clazzStudentsPersonGroupUidclazzStudentsPersonGroupUidtmp33_tmp_clazzTeachersPersonGroupUidclazzTeachersPersonGroupUidtmp34_tmp_clazzPendingStudentsPersonGroupUidclazzPendingStudentsPersonGroupUidtmp35_tmp_clazzParentsPersonGroupUidclazzParentsPersonGroupUidtmp36_tmp_clazzCodeclazzCodetmp37_tmp_clazzOwnerPersonUidclazzOwnerPersonUidtmp38_tmp_Clazz_isAllNull_tmp_CourseTerminology_nullCount_tmp_ctUidctUidtmp39_tmp_ctTitlectTitletmp40_tmp_ctTerminologyctTerminologytmp41_tmp_ctLctctLcttmp42_tmp_CourseTerminology_isAllNullenrolmentclazzcourseTerminologyfindAllByPersonUid | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | |findAllClazzesByPersonWithClazzAsListAsyncClazzEnrolmentWithClazz |SELECT ClazzEnrolment.*, Clazz.* | FROM ClazzEnrolment | LEFT JOIN Clazz ON ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | |SELECT ClazzEnrolment.*, Clazz.* | FROM ClazzEnrolment | LEFT JOIN Clazz ON ClazzEnrolment.clazzEnrolmentClazzUid = Clazz.clazzUid | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | |getAllClazzEnrolledAtTimeAsyncClazzEnrolmentWithPersondateroleFilterpersonUidFilter | | SELECT ClazzEnrolment.*, Person.* | FROM ClazzEnrolment | LEFT JOIN Person | ON ClazzEnrolment.clazzEnrolmentPersonUid = Person.personUid | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft | AND CAST(clazzEnrolmentActive AS INTEGER) = 1 | AND (? = 0 OR ClazzEnrolment.clazzEnrolmentRole = ?) | AND (CAST(? AS BIGINT) = 0 OR ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)) | | | SELECT ClazzEnrolment.*, Person.* | FROM ClazzEnrolment | LEFT JOIN Person | ON ClazzEnrolment.clazzEnrolmentPersonUid = Person.personUid | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft | AND CAST(clazzEnrolmentActive AS INTEGER) = 1 | AND (? = 0 OR ClazzEnrolment.clazzEnrolmentRole = ?) | AND (? = 0 OR ClazzEnrolment.clazzEnrolmentPersonUid = ?) | |_tmp_Person_nullCount_tmp_personUid_tmp_usernameusername_tmp_firstNamesfirstNames_tmp_lastNamelastName_tmp_emailAddremailAddr_tmp_phoneNumphoneNum_tmp_gendergender_tmp_activeactive_tmp_dateOfBirthdateOfBirth_tmp_personAddresspersonAddress_tmp_personOrgIdpersonOrgId_tmp_personGroupUidpersonGroupUid_tmp_personLctpersonLct_tmp_personCountrypersonCountry_tmp_personTypepersonType_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNum_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNum_tmp_personLastChangedBypersonLastChangedBy_tmp_adminadmin_tmp_personNotespersonNotes_tmp_fatherNamefatherName_tmp_fatherNumberfatherNumber_tmp_motherNamemotherName_tmp_motherNummotherNum_tmp_Person_isAllNullpersonPersongetAllEnrolmentsAtTimeByClazzAndPersontime | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft | AND ClazzEnrolment.clazzEnrolmentActive | | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft | AND ClazzEnrolment.clazzEnrolmentActive | |findByUiduidSELECT * FROM ClazzEnrolment WHERE clazzEnrolmentUid = CAST(? AS BIGINT) |SELECT * FROM ClazzEnrolment WHERE clazzEnrolmentUid = ? |findByUidLive |SELECT * FROM ClazzEnrolment WHERE clazzEnrolmentUid = ? |findByClazzUidAndRoleandroidxpagingPagingSourcePersonAndClazzMemberListDetailsroleIdsortOrdersearchTextfiltercurrentTimepermissionDoorLimitOffsetPagingSourcePersonPictureloadRows_limit_offset |SELECT * FROM ( | SELECT * | FROM (SELECT Person.*, PersonPicture.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (CAST(? AS BIGINT) | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | | ) | OR Person.personUid = CAST(? AS BIGINT) | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT * | FROM (SELECT Person.*, PersonPicture.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (? | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | | ) | OR Person.personUid = ? | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |setString_tmp_earliestJoinDateearliestJoinDate_tmp_latestDateLeftlatestDateLeft_tmp_enrolmentRoleenrolmentRole_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUid_tmp_personPictureLctpersonPictureLct_tmp_personPictureUripersonPictureUri_tmp_personPictureThumbnailUripersonPictureThumbnailUri_tmp_fileSizefileSize_tmp_personPictureActivepersonPictureActive_tmp_PersonPicture_isAllNullpersonPicturecountRows |SELECT COUNT(*) FROM ( | SELECT * | FROM (SELECT Person.*, PersonPicture.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (CAST(? AS BIGINT) | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | | ) | OR Person.personUid = CAST(? AS BIGINT) | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT * | FROM (SELECT Person.*, PersonPicture.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (? | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | | ) | OR Person.personUid = ? | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | ) AS _PagingCount |findByClazzUidAndRoleForGradebookStatementEntityActorEntity |SELECT * FROM ( | SELECT * | FROM (SELECT Person.*, PersonPicture.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | --Dummy join so that invalidations of the StatementEntity table will trigger | -- PagingSource invalidation of ClazzGradebookPagingSource | LEFT JOIN StatementEntity | ON StatementEntity.statementIdHi = 0 | AND StatementEntity.statementIdLo = 0 | LEFT JOIN ActorEntity | ON ActorEntity.actorUid = 0 | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (CAST(? AS BIGINT) | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | ) | OR Person.personUid = CAST(? AS BIGINT) | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT * | FROM (SELECT Person.*, PersonPicture.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | --Dummy join so that invalidations of the StatementEntity table will trigger | -- PagingSource invalidation of ClazzGradebookPagingSource | LEFT JOIN StatementEntity | ON StatementEntity.statementIdHi = 0 | AND StatementEntity.statementIdLo = 0 | LEFT JOIN ActorEntity | ON ActorEntity.actorUid = 0 | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (? | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | ) | OR Person.personUid = ? | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | ) AS _PagingData LIMIT ? OFFSET ? | |SELECT COUNT(*) FROM ( | SELECT * | FROM (SELECT Person.*, PersonPicture.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | --Dummy join so that invalidations of the StatementEntity table will trigger | -- PagingSource invalidation of ClazzGradebookPagingSource | LEFT JOIN StatementEntity | ON StatementEntity.statementIdHi = 0 | AND StatementEntity.statementIdLo = 0 | LEFT JOIN ActorEntity | ON ActorEntity.actorUid = 0 | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (CAST(? AS BIGINT) | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | ) | OR Person.personUid = CAST(? AS BIGINT) | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT * | FROM (SELECT Person.*, PersonPicture.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | --Dummy join so that invalidations of the StatementEntity table will trigger | -- PagingSource invalidation of ClazzGradebookPagingSource | LEFT JOIN StatementEntity | ON StatementEntity.statementIdHi = 0 | AND StatementEntity.statementIdLo = 0 | LEFT JOIN ActorEntity | ON ActorEntity.actorUid = 0 | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (? | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | ) | OR Person.personUid = ? | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | ) AS _PagingCount |findActorEntitiesForGradebookxapistudentsLimitstudentsOffset | | WITH | PersonUids(personUid) AS ( | SELECT CourseMember.personUid | FROM (SELECT Person.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (CAST(? AS BIGINT) | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | ) | OR Person.personUid = CAST(? AS BIGINT) | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | LIMIT ? | OFFSET ? | ) | | | | SELECT ActorEntity.* | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | | | WITH | PersonUids(personUid) AS ( | SELECT CourseMember.personUid | FROM (SELECT Person.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (? | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | ) | OR Person.personUid = ? | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | LIMIT ? | OFFSET ? | ) | | | | SELECT ActorEntity.* | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | |_tmp_actorUidactorUid_tmp_actorPersonUidactorPersonUid_tmp_actorNameactorName_tmp_actorMboxactorMbox_tmp_actorMbox_sha1sumactorMbox_sha1sum_tmp_actorOpenidactorOpenid_tmp_actorAccountNameactorAccountName_tmp_actorAccountHomePageactorAccountHomePage_tmp_actorEtagactorEtag_tmp_actorLctactorLct_tmp_actorObjectTypeactorObjectTypefindEnrolmentsAndPersonByClazzUidWithPermissionCheckClazzEnrolmentAndPerson | | SELECT ClazzEnrolment.*, | Person.*, | PersonPicture.* | FROM ClazzEnrolment | JOIN Person | ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = ClazzEnrolment.clazzEnrolmentPersonUid | | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | /* Begin permission check*/ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | 8192 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0) | ) | ) | ) | /* End permission check */ | | | SELECT ClazzEnrolment.*, | Person.*, | PersonPicture.* | FROM ClazzEnrolment | JOIN Person | ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = ClazzEnrolment.clazzEnrolmentPersonUid | | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | /* Begin permission check*/ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | 8192 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0) | ) | ) | ) | /* End permission check */ | |tmp43picturefindByAccountPersonUidAndClazzUid | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentPersonUid = ? | |findEnrolmentsByClazzUidAndRole | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = ? | /* Begin permission check*/ | AND ( | ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | | ) | OR ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | ) | /* End permission check */ | | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = ? | /* Begin permission check*/ | AND ( | ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | | ) | OR ClazzEnrolment.clazzEnrolmentPersonUid = ? | ) | /* End permission check */ | |findEnrolmentsByClazzUidAndRolePaged | | WITH | PersonUids(personUid) AS ( | SELECT CourseMember.personUid | FROM (SELECT Person.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (CAST(? AS BIGINT) | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | ) | OR Person.personUid = CAST(? AS BIGINT) | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | LIMIT ? | OFFSET ? | ) | | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND ClazzEnrolment.clazzEnrolmentPersonUid IN ( | SELECT PersonUids.personUid | FROM PersonUids) | /* Begin permission check*/ | AND ( | ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | | ) | OR ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | ) | | | WITH | PersonUids(personUid) AS ( | SELECT CourseMember.personUid | FROM (SELECT Person.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (? | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | ) | OR Person.personUid = ? | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | LIMIT ? | OFFSET ? | ) | | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND ClazzEnrolment.clazzEnrolmentPersonUid IN ( | SELECT PersonUids.personUid | FROM PersonUids) | /* Begin permission check*/ | AND ( | ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | | ) | OR ClazzEnrolment.clazzEnrolmentPersonUid = ? | ) | |findAllEnrolmentsByClazzUidAndRole | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = ? | | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = ? | |updateClazzEnrolmentActiveForClazzEnrolmentenrolledtimeChanged | | UPDATE ClazzEnrolment | SET clazzEnrolmentActive = ?, | clazzEnrolmentLct = CAST(? AS BIGINT) | WHERE clazzEnrolmentUid = CAST(? AS BIGINT) | | UPDATE ClazzEnrolment | SET clazzEnrolmentActive = ?, | clazzEnrolmentLct = ? | WHERE clazzEnrolmentUid = ? |updateClazzEnrolmentRolenewRoleoldRole | | UPDATE ClazzEnrolment | SET clazzEnrolmentRole = ?, | clazzEnrolmentLct = CAST(? AS BIGINT) | -- Avoid potential for duplicate approvals if user was previously refused | WHERE clazzEnrolmentUid = COALESCE( | (SELECT clazzEnrolmentUid | FROM ClazzEnrolment | WHERE clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND clazzEnrolmentRole = ? | AND CAST(clazzEnrolmentActive AS INTEGER) = 1 | LIMIT 1), 0) | | UPDATE ClazzEnrolment | SET clazzEnrolmentRole = ?, | clazzEnrolmentLct = ? | -- Avoid potential for duplicate approvals if user was previously refused | WHERE clazzEnrolmentUid = COALESCE( | (SELECT clazzEnrolmentUid | FROM ClazzEnrolment | WHERE clazzEnrolmentPersonUid = ? | AND clazzEnrolmentClazzUid = ? | AND clazzEnrolmentRole = ? | AND CAST(clazzEnrolmentActive AS INTEGER) = 1 | LIMIT 1), 0) |getClazzNameAndPersonNameCourseNameAndPersonName | | SELECT Person.firstNames, Person.lastName, Clazz.clazzName | FROM Person | LEFT JOIN Clazz | ON Clazz.clazzUid = CAST(? AS BIGINT) | WHERE Person.personUid = CAST(? AS BIGINT) | | | SELECT Person.firstNames, Person.lastName, Clazz.clazzName | FROM Person | LEFT JOIN Clazz | ON Clazz.clazzUid = ? | WHERE Person.personUid = ? | |findClazzEnrolmentEntitiesForPersonViewPermissionCheck | | WITH CanViewMembersClazzesViaCoursePermission(clazzUid) AS | /* Get clazzuids where active user can view members based on their own enrolment role */ | (SELECT CoursePermission.cpClazzUid | FROM ClazzEnrolment ClazzEnrolment_ActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ActiveUser.clazzEnrolmentRole | WHERE ClazzEnrolment_ActiveUser.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | UNION | /* Get ClazzUids where the active user can view members based a grant directly to them */ | SELECT CoursePermission.cpClazzUid | FROM CoursePermission | WHERE CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | ) | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | OR ( ClazzEnrolment.clazzEnrolmentClazzUid IN | (SELECT CanViewMembersClazzesViaCoursePermission.clazzUid | FROM CanViewMembersClazzesViaCoursePermission) | AND (CAST(? AS BIGINT) = 0 OR ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)) | ) | | | WITH CanViewMembersClazzesViaCoursePermission(clazzUid) AS | /* Get clazzuids where active user can view members based on their own enrolment role */ | (SELECT CoursePermission.cpClazzUid | FROM ClazzEnrolment ClazzEnrolment_ActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ActiveUser.clazzEnrolmentRole | WHERE ClazzEnrolment_ActiveUser.clazzEnrolmentPersonUid = ? | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | UNION | /* Get ClazzUids where the active user can view members based a grant directly to them */ | SELECT CoursePermission.cpClazzUid | FROM CoursePermission | WHERE CoursePermission.cpToPersonUid = ? | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | ) | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | OR ( ClazzEnrolment.clazzEnrolmentClazzUid IN | (SELECT CanViewMembersClazzesViaCoursePermission.clazzUid | FROM CanViewMembersClazzesViaCoursePermission) | AND (? = 0 OR ClazzEnrolment.clazzEnrolmentPersonUid = ?) | ) | |      "      $   0         #   $* &8     ''   !3 4!$"+ 6 comustadmobilecoredbdaoClazzEnrolmentDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoClazzEnrolmentDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncentityListcollectionsListlibentitiesClazzEnrolmentreplicationwithRepoChangeMonitorGET_PROPERTYFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindAllEnrolmentsByPersonAndClazzUidkotlinxcoroutinesflowFlowClazzEnrolmentWithLeavingReasonpersonUidclazzUid_resultfindEnrolmentWithLeavingReasonenrolmentUidhttpreplicateHttpRequestCatchAndLogClazzEnrolmentDao/findEnrolmentWithLeavingReason_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponseupdateDateLeftByUidclazzEnrolmentUidendDateupdateTimewithRepoChangeMonitorAsyncSuspendFunction0updateAsyncIntentityfindAllClazzesByPersonWithClazzcompositesClazzEnrolmentAndPersonDetailDetailsaccountPersonUidotherPersonUidfindAllByPersonUidfindAllClazzesByPersonWithClazzAsListAsyncClazzEnrolmentWithClazzgetAllClazzEnrolledAtTimeAsyncClazzEnrolmentWithPersondateroleFilterpersonUidFiltergetAllEnrolmentsAtTimeByClazzAndPersontimeClazzEnrolmentDao/getAllEnrolmentsAtTimeByClazzAndPersonfindByUiduidfindByUidLivefindByClazzUidAndRoleandroidxpagingPagingSourcePersonAndClazzMemberListDetailsroleIdsortOrdersearchTextfiltercurrentTimepermissionDoorRepositoryReplicatePullPagingSourceClazzEnrolmentDao/findByClazzUidAndRoleSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParamsBoolean_pagingParamsreplicateHttpRequestOrThrownullablepagingSourceLoadParametersendOfPaginationReachedfindByClazzUidAndRoleForGradebookClazzEnrolmentDao/findByClazzUidAndRoleForGradebookfindActorEntitiesForGradebookxapiActorEntitystudentsLimitstudentsOffsetfindEnrolmentsAndPersonByClazzUidWithPermissionCheckClazzEnrolmentAndPersonfindByAccountPersonUidAndClazzUidfindEnrolmentsByClazzUidAndRolefindEnrolmentsByClazzUidAndRolePagedfindAllEnrolmentsByClazzUidAndRoleupdateClazzEnrolmentActiveForClazzEnrolmentenrolledtimeChangedupdateClazzEnrolmentRolenewRoleoldRolegetClazzNameAndPersonNameCourseNameAndPersonNamefindClazzEnrolmentEntitiesForPersonViewPermissionCheckinsertinsertAsyncinsertListupdateINSTANCE_RECEIVER&   "   ! comustadmobilecoredbdaoClazzLogAttendanceRecordDaoDEFINEDkotlinUnitAnyinsertListAsyncentitiescollectionsListlibClazzLogAttendanceRecordfindByUiduidLongupdateListAsyncfindByClazzLogUidClazzLogAttendanceRecordWithPersonclazzLogUidupdateRescheduledClazzLogUidsoldClazzLogUidnewClazzLogUidchangedTimefindByClazzAndTimecompositesPersonAndClazzLogAttendanceRecordclazzUidtimeupsertListAsyncentityListINSTANCE_RECEIVERBaseDaob ' "         ! ! '- ?"  S ! < @<comustadmobilecoredbdaoClazzLogAttendanceRecordDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoClazzLogAttendanceRecordDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncentitiescollectionsListlibClazzLogAttendanceRecord_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabase_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQclazzLogAttendanceRecordUid_newPknextIdAsyncIntEQplusAssignPLUSEQclazzLogAttendanceRecordLastChangedTimeutilsystemTimeInMillisLAMBDAfindByUiduidIllegalStateExceptionStringfindByUid: synchronous db access is NOT possible on Javascript!updateListAsyncfindByClazzLogUidClazzLogAttendanceRecordWithPersonclazzLogUidupdateRescheduledClazzLogUidsoldClazzLogUidnewClazzLogUidchangedTimeupdateRescheduledClazzLogUids: synchronous db access is NOT possible on Javascript!findByClazzAndTimecompositesPersonAndClazzLogAttendanceRecordclazzUidtimeupsertListAsyncentityListinsertentityinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER> $ " ,  b! #)!'*0)/%+'-2-m3    e      \ X   (&/.*, !)'0/+-"                          8  ! ''  comustadmobilecoredbdaoClazzLogAttendanceRecordDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitClazzLogAttendanceRecordDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterClazzLogAttendanceRecord_abortEntityInsertionAdapterlibentitiesClazzLogAttendanceRecordOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ClazzLogAttendanceRecord (clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime) VALUES(?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongclazzLogAttendanceRecordUidsetObjectIntsetLongclazzLogAttendanceRecordClazzLogUidclazzLogAttendanceRecordPersonUidsetIntattendanceStatusclazzLogAttendanceRecordMasterChangeSeqNumclazzLogAttendanceRecordLocalChangeSeqNumclazzLogAttendanceRecordLastChangedByclazzLogAttendanceRecordLastChangedTimeINSTANCE_RECEIVER_insertAdapterClazzLogAttendanceRecord_upsertINSERT OR REPLACE INTO ClazzLogAttendanceRecord (clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime) VALUES(?, ?, ?, ?, ?, ?, ?, ?)insertListAsynccollectionsListupsertListAsyncentityListinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListupdateListAsync_sqlUPDATE ClazzLogAttendanceRecord SET clazzLogAttendanceRecordClazzLogUid = ?, clazzLogAttendanceRecordPersonUid = ?, attendanceStatus = ?, clazzLogAttendanceRecordMasterChangeSeqNum = ?, clazzLogAttendanceRecordLocalChangeSeqNum = ?, clazzLogAttendanceRecordLastChangedBy = ?, clazzLogAttendanceRecordLastChangedTime = ? WHERE clazzLogAttendanceRecordUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtConnectionsetAutoCommitgetConnectionFOR_LOOPFOR_LOOP_ITERATORtmp0_iteratorIteratoriteratorhasNextFOR_LOOP_HAS_NEXTFOR_LOOP_INNER_WHILEFOR_LOOP_VARIABLE_entitynextFOR_LOOP_NEXTexecuteUpdateAsyncKmpcommitLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindByUiduidPreparedStatementConfigSELECT * from ClazzLogAttendanceRecord WHERE clazzLogAttendanceRecordUid = CAST(? AS BIGINT)texttrimMargin |SELECT * from ClazzLogAttendanceRecord WHERE clazzLogAttendanceRecordUid = ? |useResultsResultSetexecuteQuery_resultmapNextRowit_tmp_clazzLogAttendanceRecordUidgetLong_tmp_clazzLogAttendanceRecordClazzLogUid_tmp_clazzLogAttendanceRecordPersonUid_tmp_attendanceStatusgetInt_tmp_clazzLogAttendanceRecordMasterChangeSeqNum_tmp_clazzLogAttendanceRecordLocalChangeSeqNum_tmp_clazzLogAttendanceRecordLastChangedBy_tmp_clazzLogAttendanceRecordLastChangedTimeapplyExtensionFunctionType$this$applyEQfindByClazzLogUidClazzLogAttendanceRecordWithPersonclazzLogUid |SELECT ClazzLogAttendanceRecord.*, Person.* | FROM ClazzLogAttendanceRecord | LEFT JOIN Person ON ClazzLogAttendanceRecord.clazzLogAttendanceRecordPersonUid = Person.personUid | WHERE clazzLogAttendanceRecordClazzLogUid = CAST(? AS BIGINT) |SELECT ClazzLogAttendanceRecord.*, Person.* | FROM ClazzLogAttendanceRecord | LEFT JOIN Person ON ClazzLogAttendanceRecord.clazzLogAttendanceRecordPersonUid = Person.personUid | WHERE clazzLogAttendanceRecordClazzLogUid = ? |executeQueryAsyncKmpmapRows_tmp_Person_nullCount_tmp_personUidpersonUidwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_usernamegetStringusernametmp1_tmp_firstNamesfirstNamestmp2_tmp_lastNamelastNametmp3_tmp_emailAddremailAddrtmp4_tmp_phoneNumphoneNumtmp5_tmp_gendergendertmp6_tmp_activegetBooleanactivetmp7_tmp_dateOfBirthdateOfBirthtmp8_tmp_personAddresspersonAddresstmp9_tmp_personOrgIdpersonOrgIdtmp10_tmp_personGroupUidpersonGroupUidtmp11_tmp_personLctpersonLcttmp12_tmp_personCountrypersonCountrytmp13_tmp_personTypepersonTypetmp14_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNumtmp15_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNumtmp16_tmp_personLastChangedBypersonLastChangedBytmp17_tmp_adminadmintmp18_tmp_personNotespersonNotestmp19_tmp_fatherNamefatherNametmp20_tmp_fatherNumberfatherNumbertmp21_tmp_motherNamemotherNametmp22_tmp_motherNummotherNumtmp23_tmp_Person_isAllNullnotEXCLpersonPersonupdateRescheduledClazzLogUidsoldClazzLogUidnewClazzLogUidchangedTime | | UPDATE ClazzLogAttendanceRecord | SET clazzLogAttendanceRecordClazzLogUid = CAST(? AS BIGINT), | clazzLogAttendanceRecordLastChangedTime = CAST(? AS BIGINT) | WHERE clazzLogAttendanceRecordClazzLogUid = CAST(? AS BIGINT) | | | UPDATE ClazzLogAttendanceRecord | SET clazzLogAttendanceRecordClazzLogUid = ?, | clazzLogAttendanceRecordLastChangedTime = ? | WHERE clazzLogAttendanceRecordClazzLogUid = ? | |findByClazzAndTimecompositesPersonAndClazzLogAttendanceRecordclazzUidtime | | | WITH CurrentlyEnrolledPersonUids(enroledPersonUid) AS | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS enroledPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) | | | SELECT Person.*, ClazzLogAttendanceRecord.*, PersonPicture.* | FROM Person | LEFT JOIN ClazzLogAttendanceRecord | ON ClazzLogAttendanceRecord.clazzLogAttendanceRecordUid = | (SELECT ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordUid | FROM ClazzLogAttendanceRecord ClazzLogAttendanceRecordInner | WHERE ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordClazzLogUid = CAST(? AS BIGINT) | AND ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordPersonUid = Person.personUid | ORDER BY ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordLastChangedTime DESC | LIMIT 1 | ) | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT CurrentlyEnrolledPersonUids.enroledPersonUid | FROM CurrentlyEnrolledPersonUids) | | | | WITH CurrentlyEnrolledPersonUids(enroledPersonUid) AS | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS enroledPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) | | | SELECT Person.*, ClazzLogAttendanceRecord.*, PersonPicture.* | FROM Person | LEFT JOIN ClazzLogAttendanceRecord | ON ClazzLogAttendanceRecord.clazzLogAttendanceRecordUid = | (SELECT ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordUid | FROM ClazzLogAttendanceRecord ClazzLogAttendanceRecordInner | WHERE ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordClazzLogUid = ? | AND ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordPersonUid = Person.personUid | ORDER BY ClazzLogAttendanceRecordInner.clazzLogAttendanceRecordLastChangedTime DESC | LIMIT 1 | ) | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT CurrentlyEnrolledPersonUids.enroledPersonUid | FROM CurrentlyEnrolledPersonUids) | |_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUidtmp24_tmp_personPictureLctpersonPictureLcttmp25_tmp_personPictureUripersonPictureUritmp26_tmp_personPictureThumbnailUripersonPictureThumbnailUritmp27_tmp_fileSizefileSizetmp28_tmp_personPictureActivepersonPictureActivetmp29_tmp_PersonPicture_isAllNull_tmp_ClazzLogAttendanceRecord_nullCounttmp30tmp31tmp32tmp33tmp34tmp35tmp36tmp37_tmp_ClazzLogAttendanceRecord_isAllNullpersonPicturePersonPictureattendanceRecordu       "       "    !.          #  comustadmobilecoredbdaoClazzLogAttendanceRecordDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoClazzLogAttendanceRecordDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncentitiescollectionsListlibClazzLogAttendanceRecordreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByUiduid_resultupdateListAsyncfindByClazzLogUidClazzLogAttendanceRecordWithPersonclazzLogUidupdateRescheduledClazzLogUidsoldClazzLogUidnewClazzLogUidchangedTimewithRepoChangeMonitorFunction0findByClazzAndTimecompositesPersonAndClazzLogAttendanceRecordclazzUidtimehttpreplicateHttpRequestCatchAndLogClazzLogAttendanceRecordDao/findByClazzAndTime_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponseupsertListAsyncentityListinsertentityinsertAsyncinsertListupdateINSTANCE_RECEIVER>         "  !   comustadmobilecoredbdaoClazzLogDaoDEFINEDkotlinUnitAnyreplaceLongentitylibentitiesClazzLogfindByUiduidfindByUidAsyncfindByUidLivekotlinxcoroutinesflowFlowfindByClazzUidAsFactoryandroidxpagingPagingSourceIntclazzUidexcludeStatusfindByClazzUidAsynccollectionsListfindAllForClazzByClazzLogUidclazzLogUidfindByClazzUidWithinTimeRangeAsyncfromTimetoTimeexcludeStatusFilterlimitfindByClazzUidWithinTimeRangeCompanionMAX_VALUEGET_PROPERTYfindByClazzUidWithinTimeRangeLivestatusFilterclazzHasScheduleLiveBooleanupdateStatusByClazzLogUidnewStatustimeChangedupdateAsyncclazzLogfindMostRecentClazzLogToEditUidupsertListAsyncentityListINSTANCE_RECEIVERBaseDaot   "  = ?      "S!  O        < @<comustadmobilecoredbdaoClazzLogDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoClazzLogDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingreplaceLongentitylibentitiesClazzLogIllegalStateExceptionStringreplace: synchronous db access is NOT possible on Javascript!findByUiduidfindByUid: synchronous db access is NOT possible on Javascript!findByUidAsyncGET_PROPERTYfindByUidLivekotlinxcoroutinesflowFlowfindByClazzUidAsFactoryandroidxpagingPagingSourceIntclazzUidexcludeStatusfindByClazzUidAsynccollectionsListfindAllForClazzByClazzLogUidclazzLogUidfindByClazzUidWithinTimeRangeAsyncfromTimetoTimeexcludeStatusFilterlimitfindByClazzUidWithinTimeRangefindByClazzUidWithinTimeRange: synchronous db access is NOT possible on Javascript!findByClazzUidWithinTimeRangeLivestatusFilterclazzHasScheduleLiveBooleanupdateStatusByClazzLogUidnewStatustimeChangedupdateStatusByClazzLogUid: synchronous db access is NOT possible on Javascript!updateAsyncclazzLogclazzLogLastChangedTimeEQutilsystemTimeInMillisfindMostRecentClazzLogToEditUidupsertListAsyncentityList_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabase_generatedPksMutableListmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFinternalirEQEQ_newPknextIdAsyncplusAssignPLUSEQLAMBDAinsertinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER   "   f        #["   f   < 8        <  + ""\-! J]N pcomustadmobilecoredbdaoClazzLogDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitClazzLogDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterClazzLog_upsertEntityInsertionAdapterlibentitiesClazzLogOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO ClazzLog (clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongclazzLogUidsetObjectIntsetLongclazzLogClazzUidlogDatetimeRecordedsetBooleanclazzLogDonesetStringcancellationNoteclazzLogCancelledsetIntclazzLogNumPresentclazzLogNumAbsentclazzLogNumPartialclazzLogScheduleUidclazzLogStatusFlagclazzLogMSQNclazzLogLCSNclazzLogLCBclazzLogLastChangedTimeINSTANCE_RECEIVER_insertAdapterClazzLog_abortINSERT INTO ClazzLog (clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)replace_retValinsertAndReturnIdupsertListAsyncentityListcollectionsListinsertListAsyncinsertinsertAsyncinsertAndReturnIdAsyncinsertListupdateAsyncclazzLog_sqlUPDATE ClazzLog SET clazzLogClazzUid = ?, logDate = ?, timeRecorded = ?, clazzLogDone = ?, cancellationNote = ?, clazzLogCancelled = ?, clazzLogNumPresent = ?, clazzLogNumAbsent = ?, clazzLogNumPartial = ?, clazzLogScheduleUid = ?, clazzLogStatusFlag = ?, clazzLogMSQN = ?, clazzLogLCSN = ?, clazzLogLCB = ?, clazzLogLastChangedTime = ? WHERE clazzLogUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindByUiduidPreparedStatementConfigSELECT * FROM ClazzLog WHERE clazzLogUid = CAST(? AS BIGINT)texttrimMargin |SELECT * FROM ClazzLog WHERE clazzLogUid = ? |useResultsResultSetexecuteQuery_resultmapNextRowit_tmp_clazzLogUidgetLong_tmp_clazzLogClazzUid_tmp_logDate_tmp_timeRecorded_tmp_clazzLogDonegetBoolean_tmp_cancellationNotegetString_tmp_clazzLogCancelled_tmp_clazzLogNumPresentgetInt_tmp_clazzLogNumAbsent_tmp_clazzLogNumPartial_tmp_clazzLogScheduleUid_tmp_clazzLogStatusFlag_tmp_clazzLogMSQN_tmp_clazzLogLCSN_tmp_clazzLogLCB_tmp_clazzLogLastChangedTimeapplyExtensionFunctionType$this$applyEQfindByUidAsyncexecuteQueryAsyncKmpfindByUidLivekotlinxflowFlowdoorFlowArrayarrayOfSuspendFunction0 |SELECT * FROM ClazzLog WHERE clazzLogUid = ? |findByClazzUidAsFactoryandroidxpagingPagingSourceclazzUidexcludeStatusDoorLimitOffsetPagingSourceloadRows_limit_offset |SELECT * FROM ( | SELECT ClazzLog.* | FROM ClazzLog | WHERE clazzLogClazzUid = CAST(? AS BIGINT) | AND clazzLog.clazzLogStatusFlag != ? | ORDER BY ClazzLog.logDate DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT ClazzLog.* | FROM ClazzLog | WHERE clazzLogClazzUid = ? | AND clazzLog.clazzLogStatusFlag != ? | ORDER BY ClazzLog.logDate DESC | ) AS _PagingData LIMIT ? OFFSET ? |mapRowscountRows |SELECT COUNT(*) FROM ( | SELECT ClazzLog.* | FROM ClazzLog | WHERE clazzLogClazzUid = CAST(? AS BIGINT) | AND clazzLog.clazzLogStatusFlag != ? | ORDER BY ClazzLog.logDate DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT ClazzLog.* | FROM ClazzLog | WHERE clazzLogClazzUid = ? | AND clazzLog.clazzLogStatusFlag != ? | ORDER BY ClazzLog.logDate DESC | ) AS _PagingCount |findByClazzUidAsync | | SELECT ClazzLog.* | FROM ClazzLog | WHERE ClazzLog.clazzLogClazzUid = CAST(? AS BIGINT) | AND clazzLog.clazzLogStatusFlag != ? | ORDER BY ClazzLog.logDate ASC | | | SELECT ClazzLog.* | FROM ClazzLog | WHERE ClazzLog.clazzLogClazzUid = ? | AND clazzLog.clazzLogStatusFlag != ? | ORDER BY ClazzLog.logDate ASC | |findAllForClazzByClazzLogUid | | SELECT ClazzLog.* | FROM ClazzLog | WHERE ClazzLog.clazzLogClazzUid = | (SELECT ClazzLogInner.clazzLogClazzUid | FROM ClazzLog ClazzLogInner | WHERE ClazzLogInner.clazzLogUid = CAST(? AS BIGINT)) | AND clazzLog.clazzLogStatusFlag != ? | ORDER BY ClazzLog.logDate ASC | | | SELECT ClazzLog.* | FROM ClazzLog | WHERE ClazzLog.clazzLogClazzUid = | (SELECT ClazzLogInner.clazzLogClazzUid | FROM ClazzLog ClazzLogInner | WHERE ClazzLogInner.clazzLogUid = ?) | AND clazzLog.clazzLogStatusFlag != ? | ORDER BY ClazzLog.logDate ASC | |findByClazzUidWithinTimeRangeAsyncfromTimetoTimeexcludeStatusFilterlimit |SELECT ClazzLog.* FROM ClazzLog | WHERE | ClazzLog.clazzLogClazzUid = CAST(? AS BIGINT) | AND ClazzLog.logDate BETWEEN CAST(? AS BIGINT) AND CAST(? AS BIGINT) | AND (? = 0 OR ((ClazzLog.clazzLogStatusFlag & ?) = 0)) | ORDER BY ClazzLog.logDate DESC | LIMIT ? | |SELECT ClazzLog.* FROM ClazzLog | WHERE | ClazzLog.clazzLogClazzUid = ? | AND ClazzLog.logDate BETWEEN ? AND ? | AND (? = 0 OR ((ClazzLog.clazzLogStatusFlag & ?) = 0)) | ORDER BY ClazzLog.logDate DESC | LIMIT ? | |findByClazzUidWithinTimeRangefindByClazzUidWithinTimeRangeLivestatusFilter |SELECT ClazzLog.* FROM ClazzLog | WHERE | ClazzLog.clazzLogClazzUid = CAST(? AS BIGINT) | AND ClazzLog.logDate BETWEEN CAST(? AS BIGINT) AND CAST(? AS BIGINT) | AND (? = 0 OR ClazzLog.clazzLogStatusFlag = ?) | ORDER BY ClazzLog.logDate | |SELECT ClazzLog.* FROM ClazzLog | WHERE | ClazzLog.clazzLogClazzUid = ? | AND ClazzLog.logDate BETWEEN ? AND ? | AND (? = 0 OR ClazzLog.clazzLogStatusFlag = ?) | ORDER BY ClazzLog.logDate | |clazzHasScheduleLive | | SELECT EXISTS | (SELECT ClazzLog.clazzLogUid | FROM ClazzLog | WHERE clazzLogClazzUid = CAST(? AS BIGINT) | AND (? = 0 | OR ((ClazzLog.clazzLogStatusFlag & ?) = 0)) | ) | | | SELECT EXISTS | (SELECT ClazzLog.clazzLogUid | FROM ClazzLog | WHERE clazzLogClazzUid = ? | AND (? = 0 | OR ((ClazzLog.clazzLogStatusFlag & ?) = 0)) | ) | |updateStatusByClazzLogUidnewStatustimeChanged |UPDATE ClazzLog | SET clazzLogStatusFlag = ?, | clazzLogLastChangedTime = CAST(? AS BIGINT) | WHERE clazzLogUid = CAST(? AS BIGINT) |UPDATE ClazzLog | SET clazzLogStatusFlag = ?, | clazzLogLastChangedTime = ? | WHERE clazzLogUid = ? |findMostRecentClazzLogToEditUid | | SELECT COALESCE( | (SELECT ClazzLog.clazzLogUid | FROM ClazzLog | WHERE ClazzLog.clazzLogClazzUid = CAST(? AS BIGINT) | AND (ClazzLog.clazzLogStatusFlag & 8) != 8 | ORDER BY ClazzLog.logDate DESC | LIMIT 1), 0) | | | | | SELECT COALESCE( | (SELECT ClazzLog.clazzLogUid | FROM ClazzLog | WHERE ClazzLog.clazzLogClazzUid = ? | AND (ClazzLog.clazzLogStatusFlag & 8) != 8 | ORDER BY ClazzLog.logDate DESC | LIMIT 1), 0) | | | |      "          '#            #  ("!    comustadmobilecoredbdaoClazzLogDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoClazzLogDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingreplaceentitylibentitiesClazzLog_resultreplicationwithRepoChangeMonitorGET_PROPERTYFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByUiduidfindByUidAsyncfindByUidLivekotlinxcoroutinesflowFlowfindByClazzUidAsFactoryandroidxpagingPagingSourceIntclazzUidexcludeStatusDoorRepositoryReplicatePullPagingSourceClazzLogDao/findByClazzUidAsFactorySuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParamsBoolean_pagingParamshttpreplicateHttpRequestOrThrow_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompanionpagingSourceLoadParametersnullableonClientRepoDoorMessageHttpResponseendOfPaginationReachedfindByClazzUidAsynccollectionsListreplicateHttpRequestCatchAndLogClazzLogDao/findByClazzUidAsyncfindAllForClazzByClazzLogUidclazzLogUidClazzLogDao/findAllForClazzByClazzLogUidfindByClazzUidWithinTimeRangeAsyncfromTimetoTimeexcludeStatusFilterlimitfindByClazzUidWithinTimeRangefindByClazzUidWithinTimeRangeLivestatusFilterclazzHasScheduleLiveupdateStatusByClazzLogUidnewStatustimeChangedupdateAsyncclazzLogwithRepoChangeMonitorAsyncSuspendFunction0findMostRecentClazzLogToEditUidupsertListAsyncentityListinsertinsertAsyncinsertListupdateINSTANCE_RECEIVER,    )   0 . 5!(comustadmobilecoredbdaoCommentsDaoDEFINEDkotlinUnitAnyinsertAsyncLongcommentslibentitiesCommentsupdateDeletedByCommentUiduiddeletedBooleanchangeTimefindPrivateCommentsForUserByAssignmentUidandroidxpagingPagingSourceIntcompositesCommentsAndNameaccountPersonUidassignmentUidincludeDeletedfindPrivateCommentsForUserByAssignmentUidPersonscollectionsListPersonAndPicturefindPrivateCommentsForSubmitterByAssignmentUidsubmitterUidfindPrivateCommentsForSubmitterByAssignmentUidPersonsfindCourseCommentsByAssignmentUidfindCourseCommentsByAssignmentUidPersonsPersonINSTANCE_RECEIVERQ   "        )  0 . 5k!(comustadmobilecoredbdaoCommentsDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoCommentsDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsyncLongcommentslibentitiesComments_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQcommentsUid_newPknextIdAsyncIntEQcommentsLctutilsystemTimeInMillisupdateDeletedByCommentUiduiddeletedchangeTimefindPrivateCommentsForUserByAssignmentUidandroidxpagingPagingSourcecompositesCommentsAndNameaccountPersonUidassignmentUidincludeDeletedfindPrivateCommentsForUserByAssignmentUidPersonscollectionsListPersonAndPicturefindPrivateCommentsForSubmitterByAssignmentUidsubmitterUidfindPrivateCommentsForSubmitterByAssignmentUidPersonsIllegalStateExceptionStringfindPrivateCommentsForSubmitterByAssignmentUidPersons: synchronous db access is NOT possible on Javascript!findCourseCommentsByAssignmentUidfindCourseCommentsByAssignmentUidPersonsPersonINSTANCE_RECEIVERF   "         "    )    'x         o 0                     . hI_@5> !fW]N(pcomustadmobilecoredbdaoCommentsDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCommentsDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterComments_abortEntityInsertionAdapterlibentitiesCommentsOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO Comments (commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcommentsUidsetObjectIntsetLongsetStringcommentsTextcommentsEntityUidsetIntcommentsStatuscommentsFromPersonUidcommentsForSubmitterUidcommentsFromSubmitterUidsetBooleancommentsFlaggedcommentsDeletedcommentsDateTimeAddedcommentsLctINSTANCE_RECEIVERinsertAsynccomments_retValinsertAndReturnIdAsyncupdateDeletedByCommentUiduiddeletedchangeTimeextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | UPDATE Comments | SET commentsDeleted = ?, | commentsLct = CAST(? AS BIGINT) | WHERE Comments.commentsUid = CAST(? AS BIGINT) | | | UPDATE Comments | SET commentsDeleted = ?, | commentsLct = ? | WHERE Comments.commentsUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAfindPrivateCommentsForUserByAssignmentUidandroidxpagingPagingSourcecompositesCommentsAndNameaccountPersonUidassignmentUidincludeDeletedDoorLimitOffsetPagingSourceArrayarrayOfClazzAssignmentCourseGroupMemberClazzEnrolmentPersonPersonPictureloadRowscollectionsList_limit_offset |SELECT * FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsForSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | ) | AND Comments.commentsForSubmitterUid != 0 | AND Comments.commentsEntityUid = CAST(? AS BIGINT) | AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsForSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | ) | AND Comments.commentsForSubmitterUid != 0 | AND Comments.commentsEntityUid = ? | AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingData LIMIT ? OFFSET ? |useResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_firstNamesgetStringfirstNames_tmp_lastNamelastName_tmp_pictureUripictureUri_tmp_Comments_nullCount_tmp_commentsUidgetLongwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_commentsTexttmp1_tmp_commentsEntityUidtmp2_tmp_commentsStatusgetInttmp3_tmp_commentsFromPersonUidtmp4_tmp_commentsForSubmitterUidtmp5_tmp_commentsFromSubmitterUidtmp6_tmp_commentsFlaggedgetBooleantmp7_tmp_commentsDeletedtmp8_tmp_commentsDateTimeAddedtmp9_tmp_commentsLcttmp10_tmp_Comments_isAllNullapplyExtensionFunctionType$this$applyEQnotEXCLcommentcountRows |SELECT COUNT(*) FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsForSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | ) | AND Comments.commentsForSubmitterUid != 0 | AND Comments.commentsEntityUid = CAST(? AS BIGINT) | AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsForSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | ) | AND Comments.commentsForSubmitterUid != 0 | AND Comments.commentsEntityUid = ? | AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingCount |mapNextRowfindPrivateCommentsForUserByAssignmentUidPersonsPersonAndPicture | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT Comments.commentsFromPersonUid | FROM Comments | WHERE Comments.commentsForSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | ) | AND Comments.commentsForSubmitterUid != 0 | AND Comments.commentsEntityUid = CAST(? AS BIGINT) | AND CAST(Comments.commentsDeleted AS INTEGER) = 0) | | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT Comments.commentsFromPersonUid | FROM Comments | WHERE Comments.commentsForSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | ) | AND Comments.commentsForSubmitterUid != 0 | AND Comments.commentsEntityUid = ? | AND CAST(Comments.commentsDeleted AS INTEGER) = 0) | |_tmp_Person_nullCount_tmp_personUidpersonUid_tmp_usernameusername_tmp_emailAddremailAddr_tmp_phoneNumphoneNum_tmp_gendergender_tmp_activeactive_tmp_dateOfBirthdateOfBirth_tmp_personAddresspersonAddress_tmp_personOrgIdpersonOrgId_tmp_personGroupUidpersonGroupUidtmp11_tmp_personLctpersonLcttmp12_tmp_personCountrypersonCountrytmp13_tmp_personTypepersonTypetmp14_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNumtmp15_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNumtmp16_tmp_personLastChangedBypersonLastChangedBytmp17_tmp_adminadmintmp18_tmp_personNotespersonNotestmp19_tmp_fatherNamefatherNametmp20_tmp_fatherNumberfatherNumbertmp21_tmp_motherNamemotherNametmp22_tmp_motherNummotherNumtmp23_tmp_Person_isAllNull_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUidtmp24_tmp_personPictureLctpersonPictureLcttmp25_tmp_personPictureUripersonPictureUritmp26_tmp_personPictureThumbnailUripersonPictureThumbnailUritmp27_tmp_fileSizefileSizetmp28_tmp_personPictureActivepersonPictureActivetmp29_tmp_PersonPicture_isAllNullpersonpicturefindPrivateCommentsForSubmitterByAssignmentUidsubmitterUid |SELECT * FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsForSubmitterUid = CAST(? AS BIGINT) | AND Comments.commentsEntityUid = CAST(? AS BIGINT) | AND (NOT Comments.commentsDeleted OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsForSubmitterUid = ? | AND Comments.commentsEntityUid = ? | AND (NOT Comments.commentsDeleted OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingData LIMIT ? OFFSET ? | |SELECT COUNT(*) FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsForSubmitterUid = CAST(? AS BIGINT) | AND Comments.commentsEntityUid = CAST(? AS BIGINT) | AND (NOT Comments.commentsDeleted OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsForSubmitterUid = ? | AND Comments.commentsEntityUid = ? | AND (NOT Comments.commentsDeleted OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingCount |findPrivateCommentsForSubmitterByAssignmentUidPersonsprepareAndUseStatement | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT Comments.commentsFromPersonUid | FROM Comments | WHERE Comments.commentsForSubmitterUid = CAST(? AS BIGINT) | AND Comments.commentsEntityUid = CAST(? AS BIGINT) | AND NOT Comments.commentsDeleted) | | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT Comments.commentsFromPersonUid | FROM Comments | WHERE Comments.commentsForSubmitterUid = ? | AND Comments.commentsEntityUid = ? | AND NOT Comments.commentsDeleted) | |executeQueryfindCourseCommentsByAssignmentUid |SELECT * FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsEntityUid = CAST(? AS BIGINT) | AND Comments.commentsForSubmitterUid = 0 | AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsEntityUid = ? | AND Comments.commentsForSubmitterUid = 0 | AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingData LIMIT ? OFFSET ? | |SELECT COUNT(*) FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsEntityUid = CAST(? AS BIGINT) | AND Comments.commentsForSubmitterUid = 0 | AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT Comments.*, | Person.firstNames AS firstNames, | Person.lastName AS lastName, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Comments.commentsFromPersonUid | WHERE Comments.commentsEntityUid = ? | AND Comments.commentsForSubmitterUid = 0 | AND (CAST(Comments.commentsDeleted AS INTEGER) = 0 OR CAST(? AS INTEGER) = 1) | ORDER BY Comments.commentsDateTimeAdded DESC | ) AS _PagingCount |findCourseCommentsByAssignmentUidPersons | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT Comments.commentsFromPersonUid | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | WHERE Comments.commentsEntityUid = CAST(? AS BIGINT) | AND Comments.commentsForSubmitterUid = 0) | | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT Comments.commentsFromPersonUid | FROM Comments | LEFT JOIN Person | ON Person.personUid = Comments.commentsFromPersonUid | WHERE Comments.commentsEntityUid = ? | AND Comments.commentsForSubmitterUid = 0) | |      "       )   '5             #0 . :5!-(comustadmobilecoredbdaoCommentsDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoCommentsDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsynccommentslibentitiesComments_resultreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupdateDeletedByCommentUiduiddeletedBooleanchangeTimefindPrivateCommentsForUserByAssignmentUidandroidxpagingPagingSourceIntcompositesCommentsAndNameaccountPersonUidassignmentUidincludeDeletedDoorRepositoryReplicatePullPagingSourceCommentsDao/findPrivateCommentsForUserByAssignmentUidSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParams_pagingParamshttpreplicateHttpRequestOrThrowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompanionpagingSourceLoadParametersnullableonClientRepoDoorMessageHttpResponseendOfPaginationReachedfindPrivateCommentsForUserByAssignmentUidPersonscollectionsListPersonAndPicturefindPrivateCommentsForSubmitterByAssignmentUidsubmitterUidCommentsDao/findPrivateCommentsForSubmitterByAssignmentUidfindPrivateCommentsForSubmitterByAssignmentUidPersonsfindCourseCommentsByAssignmentUidCommentsDao/findCourseCommentsByAssignmentUidfindCourseCommentsByAssignmentUidPersonsPersonINSTANCE_RECEIVER  comustadmobilecoredbdaoContentCategoryDaoDEFINEDkotlinUnitAnypublicContentCategoriescollectionsListlibentitiesContentCategoryfindCategoryBySchemaIdAndNameschemaIdLongnameStringINSTANCE_RECEIVERBaseDaoH  "   MS<    @<comustadmobilecoredbdaoContentCategoryDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoContentCategoryDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingpublicContentCategoriescollectionsListlibentitiesContentCategoryIllegalStateExceptionStringpublicContentCategories: synchronous db access is NOT possible on Javascript!findCategoryBySchemaIdAndNameschemaIdLongnamefindCategoryBySchemaIdAndName: synchronous db access is NOT possible on Javascript!insertentityinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQcontentCategoryUid_newPknextIdAsyncIntEQcontentCategoryLctutilsystemTimeInMillisinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER{  " #   $  &!'")     - # %&! $ &'"c _ comustadmobilecoredbdaoContentCategoryDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitContentCategoryDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterContentCategory_abortEntityInsertionAdapterlibentitiesContentCategoryOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ContentCategory (contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct) VALUES(?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcontentCategoryUidsetObjectIntsetLongctnCatContentCategorySchemaUidsetStringnamecontentCategoryLocalChangeSeqNumcontentCategoryMasterChangeSeqNumsetIntcontentCategoryLastChangedBycontentCategoryLctINSTANCE_RECEIVERinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListcollectionsListupdate_sqlUPDATE ContentCategory SET ctnCatContentCategorySchemaUid = ?, name = ?, contentCategoryLocalChangeSeqNum = ?, contentCategoryMasterChangeSeqNum = ?, contentCategoryLastChangedBy = ?, contentCategoryLct = ? WHERE contentCategoryUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDApublicContentCategoriesPreparedStatementConfigSELECT ContentCategory.* FROM ContentCategoryuseResultsResultSetexecuteQuery_resultmapRowsit_tmp_contentCategoryUidgetLong_tmp_ctnCatContentCategorySchemaUid_tmp_namegetString_tmp_contentCategoryLocalChangeSeqNum_tmp_contentCategoryMasterChangeSeqNum_tmp_contentCategoryLastChangedBygetInt_tmp_contentCategoryLctapplyExtensionFunctionType$this$applyEQfindCategoryBySchemaIdAndNameschemaIdSELECT * FROM ContentCategory WHERE ctnCatContentCategorySchemaUid = CAST(? AS BIGINT) AND name = ?texttrimMargin |SELECT * FROM ContentCategory WHERE ctnCatContentCategorySchemaUid = ? AND name = ? |mapNextRowG      "          comustadmobilecoredbdaoContentCategoryDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoContentCategoryDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingpublicContentCategoriescollectionsListlibentitiesContentCategory_resultGET_PROPERTYfindCategoryBySchemaIdAndNameschemaIdnameinsertentityreplicationwithRepoChangeMonitorFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAinsertAsyncwithRepoChangeMonitorAsynccoroutinesSuspendFunction0insertListentityListupdateINSTANCE_RECEIVER   comustadmobilecoredbdaoContentCategorySchemaDaoDEFINEDkotlinUnitAnypublicContentCategorySchemascollectionsListlibentitiesContentCategorySchemafindBySchemaUrlschemaUrlStringINSTANCE_RECEIVERBaseDaoG $ "   R E<    @<comustadmobilecoredbdaoContentCategorySchemaDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoContentCategorySchemaDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingpublicContentCategorySchemascollectionsListlibentitiesContentCategorySchemaIllegalStateExceptionStringpublicContentCategorySchemas: synchronous db access is NOT possible on Javascript!findBySchemaUrlschemaUrlfindBySchemaUrl: synchronous db access is NOT possible on Javascript!insertLongentityinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQcontentCategorySchemaUid_newPknextIdAsyncIntEQcontentCategorySchemaLctutilsystemTimeInMillisinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVERw ! " )     &,'-"(/     9  +,' ,-(7 comustadmobilecoredbdaoContentCategorySchemaDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitContentCategorySchemaDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterContentCategorySchema_abortEntityInsertionAdapterlibentitiesContentCategorySchemaOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ContentCategorySchema (contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct) VALUES(?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcontentCategorySchemaUidsetObjectIntsetLongsetStringschemaNameschemaUrlcontentCategorySchemaLocalChangeSeqNumcontentCategorySchemaMasterChangeSeqNumsetIntcontentCategorySchemaLastChangedBycontentCategorySchemaLctINSTANCE_RECEIVERinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListcollectionsListupdate_sqlUPDATE ContentCategorySchema SET schemaName = ?, schemaUrl = ?, contentCategorySchemaLocalChangeSeqNum = ?, contentCategorySchemaMasterChangeSeqNum = ?, contentCategorySchemaLastChangedBy = ?, contentCategorySchemaLct = ? WHERE contentCategorySchemaUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDApublicContentCategorySchemasPreparedStatementConfigSELECT ContentCategorySchema.* FROM ContentCategorySchemauseResultsResultSetexecuteQuery_resultmapRowsit_tmp_contentCategorySchemaUidgetLong_tmp_schemaNamegetString_tmp_schemaUrl_tmp_contentCategorySchemaLocalChangeSeqNum_tmp_contentCategorySchemaMasterChangeSeqNum_tmp_contentCategorySchemaLastChangedBygetInt_tmp_contentCategorySchemaLctapplyExtensionFunctionType$this$applyEQfindBySchemaUrlSELECT * FROM ContentCategorySchema WHERE schemaUrl = ?mapNextRowF      "           comustadmobilecoredbdaoContentCategorySchemaDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoContentCategorySchemaDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingpublicContentCategorySchemascollectionsListlibentitiesContentCategorySchema_resultGET_PROPERTYfindBySchemaUrlschemaUrlinsertentityreplicationwithRepoChangeMonitorFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAinsertAsyncwithRepoChangeMonitorAsynccoroutinesSuspendFunction0insertListentityListupdateINSTANCE_RECEIVER "&   comustadmobilecoredbdaoContentEntryContentCategoryJoinDaoDEFINEDkotlinUnitAnypublicContentEntryContentCategoryJoinscollectionsListlibentitiesContentEntryContentCategoryJoinfindJoinByParentChildUuidscategoryUidLongcontentEntryINSTANCE_RECEIVERBaseDaoH . ""  & \  P<    @<comustadmobilecoredbdaoContentEntryContentCategoryJoinDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoContentEntryContentCategoryJoinDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingpublicContentEntryContentCategoryJoinscollectionsListlibentitiesContentEntryContentCategoryJoinIllegalStateExceptionStringpublicContentEntryContentCategoryJoins: synchronous db access is NOT possible on Javascript!findJoinByParentChildUuidscategoryUidLongcontentEntryfindJoinByParentChildUuids: synchronous db access is NOT possible on Javascript!insertentityinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQceccjUid_newPknextIdAsyncIntEQceccjLctutilsystemTimeInMillisinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVERz + "" 3   9     &      x comustadmobilecoredbdaoContentEntryContentCategoryJoinDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitContentEntryContentCategoryJoinDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterContentEntryContentCategoryJoin_abortEntityInsertionAdapterlibentitiesContentEntryContentCategoryJoinOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ContentEntryContentCategoryJoin (ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct) VALUES(?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongceccjUidsetObjectIntsetLongceccjContentEntryUidceccjContentCategoryUidceccjLocalChangeSeqNumceccjMasterChangeSeqNumsetIntceccjLastChangedByceccjLctINSTANCE_RECEIVERinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListcollectionsListupdate_sqlUPDATE ContentEntryContentCategoryJoin SET ceccjContentEntryUid = ?, ceccjContentCategoryUid = ?, ceccjLocalChangeSeqNum = ?, ceccjMasterChangeSeqNum = ?, ceccjLastChangedBy = ?, ceccjLct = ? WHERE ceccjUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDApublicContentEntryContentCategoryJoinsPreparedStatementConfigSELECT ContentEntryContentCategoryJoin.* FROM ContentEntryContentCategoryJoin LEFT JOIN ContentEntry ON ContentEntryContentCategoryJoin.ceccjContentEntryUid = ContentEntry.contentEntryUid WHERE ContentEntry.publikuseResultsResultSetexecuteQuery_resultmapRowsit_tmp_ceccjUidgetLong_tmp_ceccjContentEntryUid_tmp_ceccjContentCategoryUid_tmp_ceccjLocalChangeSeqNum_tmp_ceccjMasterChangeSeqNum_tmp_ceccjLastChangedBygetInt_tmp_ceccjLctapplyExtensionFunctionType$this$applyEQfindJoinByParentChildUuidscategoryUidcontentEntrySELECT * from ContentEntryContentCategoryJoin WHERE ceccjContentCategoryUid = CAST(? AS BIGINT) AND ceccjContentEntryUid = CAST(? AS BIGINT)texttrimMargin |SELECT * from ContentEntryContentCategoryJoin WHERE ceccjContentCategoryUid = ? AND ceccjContentEntryUid = ? |mapNextRowG '  "   "  &         comustadmobilecoredbdaoContentEntryContentCategoryJoinDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoContentEntryContentCategoryJoinDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingpublicContentEntryContentCategoryJoinscollectionsListlibentitiesContentEntryContentCategoryJoin_resultGET_PROPERTYfindJoinByParentChildUuidscategoryUidcontentEntryinsertentityreplicationwithRepoChangeMonitorFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAinsertAsyncwithRepoChangeMonitorAsynccoroutinesSuspendFunction0insertListentityListupdateINSTANCE_RECEIVERW   #  &    )" *3   "   comustadmobilecoredbdaoContentEntryDaoDEFINEDkotlinUnitAnyinsertListAsyncentityListcollectionsListlibentitiesContentEntryupsertAsyncentityfindByUidAsyncentryUidLongfindEntryWithLanguageByEntryIdAsynccompositesContentEntryAndLanguageentryUuidfindByUidWithEditDetailsContentEntryAndPictureuidfindByContentEntryUidWithDetailsAsFlowkotlinxcoroutinesflowFlowContentEntryAndDetailcontentEntryUidclazzUidcourseBlockUidaccountPersonUidfindBySourceUrlsourceUrlStringfindTitleByUidAsyncgetChildrenByParentUidandroidxpagingPagingSourceIntparentUidgetChildrenByParentAsyncgetCountNumberOfChildrenByParentUUidAsyncgetContentByUuidAsyncfindAllLanguageRelatedEntriesAsyncupdateBaseDaofindByUidWithLanguageAsyncContentEntryWithLanguagefindByUidfindByTitletitlefindBySourceUrlWithContentEntryStatusAsyncgetChildrenByParentUidWithCategoryFilterOrderByNameContentEntryAndListDetaillangParamcategoryParam0sortOrderincludeDeletedBooleangetContentFromMyCoursesgetContentByOwnerupdateAsyncgetChildrenByAllfindLiveContentEntrygetContentEntryUidFromXapiObjectIdobjectIdfindSimilarIdEntryForKhanupdateContentEntryInActiveceInactivechangedTimeupdateContentEntryContentFlagcontentFlaggetContentEntryFromUidsUidAndLabelcontentEntryUidsINSTANCE_RECEIVER  "            #  &  E )"< ? *3   F"XO P S < @comustadmobilecoredbdaoContentEntryDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoContentEntryDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncentityListcollectionsListlibentitiesContentEntry_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabase_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQcontentEntryUid_newPknextIdAsyncIntEQplusAssignPLUSEQcontentEntryLctutilsystemTimeInMillisLAMBDAupsertAsyncentityfindByUidAsyncentryUidfindEntryWithLanguageByEntryIdAsynccompositesContentEntryAndLanguageentryUuidfindByUidWithEditDetailsContentEntryAndPictureuidfindByContentEntryUidWithDetailsAsFlowkotlinxcoroutinesflowFlowContentEntryAndDetailclazzUidcourseBlockUidaccountPersonUidfindBySourceUrlsourceUrlStringIllegalStateExceptionfindBySourceUrl: synchronous db access is NOT possible on Javascript!findTitleByUidAsyncgetChildrenByParentUidandroidxpagingPagingSourceparentUidgetChildrenByParentAsyncgetCountNumberOfChildrenByParentUUidAsyncgetContentByUuidAsyncfindAllLanguageRelatedEntriesAsyncupdateupdate: synchronous db access is NOT possible on Javascript!findByUidWithLanguageAsyncContentEntryWithLanguagefindByUidfindByUid: synchronous db access is NOT possible on Javascript!findByTitletitlefindBySourceUrlWithContentEntryStatusAsyncgetChildrenByParentUidWithCategoryFilterOrderByNameContentEntryAndListDetaillangParamcategoryParam0sortOrderincludeDeletedgetContentFromMyCoursesgetContentByOwnerupdateAsyncgetChildrenByAllgetChildrenByAll: synchronous db access is NOT possible on Javascript!findLiveContentEntrygetContentEntryUidFromXapiObjectIdobjectIdgetContentEntryUidFromXapiObjectId: synchronous db access is NOT possible on Javascript!findSimilarIdEntryForKhanfindSimilarIdEntryForKhan: synchronous db access is NOT possible on Javascript!updateContentEntryInActiveceInactivechangedTimeupdateContentEntryInActive: synchronous db access is NOT possible on Javascript!updateContentEntryContentFlagcontentFlagupdateContentEntryContentFlag: synchronous db access is NOT possible on Javascript!getContentEntryFromUidsUidAndLabelcontentEntryUidsinsertinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER&  "                      #$&!'        D @      "#    #$#  *        K,#   #   & Fw"     "            6 HD && _P)LH"2# **H3   q*    *! h90ulL"1      comustadmobilecoredbdaoContentEntryDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitContentEntryDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterContentEntry_abortEntityInsertionAdapterlibentitiesContentEntryOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ContentEntry (contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcontentEntryUidsetObjectIntsetLongsetStringtitledescriptionentryIdauthorpublishersetIntlicenseTypelicenseNamelicenseUrlsourceUrlthumbnailUrllastModifiedprimaryLanguageUidlanguageVariantUidcontentFlagssetBooleanleafpublikceInactivecompletionCriteriaminScorecontentTypeFlagcontentOwnercontentOwnerTypecontentEntryLocalChangeSeqNumcontentEntryMasterChangeSeqNumcontentEntryLastChangedBycontentEntryLctINSTANCE_RECEIVER_insertAdapterContentEntry_upsertINSERT OR REPLACE INTO ContentEntry (contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)insertListAsyncentityListcollectionsListupsertAsyncinsertAsyncinsert_retValinsertAndReturnIdinsertAndReturnIdAsyncinsertListupdate_sqlUPDATE ContentEntry SET title = ?, description = ?, entryId = ?, author = ?, publisher = ?, licenseType = ?, licenseName = ?, licenseUrl = ?, sourceUrl = ?, thumbnailUrl = ?, lastModified = ?, primaryLanguageUid = ?, languageVariantUid = ?, contentFlags = ?, leaf = ?, publik = ?, ceInactive = ?, completionCriteria = ?, minScore = ?, contentTypeFlag = ?, contentOwner = ?, contentOwnerType = ?, contentEntryLocalChangeSeqNum = ?, contentEntryMasterChangeSeqNum = ?, contentEntryLastChangedBy = ?, contentEntryLct = ? WHERE contentEntryUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDAupdateAsync_resultprepareAndUseStatementAsynccoroutinesSuspendFunction1plusPLUSEQexecuteUpdateAsyncKmpfindByUidAsyncentryUidPreparedStatementConfigSELECT * FROM ContentEntry WHERE contentEntryUid = CAST(? AS BIGINT)texttrimMargin |SELECT * FROM ContentEntry WHERE contentEntryUid = ? |useResultsResultSetexecuteQueryAsyncKmpmapNextRowit_tmp_contentEntryUidgetLong_tmp_titlegetString_tmp_description_tmp_entryId_tmp_author_tmp_publisher_tmp_licenseTypegetInt_tmp_licenseName_tmp_licenseUrl_tmp_sourceUrl_tmp_thumbnailUrl_tmp_lastModified_tmp_primaryLanguageUid_tmp_languageVariantUid_tmp_contentFlags_tmp_leafgetBoolean_tmp_publik_tmp_ceInactive_tmp_completionCriteria_tmp_minScore_tmp_contentTypeFlag_tmp_contentOwner_tmp_contentOwnerType_tmp_contentEntryLocalChangeSeqNum_tmp_contentEntryMasterChangeSeqNum_tmp_contentEntryLastChangedBy_tmp_contentEntryLctapplyExtensionFunctionType$this$applyEQfindEntryWithLanguageByEntryIdAsynccompositesContentEntryAndLanguageentryUuid | | SELECT ContentEntry.*, Language.* | FROM ContentEntry | LEFT JOIN Language | ON Language.langUid = ContentEntry.primaryLanguageUid | WHERE ContentEntry.contentEntryUid=CAST(? AS BIGINT) | | | SELECT ContentEntry.*, Language.* | FROM ContentEntry | LEFT JOIN Language | ON Language.langUid = ContentEntry.primaryLanguageUid | WHERE ContentEntry.contentEntryUid=? | |_tmp_ContentEntry_nullCountwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inctmp1tmp2tmp3tmp4tmp5tmp6tmp7tmp8tmp9tmp10tmp11tmp12tmp13tmp14tmp15tmp16tmp17tmp18tmp19tmp20tmp21tmp22tmp23tmp24tmp25tmp26_tmp_ContentEntry_isAllNull_tmp_Language_nullCount_tmp_langUidlangUidtmp27_tmp_namenametmp28_tmp_iso_639_1_standardiso_639_1_standardtmp29_tmp_iso_639_2_standardiso_639_2_standardtmp30_tmp_iso_639_3_standardiso_639_3_standardtmp31_tmp_Language_TypeLanguage_Typetmp32_tmp_languageActivelanguageActivetmp33_tmp_langLocalChangeSeqNumlangLocalChangeSeqNumtmp34_tmp_langMasterChangeSeqNumlangMasterChangeSeqNumtmp35_tmp_langLastChangedBylangLastChangedBytmp36_tmp_langLctlangLcttmp37_tmp_Language_isAllNullnotEXCLcontentEntrylanguageLanguagefindByUidWithEditDetailsContentEntryAndPictureuid | | SELECT ContentEntry.*, ContentEntryPicture2.* | FROM ContentEntry | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = CAST(? AS BIGINT) | WHERE ContentEntry.contentEntryUid = CAST(? AS BIGINT) | | | SELECT ContentEntry.*, ContentEntryPicture2.* | FROM ContentEntry | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ? | WHERE ContentEntry.contentEntryUid = ? | |_tmp_ContentEntryPicture2_nullCount_tmp_cepUidcepUid_tmp_cepLctcepLct_tmp_cepPictureUricepPictureUri_tmp_cepThumbnailUricepThumbnailUri_tmp_ContentEntryPicture2_isAllNullentrypictureContentEntryPicture2findByContentEntryUidWithDetailsAsFlowkotlinxflowFlowContentEntryAndDetailclazzUidcourseBlockUidaccountPersonUiddoorFlowArrayarrayOfContentEntryVersionCourseBlockClazzEnrolmentStatementEntitySuspendFunction0 | | -- When the user is viewing ContentEntryDetail where the class is specified eg | -- for a ContentEntry that is part of a Clazz then results information will only be | -- included if the user is a student in the class | -- If the user is viewing the ContentEntryDetail via the library then the results | -- information will always be included | WITH IncludeResults(includeResults) AS ( | SELECT CAST( | (SELECT (CAST(? AS BIGINT) = 0) | OR ( | (SELECT EXISTS( | SELECT 1 | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000)) | ) | ) AS INTEGER) | ) | | SELECT ContentEntry.*, ContentEntryVersion.*, ContentEntryPicture2.*, | CAST(? AS BIGINT) AS sPersonUid, | CAST(? AS BIGINT) AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | FROM ContentEntry | LEFT JOIN ContentEntryVersion | ON ContentEntryVersion.cevUid = | (SELECT ContentEntryVersion.cevUid | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT) | AND CAST(cevInActive AS INTEGER) = 0 | ORDER BY ContentEntryVersion.cevLct DESC | LIMIT 1) | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = CAST(? AS BIGINT) | WHERE ContentEntry.contentEntryUid = CAST(? AS BIGINT) | | | -- When the user is viewing ContentEntryDetail where the class is specified eg | -- for a ContentEntry that is part of a Clazz then results information will only be | -- included if the user is a student in the class | -- If the user is viewing the ContentEntryDetail via the library then the results | -- information will always be included | WITH IncludeResults(includeResults) AS ( | SELECT CAST( | (SELECT (? = 0) | OR ( | (SELECT EXISTS( | SELECT 1 | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000)) | ) | ) AS INTEGER) | ) | | SELECT ContentEntry.*, ContentEntryVersion.*, ContentEntryPicture2.*, | ? AS sPersonUid, | ? AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | FROM ContentEntry | LEFT JOIN ContentEntryVersion | ON ContentEntryVersion.cevUid = | (SELECT ContentEntryVersion.cevUid | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = ? | AND CAST(cevInActive AS INTEGER) = 0 | ORDER BY ContentEntryVersion.cevLct DESC | LIMIT 1) | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ? | WHERE ContentEntry.contentEntryUid = ? | |_tmp_ContentEntryVersion_nullCount_tmp_cevUidcevUid_tmp_cevContentEntryUidcevContentEntryUid_tmp_cevOpenUricevOpenUri_tmp_cevContentTypecevContentType_tmp_cevManifestUrlcevManifestUrl_tmp_cevSizecevSize_tmp_cevInActivecevInActive_tmp_cevLastModifiedcevLastModified_tmp_cevLctcevLct_tmp_cevStorageSizecevStorageSize_tmp_cevOriginalSizecevOriginalSize_tmp_ContentEntryVersion_isAllNulltmp38tmp39tmp40tmp41_tmp_BlockStatus_nullCount_tmp_sPersonUidsPersonUidtmp42_tmp_sCbUidsCbUidtmp43_tmp_sProgressgetIntNullablesProgresstmp44_tmp_sIsCompletedsIsCompletedtmp45_tmp_sIsSuccessgetBooleanNullablesIsSuccesstmp46_tmp_sScoreScaledFloatgetFloatNullablesScoreScaledtmp47_tmp_BlockStatus_isAllNulllatestVersionstatusBlockStatusfindBySourceUrlSELECT * FROM ContentEntry WHERE sourceUrl = ? LIMIT 1executeQueryfindTitleByUidAsyncSELECT title FROM ContentEntry WHERE contentEntryUid = CAST(? AS BIGINT) |SELECT title FROM ContentEntry WHERE contentEntryUid = ? |getChildrenByParentUidandroidxpagingPagingSourceparentUidDoorLimitOffsetPagingSourceContentEntryParentChildJoinloadRows_limit_offsetSELECT * FROM (SELECT ContentEntry.* FROM ContentEntry LEFT Join ContentEntryParentChildJoin ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = CAST(? AS BIGINT)) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM (SELECT ContentEntry.* FROM ContentEntry LEFT Join ContentEntryParentChildJoin ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = ?) AS _PagingData LIMIT ? OFFSET ? |mapRowscountRowsSELECT COUNT(*) FROM (SELECT ContentEntry.* FROM ContentEntry LEFT Join ContentEntryParentChildJoin ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = CAST(? AS BIGINT)) AS _PagingCount |SELECT COUNT(*) FROM (SELECT ContentEntry.* FROM ContentEntry LEFT Join ContentEntryParentChildJoin ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = ?) AS _PagingCount |getChildrenByParentAsync | | SELECT ContentEntry.* | FROM ContentEntryParentChildJoin | JOIN ContentEntry | ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid | WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = CAST(? AS BIGINT) | | | SELECT ContentEntry.* | FROM ContentEntryParentChildJoin | JOIN ContentEntry | ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid | WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = ? | |getCountNumberOfChildrenByParentUUidAsyncSELECT COUNT(*) FROM ContentEntry LEFT Join ContentEntryParentChildJoin ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = CAST(? AS BIGINT) |SELECT COUNT(*) FROM ContentEntry LEFT Join ContentEntryParentChildJoin ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = ? |getContentByUuidAsyncSELECT * FROM ContentEntry where contentEntryUid = CAST(? AS BIGINT) LIMIT 1 |SELECT * FROM ContentEntry where contentEntryUid = ? LIMIT 1 |findAllLanguageRelatedEntriesAsyncSELECT ContentEntry.* FROM ContentEntry LEFT JOIN ContentEntryRelatedEntryJoin ON ContentEntryRelatedEntryJoin.cerejRelatedEntryUid = ContentEntry.contentEntryUid WHERE ContentEntryRelatedEntryJoin.relType = 1 AND ContentEntryRelatedEntryJoin.cerejRelatedEntryUid != CAST(? AS BIGINT) |SELECT ContentEntry.* FROM ContentEntry LEFT JOIN ContentEntryRelatedEntryJoin ON ContentEntryRelatedEntryJoin.cerejRelatedEntryUid = ContentEntry.contentEntryUid WHERE ContentEntryRelatedEntryJoin.relType = 1 AND ContentEntryRelatedEntryJoin.cerejRelatedEntryUid != ? |findByUidWithLanguageAsyncContentEntryWithLanguage | | SELECT ContentEntry.*, Language.* | FROM ContentEntry | LEFT JOIN Language | ON Language.langUid = ContentEntry.primaryLanguageUid | WHERE ContentEntry.contentEntryUid = CAST(? AS BIGINT) | | | SELECT ContentEntry.*, Language.* | FROM ContentEntry | LEFT JOIN Language | ON Language.langUid = ContentEntry.primaryLanguageUid | WHERE ContentEntry.contentEntryUid = ? | |findByUidfindByTitleSELECT * FROM ContentEntry WHERE title = ?findBySourceUrlWithContentEntryStatusAsyncSELECT ContentEntry.* FROM ContentEntry WHERE ContentEntry.sourceUrl = ?getChildrenByParentUidWithCategoryFilterOrderByNameContentEntryAndListDetaillangParamcategoryParam0sortOrderincludeDeletedContentEntryContentCategoryJoin |SELECT * FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | CAST(? AS BIGINT) AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM ContentEntry | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = CAST(? AS BIGINT) | AND (CAST(? AS BIGINT) = 0 OR ContentEntry.primaryLanguageUid = CAST(? AS BIGINT)) | AND (CAST(? AS BIGINT) = 0 OR CAST(? AS BIGINT) | IN (SELECT ceccjContentCategoryUid | FROM ContentEntryContentCategoryJoin | WHERE ceccjContentEntryUid = ContentEntry.contentEntryUid)) | AND (CAST(? AS INTEGER) = 1 OR CAST(ContentEntryParentChildJoin.cepcjDeleted AS INTEGER) = 0) | ORDER BY ContentEntryParentChildJoin.childIndex, | CASE(?) | WHEN 1 THEN ContentEntry.title | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN ContentEntry.title | ELSE '' | END DESC, | ContentEntry.contentEntryUid) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | ? AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM ContentEntry | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = ? | AND (? = 0 OR ContentEntry.primaryLanguageUid = ?) | AND (? = 0 OR ? | IN (SELECT ceccjContentCategoryUid | FROM ContentEntryContentCategoryJoin | WHERE ceccjContentEntryUid = ContentEntry.contentEntryUid)) | AND (CAST(? AS INTEGER) = 1 OR CAST(ContentEntryParentChildJoin.cepcjDeleted AS INTEGER) = 0) | ORDER BY ContentEntryParentChildJoin.childIndex, | CASE(?) | WHEN 1 THEN ContentEntry.title | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN ContentEntry.title | ELSE '' | END DESC, | ContentEntry.contentEntryUid) AS _PagingData LIMIT ? OFFSET ? |_tmp_ContentEntryParentChildJoin_nullCount_tmp_cepcjUidcepcjUid_tmp_cepcjLocalChangeSeqNumcepcjLocalChangeSeqNum_tmp_cepcjMasterChangeSeqNumcepcjMasterChangeSeqNum_tmp_cepcjLastChangedBycepcjLastChangedBy_tmp_cepcjLctcepcjLct_tmp_cepcjDeletedcepcjDeleted_tmp_cepcjParentContentEntryUidcepcjParentContentEntryUid_tmp_cepcjChildContentEntryUidcepcjChildContentEntryUid_tmp_childIndexchildIndex_tmp_ContentEntryParentChildJoin_isAllNullcontentEntryParentChildJoin |SELECT COUNT(*) FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | CAST(? AS BIGINT) AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM ContentEntry | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = CAST(? AS BIGINT) | AND (CAST(? AS BIGINT) = 0 OR ContentEntry.primaryLanguageUid = CAST(? AS BIGINT)) | AND (CAST(? AS BIGINT) = 0 OR CAST(? AS BIGINT) | IN (SELECT ceccjContentCategoryUid | FROM ContentEntryContentCategoryJoin | WHERE ceccjContentEntryUid = ContentEntry.contentEntryUid)) | AND (CAST(? AS INTEGER) = 1 OR CAST(ContentEntryParentChildJoin.cepcjDeleted AS INTEGER) = 0) | ORDER BY ContentEntryParentChildJoin.childIndex, | CASE(?) | WHEN 1 THEN ContentEntry.title | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN ContentEntry.title | ELSE '' | END DESC, | ContentEntry.contentEntryUid) AS _PagingCount |SELECT COUNT(*) FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | ? AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM ContentEntry | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = ? | AND (? = 0 OR ContentEntry.primaryLanguageUid = ?) | AND (? = 0 OR ? | IN (SELECT ceccjContentCategoryUid | FROM ContentEntryContentCategoryJoin | WHERE ceccjContentEntryUid = ContentEntry.contentEntryUid)) | AND (CAST(? AS INTEGER) = 1 OR CAST(ContentEntryParentChildJoin.cepcjDeleted AS INTEGER) = 0) | ORDER BY ContentEntryParentChildJoin.childIndex, | CASE(?) | WHEN 1 THEN ContentEntry.title | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN ContentEntry.title | ELSE '' | END DESC, | ContentEntry.contentEntryUid) AS _PagingCount |getContentFromMyCourses |SELECT * FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | CAST(? AS BIGINT) AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM CourseBlock | JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | AND CAST(CourseBlock.cbActive AS INTEGER) = 1 | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0 | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE CourseBlock.cbClazzUid IN | (SELECT ClazzEnrolment.clazzEnrolmentClazzUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)) | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | ? AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM CourseBlock | JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | AND CAST(CourseBlock.cbActive AS INTEGER) = 1 | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0 | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE CourseBlock.cbClazzUid IN | (SELECT ClazzEnrolment.clazzEnrolmentClazzUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?) | ) AS _PagingData LIMIT ? OFFSET ? | |SELECT COUNT(*) FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | CAST(? AS BIGINT) AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM CourseBlock | JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | AND CAST(CourseBlock.cbActive AS INTEGER) = 1 | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0 | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE CourseBlock.cbClazzUid IN | (SELECT ClazzEnrolment.clazzEnrolmentClazzUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT)) | ) AS _PagingCount |SELECT COUNT(*) FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | ? AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM CourseBlock | JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | AND CAST(CourseBlock.cbActive AS INTEGER) = 1 | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0 | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE CourseBlock.cbClazzUid IN | (SELECT ClazzEnrolment.clazzEnrolmentClazzUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ?) | ) AS _PagingCount |getContentByOwner |SELECT * FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | CAST(? AS BIGINT) AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM ContentEntry | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0 | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE ContentEntry.contentOwner = CAST(? AS BIGINT) | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | ? AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM ContentEntry | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0 | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE ContentEntry.contentOwner = ? | ) AS _PagingData LIMIT ? OFFSET ? | |SELECT COUNT(*) FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | CAST(? AS BIGINT) AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM ContentEntry | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0 | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE ContentEntry.contentOwner = CAST(? AS BIGINT) | ) AS _PagingCount |SELECT COUNT(*) FROM ( | WITH IncludeResults(includeResults) AS (SELECT 1) | | SELECT ContentEntry.*, ContentEntryParentChildJoin.*, ContentEntryPicture2.*, | | ? AS sPersonUid, | 0 AS sCbUid, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS sProgress, | (SELECT CASE | -- If a successful completion statement exists, then count as success | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ))) | THEN 1 | -- Else if no success record exists, however a fail record exists, mark as failed | WHEN (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND ( | CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ))) | THEN 0 | | ELSE NULL | END | ) AS sIsSuccess, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | ) AS sIsCompleted, | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE (SELECT includeResults FROM IncludeResults) = 1 | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid | ) AS sScoreScaled | | | FROM ContentEntry | LEFT JOIN ContentEntryParentChildJoin | ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = 0 | LEFT JOIN ContentEntryPicture2 | ON ContentEntryPicture2.cepUid = ContentEntry.contentEntryUid | WHERE ContentEntry.contentOwner = ? | ) AS _PagingCount |getChildrenByAllSELECT ContentEntry.* FROM ContentEntry LEFT JOIN ContentEntryParentChildJoin ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = CAST(? AS BIGINT) |SELECT ContentEntry.* FROM ContentEntry LEFT JOIN ContentEntryParentChildJoin ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = ContentEntry.contentEntryUid WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = ? |findLiveContentEntry |SELECT * FROM ContentEntry where contentEntryUid = ? LIMIT 1 |getContentEntryUidFromXapiObjectIdobjectId |SELECT COALESCE((SELECT contentEntryUid | FROM ContentEntry | WHERE entryId = ? | LIMIT 1),0) AS ID findSimilarIdEntryForKhanSELECT * FROM ContentEntry WHERE sourceUrl LIKE ?updateContentEntryInActivechangedTime | | UPDATE ContentEntry | SET ceInactive = ?, | contentEntryLct = CAST(? AS BIGINT) | WHERE ContentEntry.contentEntryUid = CAST(? AS BIGINT) | | UPDATE ContentEntry | SET ceInactive = ?, | contentEntryLct = ? | WHERE ContentEntry.contentEntryUid = ? |updateContentEntryContentFlagcontentFlag | | UPDATE ContentEntry | SET contentTypeFlag = ?, | contentEntryLct = CAST(? AS BIGINT) | WHERE ContentEntry.contentEntryUid = CAST(? AS BIGINT) | | UPDATE ContentEntry | SET contentTypeFlag = ?, | contentEntryLct = ? | WHERE ContentEntry.contentEntryUid = ? |getContentEntryFromUidsUidAndLabelcontentEntryUids |Select ContentEntry.contentEntryUid AS uid, ContentEntry.title As labelName | from ContentEntry WHERE contentEntryUid IN (?) setArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArray_tmp_uid_tmp_labelNamelabelName      "        #  (          #& 6 #  )" *3  'C    "    comustadmobilecoredbdaoContentEntryDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoContentEntryDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperinsertListAsyncentityListcollectionsListlibentitiesContentEntryreplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupsertAsyncentityfindByUidAsyncentryUid_resultfindEntryWithLanguageByEntryIdAsynccompositesContentEntryAndLanguageentryUuidfindByUidWithEditDetailsContentEntryAndPictureuidreplicateHttpRequestCatchAndLogContentEntryDao/findByUidWithEditDetailsFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponsefindByContentEntryUidWithDetailsAsFlowflowFlowContentEntryAndDetailcontentEntryUidclazzUidcourseBlockUidaccountPersonUidasRepoFlowContentEntryDao/findByContentEntryUidWithDetailsAsFlowfindBySourceUrlsourceUrlfindTitleByUidAsyncContentEntryDao/findTitleByUidAsyncgetChildrenByParentUidandroidxpagingPagingSourceIntparentUidgetChildrenByParentAsyncgetCountNumberOfChildrenByParentUUidAsyncgetContentByUuidAsyncfindAllLanguageRelatedEntriesAsyncupdatewithRepoChangeMonitorfindByUidWithLanguageAsyncContentEntryWithLanguagefindByUidfindByTitletitlefindBySourceUrlWithContentEntryStatusAsyncgetChildrenByParentUidWithCategoryFilterOrderByNameContentEntryAndListDetaillangParamcategoryParam0sortOrderincludeDeletedBooleanDoorRepositoryReplicatePullPagingSourceContentEntryDao/getChildrenByParentUidWithCategoryFilterOrderByNameSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParams_pagingParamsreplicateHttpRequestOrThrowpagingSourceLoadParametersnullableendOfPaginationReachedgetContentFromMyCoursesgetContentByOwnerupdateAsyncgetChildrenByAllfindLiveContentEntrygetContentEntryUidFromXapiObjectIdobjectIdfindSimilarIdEntryForKhanupdateContentEntryInActiveceInactivechangedTimeupdateContentEntryContentFlagcontentFlaggetContentEntryFromUidsUidAndLabelcontentEntryUidsinsertinsertAsyncinsertListINSTANCE_RECEIVER-    #   (comustadmobilecoredbdaoContentEntryImportJobDaoDEFINEDkotlinUnitAnyinsertJobItemLongjobItemlibentitiesContentEntryImportJobupdateItemStatuscjiUidstatusIntupdateItemStatusAndErrorerrorStringupdateErrorDismisseddismissedBooleanupdateItemProgresscjiProgresscjiTotalfindByUidAsyncfindOwnerByUidAsyncfindInProgressJobsByContentEntryUidkotlinxcoroutinesflowFlowcollectionsListcompositesContentEntryImportJobProgresscontentEntryUidfindInProgressJobsByContentEntryUidAsyncINSTANCE_RECEIVER ! " )          % /          $   %#  (comustadmobilecoredbdaoContentEntryImportJobDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitContentEntryImportJobDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterContentEntryImportJob_abortEntityInsertionAdapterlibentitiesContentEntryImportJobOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ContentEntryImportJob (cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcjiUidsetObjectIntsetLongsetStringsourceUricjiOriginalFilenamecjiContentEntryUidcjiParentContentEntryUidcjiContentEntryVersioncjiItemProgresscjiItemTotalsetIntcjiStatuscjiRecursiveStatuscjiPluginIdcjiParentCjiUidcjiStartTimecjiFinishTimesetBooleancjiContentDeletedOnCancellationcjiCompressionLevelcjiErrorcjiErrorDismissedcjiOwnerPersonUidcjiParamsINSTANCE_RECEIVERinsertJobItemjobItem_retValinsertAndReturnIdAsyncupdateItemStatusstatusextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | UPDATE ContentEntryImportJob | SET cjiStatus = ? | WHERE cjiUid= CAST(? AS BIGINT) | | | UPDATE ContentEntryImportJob | SET cjiStatus = ? | WHERE cjiUid= ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAupdateItemStatusAndErrorerror | | UPDATE ContentEntryImportJob | SET cjiStatus = ?, | cjiError = ? | WHERE cjiUid= CAST(? AS BIGINT) | | | UPDATE ContentEntryImportJob | SET cjiStatus = ?, | cjiError = ? | WHERE cjiUid= ? | |updateErrorDismisseddismissed | | UPDATE ContentEntryImportJob | SET cjiErrorDismissed = ? | WHERE cjiUid = CAST(? AS BIGINT) | | | UPDATE ContentEntryImportJob | SET cjiErrorDismissed = ? | WHERE cjiUid = ? | |updateItemProgresscjiProgresscjiTotal | | UPDATE ContentEntryImportJob | SET cjiItemProgress = CAST(? AS BIGINT), | cjiItemTotal = CAST(? AS BIGINT) | WHERE cjiUid = CAST(? AS BIGINT) | | | UPDATE ContentEntryImportJob | SET cjiItemProgress = ?, | cjiItemTotal = ? | WHERE cjiUid = ? | |findByUidAsync | | SELECT ContentEntryImportJob.* | FROM ContentEntryImportJob | WHERE cjiUid = CAST(? AS BIGINT) | | | SELECT ContentEntryImportJob.* | FROM ContentEntryImportJob | WHERE cjiUid = ? | |useResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_cjiUidgetLong_tmp_sourceUrigetString_tmp_cjiOriginalFilename_tmp_cjiContentEntryUid_tmp_cjiParentContentEntryUid_tmp_cjiContentEntryVersion_tmp_cjiItemProgress_tmp_cjiItemTotal_tmp_cjiStatusgetInt_tmp_cjiRecursiveStatus_tmp_cjiPluginId_tmp_cjiParentCjiUid_tmp_cjiStartTime_tmp_cjiFinishTime_tmp_cjiContentDeletedOnCancellationgetBoolean_tmp_cjiCompressionLevel_tmp_cjiError_tmp_cjiErrorDismissed_tmp_cjiOwnerPersonUid_tmp_cjiParamsapplyExtensionFunctionType$this$applyEQfindOwnerByUidAsync | | SELECT COALESCE( | (SELECT ContentEntryImportJob.cjiOwnerPersonUid | FROM ContentEntryImportJob | WHERE ContentEntryImportJob.cjiUid = CAST(? AS BIGINT)), 0) | | | SELECT COALESCE( | (SELECT ContentEntryImportJob.cjiOwnerPersonUid | FROM ContentEntryImportJob | WHERE ContentEntryImportJob.cjiUid = ?), 0) | |findInProgressJobsByContentEntryUidkotlinxflowFlowcollectionsListcompositesContentEntryImportJobProgresscontentEntryUiddoorFlowArrayarrayOfSuspendFunction0 | | SELECT ContentEntryImportJob.cjiUid, | ContentEntryImportJob.cjiItemProgress, | ContentEntryImportJob.cjiItemTotal, | ContentEntryImportJob.cjiStatus, | ContentEntryImportJob.cjiError, | ContentEntryImportJob.cjiOwnerPersonUid | FROM ContentEntryImportJob | WHERE ContentEntryImportJob.cjiContentEntryUid = CAST(? AS BIGINT) | AND ( ContentEntryImportJob.cjiStatus BETWEEN 4 AND 20 | OR (ContentEntryImportJob.cjiStatus = 25 AND NOT ContentEntryImportJob.cjiErrorDismissed)) | | | SELECT ContentEntryImportJob.cjiUid, | ContentEntryImportJob.cjiItemProgress, | ContentEntryImportJob.cjiItemTotal, | ContentEntryImportJob.cjiStatus, | ContentEntryImportJob.cjiError, | ContentEntryImportJob.cjiOwnerPersonUid | FROM ContentEntryImportJob | WHERE ContentEntryImportJob.cjiContentEntryUid = ? | AND ( ContentEntryImportJob.cjiStatus BETWEEN 4 AND 20 | OR (ContentEntryImportJob.cjiStatus = 25 AND NOT ContentEntryImportJob.cjiErrorDismissed)) | |mapRowsfindInProgressJobsByContentEntryUidAsync | | SELECT ContentEntryImportJob.cjiUid, | ContentEntryImportJob.cjiItemProgress, | ContentEntryImportJob.cjiItemTotal, | ContentEntryImportJob.cjiStatus, | ContentEntryImportJob.cjiError, | ContentEntryImportJob.cjiOwnerPersonUid | FROM ContentEntryImportJob | WHERE ContentEntryImportJob.cjiContentEntryUid = CAST(? AS BIGINT) | AND ( ContentEntryImportJob.cjiStatus BETWEEN 4 AND 20 | OR (ContentEntryImportJob.cjiStatus = 25 AND NOT ContentEntryImportJob.cjiErrorDismissed)) | | | SELECT ContentEntryImportJob.cjiUid, | ContentEntryImportJob.cjiItemProgress, | ContentEntryImportJob.cjiItemTotal, | ContentEntryImportJob.cjiStatus, | ContentEntryImportJob.cjiError, | ContentEntryImportJob.cjiOwnerPersonUid | FROM ContentEntryImportJob | WHERE ContentEntryImportJob.cjiContentEntryUid = ? | AND ( ContentEntryImportJob.cjiStatus BETWEEN 4 AND 20 | OR (ContentEntryImportJob.cjiStatus = 25 AND NOT ContentEntryImportJob.cjiErrorDismissed)) | |/  "     comustadmobilecoredbdaoContentEntryParentChildJoinDaoDEFINEDkotlinUnitAnyinsertListAsyncentityListcollectionsListlibentitiesContentEntryParentChildJoinpublicContentEntryParentChildJoinsallfindParentByChildUuidschildEntryContentUidLongfindListOfParentsByChildUuidfindListOfChildsByParentUuidparentUidfindJoinByParentChildUuidschildUidselectTopEntriesContentEntryreplaceListentriesinsertWithReplaceparentChildJoinDaomoveListOfEntriesToNewParentcontentEntryUidselectedItemsupdateTimesetEntriesDeletedselectedUidsisDeletedBooleanfindByUiduidINSTANCE_RECEIVERBaseDaoo * "           "X9LR P AG  < @<comustadmobilecoredbdaoContentEntryParentChildJoinDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoContentEntryParentChildJoinDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncentityListcollectionsListlibentitiesContentEntryParentChildJoin_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabase_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQcepcjUid_newPknextIdAsyncIntEQplusAssignPLUSEQcepcjLctutilsystemTimeInMillisLAMBDApublicContentEntryParentChildJoinsIllegalStateExceptionStringpublicContentEntryParentChildJoins: synchronous db access is NOT possible on Javascript!allall: synchronous db access is NOT possible on Javascript!findParentByChildUuidschildEntryContentUidfindParentByChildUuids: synchronous db access is NOT possible on Javascript!findListOfParentsByChildUuidfindListOfParentsByChildUuid: synchronous db access is NOT possible on Javascript!findListOfChildsByParentUuidparentUidfindJoinByParentChildUuidschildUidfindJoinByParentChildUuids: synchronous db access is NOT possible on Javascript!selectTopEntriesContentEntryreplaceListentriesreplaceList: synchronous db access is NOT possible on Javascript!insertWithReplaceparentChildJoinDaoinsertWithReplace: synchronous db access is NOT possible on Javascript!moveListOfEntriesToNewParentcontentEntryUidselectedItemsupdateTimesetEntriesDeletedselectedUidsisDeletedfindByUiduidinsertentityinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER ' " /      506       "g      )e a ]Y   &               "#   #$    comustadmobilecoredbdaoContentEntryParentChildJoinDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitContentEntryParentChildJoinDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterContentEntryParentChildJoin_abortEntityInsertionAdapterlibentitiesContentEntryParentChildJoinOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ContentEntryParentChildJoin (cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcepcjUidsetObjectIntsetLongcepcjLocalChangeSeqNumcepcjMasterChangeSeqNumsetIntcepcjLastChangedBycepcjLctsetBooleancepcjDeletedcepcjParentContentEntryUidcepcjChildContentEntryUidchildIndexINSTANCE_RECEIVER_insertAdapterContentEntryParentChildJoin_upsertINSERT OR REPLACE INTO ContentEntryParentChildJoin (cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)insertListAsyncentityListcollectionsListreplaceListentriesinsertListinsertWithReplaceparentChildJoinDaoinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncupdate_sqlUPDATE ContentEntryParentChildJoin SET cepcjLocalChangeSeqNum = ?, cepcjMasterChangeSeqNum = ?, cepcjLastChangedBy = ?, cepcjLct = ?, cepcjDeleted = ?, cepcjParentContentEntryUid = ?, cepcjChildContentEntryUid = ?, childIndex = ? WHERE cepcjUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDApublicContentEntryParentChildJoinsPreparedStatementConfigSELECT ContentEntryParentChildJoin.* FROM ContentEntryParentChildJoin LEFT JOIN ContentEntry parentEntry ON ContentEntryParentChildJoin.cepcjParentContentEntryUid = parentEntry.contentEntryUid LEFT JOIN ContentEntry childEntry ON ContentEntryParentChildJoin.cepcjChildContentEntryUid = childEntry.contentEntryUid WHERE parentEntry.publik AND childEntry.publikuseResultsResultSetexecuteQuery_resultmapRowsit_tmp_cepcjUidgetLong_tmp_cepcjLocalChangeSeqNum_tmp_cepcjMasterChangeSeqNum_tmp_cepcjLastChangedBygetInt_tmp_cepcjLct_tmp_cepcjDeletedgetBoolean_tmp_cepcjParentContentEntryUid_tmp_cepcjChildContentEntryUid_tmp_childIndexapplyExtensionFunctionType$this$applyEQallSELECT * FROM ContentEntryParentChildJoinfindParentByChildUuidschildEntryContentUidSELECT * FROM ContentEntryParentChildJoin WHERE cepcjChildContentEntryUid = CAST(? AS BIGINT) LIMIT 1texttrimMargin |SELECT * FROM ContentEntryParentChildJoin WHERE cepcjChildContentEntryUid = ? LIMIT 1 |mapNextRowfindListOfParentsByChildUuidSELECT * FROM ContentEntryParentChildJoin WHERE cepcjChildContentEntryUid = CAST(? AS BIGINT) |SELECT * FROM ContentEntryParentChildJoin WHERE cepcjChildContentEntryUid = ? |findListOfChildsByParentUuidparentUidprepareAndUseStatementAsync | | SELECT * | FROM ContentEntryParentChildJoin | WHERE cepcjParentContentEntryUid = CAST(? AS BIGINT) | | | SELECT * | FROM ContentEntryParentChildJoin | WHERE cepcjParentContentEntryUid = ? | |coroutinesSuspendFunction1executeQueryAsyncKmpfindJoinByParentChildUuidschildUidSELECT * FROM ContentEntryParentChildJoin WHERE cepcjParentContentEntryUid = CAST(? AS BIGINT) AND cepcjChildContentEntryUid = CAST(? AS BIGINT) LIMIT 1 |SELECT * FROM ContentEntryParentChildJoin WHERE cepcjParentContentEntryUid = ? AND cepcjChildContentEntryUid = ? LIMIT 1 |selectTopEntriesContentEntrySELECT ContentEntry.* FROM ContentEntry WHERE NOT EXISTS(SELECT cepcjUid FROM ContentEntryParentChildJoin WHERE cepcjChildContentEntryUid = ContentEntry.contentEntryUid) AND EXISTS(SELECT cepcjUid FROM ContentEntryParentChildJoin WHERE cepcjParentContentEntryUid = ContentEntry.contentEntryUid)_tmp_contentEntryUidcontentEntryUid_tmp_titlegetStringtitle_tmp_descriptiondescription_tmp_entryIdentryId_tmp_authorauthor_tmp_publisherpublisher_tmp_licenseTypelicenseType_tmp_licenseNamelicenseName_tmp_licenseUrllicenseUrl_tmp_sourceUrlsourceUrl_tmp_thumbnailUrlthumbnailUrl_tmp_lastModifiedlastModified_tmp_primaryLanguageUidprimaryLanguageUid_tmp_languageVariantUidlanguageVariantUid_tmp_contentFlagscontentFlags_tmp_leafleaf_tmp_publikpublik_tmp_ceInactiveceInactive_tmp_completionCriteriacompletionCriteria_tmp_minScoreminScore_tmp_contentTypeFlagcontentTypeFlag_tmp_contentOwnercontentOwner_tmp_contentOwnerTypecontentOwnerType_tmp_contentEntryLocalChangeSeqNumcontentEntryLocalChangeSeqNum_tmp_contentEntryMasterChangeSeqNumcontentEntryMasterChangeSeqNum_tmp_contentEntryLastChangedBycontentEntryLastChangedBy_tmp_contentEntryLctcontentEntryLctmoveListOfEntriesToNewParentselectedItemsupdateTime | | UPDATE ContentEntryParentChildJoin | SET cepcjParentContentEntryUid = CAST(? AS BIGINT), | cepcjLct = CAST(? AS BIGINT) | WHERE cepcjUid IN (?) | | | UPDATE ContentEntryParentChildJoin | SET cepcjParentContentEntryUid = ?, | cepcjLct = ? | WHERE cepcjUid IN (?) | |setArrayArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArrayexecuteUpdateAsyncKmpsetEntriesDeletedselectedUidsisDeleted | | UPDATE ContentEntryParentChildJoin | SET cepcjDeleted = ?, | cepcjLct = CAST(? AS BIGINT) | WHERE cepcjUid IN (?) | | | UPDATE ContentEntryParentChildJoin | SET cepcjDeleted = ?, | cepcjLct = ? | WHERE cepcjUid IN (?) | |findByUiduid | | SELECT ContentEntryParentChildJoin.* | FROM ContentEntryParentChildJoin | WHERE ContentEntryParentChildJoin.cepcjUid = CAST(? AS BIGINT) | | | SELECT ContentEntryParentChildJoin.* | FROM ContentEntryParentChildJoin | WHERE ContentEntryParentChildJoin.cepcjUid = ? | |] #     "      "       comustadmobilecoredbdaoContentEntryParentChildJoinDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoContentEntryParentChildJoinDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncentityListcollectionsListlibentitiesContentEntryParentChildJoinreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDApublicContentEntryParentChildJoins_resultallfindParentByChildUuidschildEntryContentUidfindListOfParentsByChildUuidfindListOfChildsByParentUuidparentUidfindJoinByParentChildUuidschildUidselectTopEntriesContentEntryreplaceListentrieswithRepoChangeMonitorFunction0insertWithReplaceparentChildJoinDaomoveListOfEntriesToNewParentcontentEntryUidselectedItemsupdateTimesetEntriesDeletedselectedUidsisDeletedBooleanfindByUiduidinsertentityinsertAsyncinsertListupdateINSTANCE_RECEIVER    comustadmobilecoredbdaoContentEntryPicture2DaoDEFINEDkotlinUnitAnyupsertListAsyncentitiescollectionsListlibContentEntryPicture2updateUriuidLonguriStringthumbnailUritimeImageDaoINSTANCE_RECEIVER7 # "          comustadmobilecoredbdaoContentEntryPicture2Dao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoContentEntryPicture2DaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertListAsyncentitiescollectionsListlibContentEntryPicture2_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitcepLctEQutilsystemTimeInMillisLAMBDAGET_PROPERTYupdateUriuiduriStringthumbnailUritimeINSTANCE_RECEIVERM   " )  o  /     comustadmobilecoredbdaoContentEntryPicture2Dao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitContentEntryPicture2DaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterContentEntryPicture2_upsertEntityInsertionAdapterlibentitiesContentEntryPicture2OBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO ContentEntryPicture2 (cepUid, cepLct, cepPictureUri, cepThumbnailUri) VALUES(?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongcepUidcepLctsetStringcepPictureUricepThumbnailUriINSTANCE_RECEIVERupsertListAsynccollectionsListinsertListAsyncupdateUriuidurithumbnailUritimeextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | UPDATE ContentEntryPicture2 | SET cepPictureUri = ?, | cepThumbnailUri = ?, | cepLct = CAST(? AS BIGINT) | WHERE cepUid = CAST(? AS BIGINT) | | | UPDATE ContentEntryPicture2 | SET cepPictureUri = ?, | cepThumbnailUri = ?, | cepLct = ? | WHERE cepUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDA@      "        comustadmobilecoredbdaoContentEntryPicture2Dao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoContentEntryPicture2Dao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertListAsyncentitiescollectionsListlibContentEntryPicture2replicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupdateUriuidurithumbnailUritimeINSTANCE_RECEIVER   comustadmobilecoredbdaoContentEntryPictureDaoDEFINEDkotlinUnitAnyfindByContentEntryUidAsynclibentitiesContentEntryPictureentryUidLongfindByContentEntryUidLivekotlinxcoroutinesflowFlowupdateAsyncINSTANCE_RECEIVERBaseDaoJ " "     <     @<comustadmobilecoredbdaoContentEntryPictureDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoContentEntryPictureDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByContentEntryUidAsynclibentitiesContentEntryPictureentryUidLongGET_PROPERTYfindByContentEntryUidLivekotlinxcoroutinesflowFlowupdateAsynccepTimestampEQutilsystemTimeInMillisinsertentityIllegalStateExceptionStringinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFBooleaninternalirEQEQcepUid_newPknextIdAsyncIntinsertListentityListcollectionsListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER  " '          -             comustadmobilecoredbdaoContentEntryPictureDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitContentEntryPictureDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterContentEntryPicture_abortEntityInsertionAdapterlibentitiesContentEntryPictureOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ContentEntryPicture (cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive) VALUES(?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcepUidsetObjectIntsetLongcepContentEntryUidsetStringcepUricepMd5setIntcepFileSizecepTimestampcepMimeTypesetBooleancepActiveINSTANCE_RECEIVERinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListcollectionsListupdateAsync_sqlUPDATE ContentEntryPicture SET cepContentEntryUid = ?, cepUri = ?, cepMd5 = ?, cepFileSize = ?, cepTimestamp = ?, cepMimeType = ?, cepActive = ? WHERE cepUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindByContentEntryUidAsyncentryUidPreparedStatementConfigtexttrimMargin | | SELECT * | FROM ContentEntryPicture | WHERE cepContentEntryUid = CAST(? AS BIGINT) | AND cepActive | ORDER BY cepTimestamp DESC | LIMIT 1 | | | SELECT * | FROM ContentEntryPicture | WHERE cepContentEntryUid = ? | AND cepActive | ORDER BY cepTimestamp DESC | LIMIT 1 | |useResultsResultSetexecuteQueryAsyncKmp_resultmapNextRowit_tmp_cepUidgetLong_tmp_cepContentEntryUid_tmp_cepUrigetString_tmp_cepMd5_tmp_cepFileSizegetInt_tmp_cepTimestamp_tmp_cepMimeType_tmp_cepActivegetBooleanapplyExtensionFunctionType$this$applyEQfindByContentEntryUidLivekotlinxflowFlowdoorFlowArrayarrayOfSuspendFunction0 | | SELECT * | FROM ContentEntryPicture | WHERE cepContentEntryUid = CAST(? AS BIGINT) | AND cepActive | ORDER BY cepTimestamp DESC | LIMIT 1 | | | SELECT * | FROM ContentEntryPicture | WHERE cepContentEntryUid = ? | AND cepActive | ORDER BY cepTimestamp DESC | LIMIT 1 | |J      "       comustadmobilecoredbdaoContentEntryPictureDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoContentEntryPictureDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByContentEntryUidAsynclibentitiesContentEntryPictureentryUid_resultGET_PROPERTYfindByContentEntryUidLivekotlinxcoroutinesflowFlowupdateAsyncreplicationwithRepoChangeMonitorAsyncSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAinsertentitywithRepoChangeMonitorFunction0insertAsyncinsertListentityListcollectionsListupdateINSTANCE_RECEIVER! # '(& (comustadmobilecoredbdaoContentEntryRelatedEntryJoinDaoDEFINEDkotlinUnitAnypublicContentEntryRelatedEntryJoinscollectionsListlibentitiesContentEntryRelatedEntryJoinfindPrimaryByTranslationcontentEntryUidLongfindAllTranslationsForContentEntryAsyncContentEntryRelatedEntryJoinWithLangNamefindAllTranslationsWithContentEntryUidandroidxpagingPagingSourceIntContentEntryRelatedEntryJoinWithLanguageupdateentityBaseDaoINSTANCE_RECEIVERN + "  # YN'( & (<<    @comustadmobilecoredbdaoContentEntryRelatedEntryJoinDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoContentEntryRelatedEntryJoinDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingpublicContentEntryRelatedEntryJoinscollectionsListlibentitiesContentEntryRelatedEntryJoinIllegalStateExceptionStringpublicContentEntryRelatedEntryJoins: synchronous db access is NOT possible on Javascript!findPrimaryByTranslationcontentEntryUidLongfindPrimaryByTranslation: synchronous db access is NOT possible on Javascript!findAllTranslationsForContentEntryAsyncContentEntryRelatedEntryJoinWithLangNameGET_PROPERTYfindAllTranslationsWithContentEntryUidandroidxpagingPagingSourceIntContentEntryRelatedEntryJoinWithLanguageupdateentityupdate: synchronous db access is NOT possible on Javascript!insertinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFBooleaninternalirEQEQcerejUid_newPknextIdAsyncEQcerejLctutilsystemTimeInMillisinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER ( " 0     6     #      a ] '(%  & (`        vWcomustadmobilecoredbdaoContentEntryRelatedEntryJoinDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitContentEntryRelatedEntryJoinDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterContentEntryRelatedEntryJoin_abortEntityInsertionAdapterlibentitiesContentEntryRelatedEntryJoinOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ContentEntryRelatedEntryJoin (cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcerejUidsetObjectIntsetLongcerejContentEntryUidcerejRelatedEntryUidsetIntcerejLastChangedByrelTypesetStringcommentcerejRelLanguageUidcerejLocalChangeSeqNumcerejMasterChangeSeqNumcerejLctINSTANCE_RECEIVERinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListcollectionsListupdate_sqlUPDATE ContentEntryRelatedEntryJoin SET cerejContentEntryUid = ?, cerejRelatedEntryUid = ?, cerejLastChangedBy = ?, relType = ?, comment = ?, cerejRelLanguageUid = ?, cerejLocalChangeSeqNum = ?, cerejMasterChangeSeqNum = ?, cerejLct = ? WHERE cerejUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDApublicContentEntryRelatedEntryJoinsPreparedStatementConfigSELECT ContentEntryRelatedEntryJoin.* FROM ContentEntryRelatedEntryJoin LEFT JOIN ContentEntry ON ContentEntryRelatedEntryJoin.cerejRelatedEntryUid = ContentEntry.contentEntryUid WHERE ContentEntry.publikuseResultsResultSetexecuteQuery_resultmapRowsit_tmp_cerejUidgetLong_tmp_cerejContentEntryUid_tmp_cerejRelatedEntryUid_tmp_cerejLastChangedBygetInt_tmp_relType_tmp_commentgetString_tmp_cerejRelLanguageUid_tmp_cerejLocalChangeSeqNum_tmp_cerejMasterChangeSeqNum_tmp_cerejLctapplyExtensionFunctionType$this$applyEQfindPrimaryByTranslationcontentEntryUidSELECT * FROM ContentEntryRelatedEntryJoin WHERE cerejRelatedEntryUid = CAST(? AS BIGINT) LIMIT 1texttrimMargin |SELECT * FROM ContentEntryRelatedEntryJoin WHERE cerejRelatedEntryUid = ? LIMIT 1 |mapNextRowfindAllTranslationsForContentEntryAsyncContentEntryRelatedEntryJoinWithLangNameprepareAndUseStatementAsyncSELECT ContentEntryRelatedEntryJoin.cerejContentEntryUid, ContentEntryRelatedEntryJoin.cerejRelatedEntryUid, CASE ContentEntryRelatedEntryJoin.cerejRelatedEntryUid WHEN CAST(? AS BIGINT) THEN (SELECT name FROM Language WHERE langUid = (SELECT primaryLanguageUid FROM ContentEntry WHERE contentEntryUid = ContentEntryRelatedEntryJoin.cerejContentEntryUid)) ELSE Language.name END languageName FROM ContentEntryRelatedEntryJoin LEFT JOIN Language ON ContentEntryRelatedEntryJoin.cerejRelLanguageUid = Language.langUid WHERE (ContentEntryRelatedEntryJoin.cerejContentEntryUid = CAST(? AS BIGINT) OR ContentEntryRelatedEntryJoin.cerejContentEntryUid IN (SELECT cerejContentEntryUid FROM ContentEntryRelatedEntryJoin WHERE cerejRelatedEntryUid = CAST(? AS BIGINT))) AND ContentEntryRelatedEntryJoin.relType = 1 |SELECT ContentEntryRelatedEntryJoin.cerejContentEntryUid, ContentEntryRelatedEntryJoin.cerejRelatedEntryUid, CASE ContentEntryRelatedEntryJoin.cerejRelatedEntryUid WHEN ? THEN (SELECT name FROM Language WHERE langUid = (SELECT primaryLanguageUid FROM ContentEntry WHERE contentEntryUid = ContentEntryRelatedEntryJoin.cerejContentEntryUid)) ELSE Language.name END languageName FROM ContentEntryRelatedEntryJoin LEFT JOIN Language ON ContentEntryRelatedEntryJoin.cerejRelLanguageUid = Language.langUid WHERE (ContentEntryRelatedEntryJoin.cerejContentEntryUid = ? OR ContentEntryRelatedEntryJoin.cerejContentEntryUid IN (SELECT cerejContentEntryUid FROM ContentEntryRelatedEntryJoin WHERE cerejRelatedEntryUid = ?)) AND ContentEntryRelatedEntryJoin.relType = 1 |coroutinesSuspendFunction1executeQueryAsyncKmp_tmp_languageNamelanguageNamefindAllTranslationsWithContentEntryUidandroidxpagingPagingSourceContentEntryRelatedEntryJoinWithLanguageDoorLimitOffsetPagingSourceArrayarrayOfLanguageloadRows_limit_offset |SELECT * FROM (SELECT ContentEntryRelatedEntryJoin.*, Language.* FROM ContentEntryRelatedEntryJoin | LEFT JOIN Language ON ContentEntryRelatedEntryJoin.cerejRelLanguageUid = Language.langUid | WHERE (ContentEntryRelatedEntryJoin.cerejContentEntryUid = CAST(? AS BIGINT) | OR ContentEntryRelatedEntryJoin.cerejContentEntryUid IN | (SELECT cerejContentEntryUid FROM ContentEntryRelatedEntryJoin WHERE cerejRelatedEntryUid = CAST(? AS BIGINT))) | AND ContentEntryRelatedEntryJoin.relType = 1 | ORDER BY Language.name) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM (SELECT ContentEntryRelatedEntryJoin.*, Language.* FROM ContentEntryRelatedEntryJoin | LEFT JOIN Language ON ContentEntryRelatedEntryJoin.cerejRelLanguageUid = Language.langUid | WHERE (ContentEntryRelatedEntryJoin.cerejContentEntryUid = ? | OR ContentEntryRelatedEntryJoin.cerejContentEntryUid IN | (SELECT cerejContentEntryUid FROM ContentEntryRelatedEntryJoin WHERE cerejRelatedEntryUid = ?)) | AND ContentEntryRelatedEntryJoin.relType = 1 | ORDER BY Language.name) AS _PagingData LIMIT ? OFFSET ? |_tmp_Language_nullCount_tmp_langUidlangUidwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_namenametmp1_tmp_iso_639_1_standardiso_639_1_standardtmp2_tmp_iso_639_2_standardiso_639_2_standardtmp3_tmp_iso_639_3_standardiso_639_3_standardtmp4_tmp_Language_TypeLanguage_Typetmp5_tmp_languageActivegetBooleanlanguageActivetmp6_tmp_langLocalChangeSeqNumlangLocalChangeSeqNumtmp7_tmp_langMasterChangeSeqNumlangMasterChangeSeqNumtmp8_tmp_langLastChangedBylangLastChangedBytmp9_tmp_langLctlangLcttmp10_tmp_Language_isAllNullnotEXCLlanguagecountRows |SELECT COUNT(*) FROM (SELECT ContentEntryRelatedEntryJoin.*, Language.* FROM ContentEntryRelatedEntryJoin | LEFT JOIN Language ON ContentEntryRelatedEntryJoin.cerejRelLanguageUid = Language.langUid | WHERE (ContentEntryRelatedEntryJoin.cerejContentEntryUid = CAST(? AS BIGINT) | OR ContentEntryRelatedEntryJoin.cerejContentEntryUid IN | (SELECT cerejContentEntryUid FROM ContentEntryRelatedEntryJoin WHERE cerejRelatedEntryUid = CAST(? AS BIGINT))) | AND ContentEntryRelatedEntryJoin.relType = 1 | ORDER BY Language.name) AS _PagingCount |SELECT COUNT(*) FROM (SELECT ContentEntryRelatedEntryJoin.*, Language.* FROM ContentEntryRelatedEntryJoin | LEFT JOIN Language ON ContentEntryRelatedEntryJoin.cerejRelLanguageUid = Language.langUid | WHERE (ContentEntryRelatedEntryJoin.cerejContentEntryUid = ? | OR ContentEntryRelatedEntryJoin.cerejContentEntryUid IN | (SELECT cerejContentEntryUid FROM ContentEntryRelatedEntryJoin WHERE cerejRelatedEntryUid = ?)) | AND ContentEntryRelatedEntryJoin.relType = 1 | ORDER BY Language.name) AS _PagingCount |N $     "  #  '(& (      comustadmobilecoredbdaoContentEntryRelatedEntryJoinDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoContentEntryRelatedEntryJoinDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingpublicContentEntryRelatedEntryJoinscollectionsListlibentitiesContentEntryRelatedEntryJoin_resultGET_PROPERTYfindPrimaryByTranslationcontentEntryUidfindAllTranslationsForContentEntryAsyncContentEntryRelatedEntryJoinWithLangNamefindAllTranslationsWithContentEntryUidandroidxpagingPagingSourceIntContentEntryRelatedEntryJoinWithLanguageupdateentityreplicationwithRepoChangeMonitorFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAinsertinsertAsyncwithRepoChangeMonitorAsynccoroutinesSuspendFunction0insertListentityListINSTANCE_RECEIVER#  +!  ( comustadmobilecoredbdaoContentEntryVersionDaoDEFINEDkotlinUnitAnyfindByUidAsynclibentitiesContentEntryVersioncevUidLonginsertAsynccontentEntryVersionfindLatestVersionUidByContentEntryUidEntitycontentEntryUidfindLatestByContentEntryUidAsFlowkotlinxcoroutinesflowFlowupdateTransferJobItemEtagentityUidtransferJobItemUidIntfindContentEntryVersionsWithoutCacheLockcollectionsListINSTANCE_RECEIVERE " "         +!  ( comustadmobilecoredbdaoContentEntryVersionDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoContentEntryVersionDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByUidAsynclibentitiesContentEntryVersioncevUidLongGET_PROPERTYinsertAsynccontentEntryVersion_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFBooleaninternalirEQEQ_newPknextIdAsyncIntEQcevLctutilsystemTimeInMillisfindLatestVersionUidByContentEntryUidEntitycontentEntryUidfindLatestByContentEntryUidAsFlowkotlinxcoroutinesflowFlowupdateTransferJobItemEtagentityUidtransferJobItemUidfindContentEntryVersionsWithoutCacheLockcollectionsListINSTANCE_RECEIVER  " '      -              + !   ( comustadmobilecoredbdaoContentEntryVersionDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitContentEntryVersionDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterContentEntryVersion_abortEntityInsertionAdapterlibentitiesContentEntryVersionOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ContentEntryVersion (cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcevUidsetObjectIntsetLongcevContentEntryUidsetStringcevOpenUricevContentTypecevManifestUrlcevSizesetBooleancevInActivecevLastModifiedcevLctcevStorageSizecevOriginalSizeINSTANCE_RECEIVERinsertAsynccontentEntryVersion_retValinsertAndReturnIdAsyncfindByUidAsyncextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT ContentEntryVersion.* | FROM ContentEntryVersion | WHERE cevUid = CAST(? AS BIGINT) | | | SELECT ContentEntryVersion.* | FROM ContentEntryVersion | WHERE cevUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_cevUidgetLong_tmp_cevContentEntryUid_tmp_cevOpenUrigetString_tmp_cevContentType_tmp_cevManifestUrl_tmp_cevSize_tmp_cevInActivegetBoolean_tmp_cevLastModified_tmp_cevLct_tmp_cevStorageSize_tmp_cevOriginalSizeapplyExtensionFunctionType$this$applyEQLAMBDAfindLatestVersionUidByContentEntryUidEntitycontentEntryUid | | SELECT ContentEntryVersion.* | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT) | ORDER BY ContentEntryVersion.cevLastModified DESC | LIMIT 1 | | | SELECT ContentEntryVersion.* | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = ? | ORDER BY ContentEntryVersion.cevLastModified DESC | LIMIT 1 | |findLatestByContentEntryUidAsFlowkotlinxflowFlowdoorFlowArrayarrayOfSuspendFunction0 | | SELECT ContentEntryVersion.* | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT) | ORDER BY ContentEntryVersion.cevLastModified DESC | LIMIT 1 | | | SELECT ContentEntryVersion.* | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = ? | ORDER BY ContentEntryVersion.cevLastModified DESC | LIMIT 1 | |updateTransferJobItemEtagentityUidtransferJobItemUid | | UPDATE TransferJobItem | SET tjiEntityEtag = | (SELECT cevLct | FROM ContentEntryVersion | WHERE cevUid = CAST(? AS BIGINT)) | WHERE tjiUid = ? | | | UPDATE TransferJobItem | SET tjiEntityEtag = | (SELECT cevLct | FROM ContentEntryVersion | WHERE cevUid = ?) | WHERE tjiUid = ? | |setIntexecuteUpdateAsyncKmpfindContentEntryVersionsWithoutCacheLockcollectionsList | | SELECT ContentEntryVersion.* | FROM ContentEntryVersion | WHERE NOT EXISTS( | SELECT CacheLockJoin.cljId | FROM CacheLockJoin | WHERE CacheLockJoin.cljTableId = 738 | AND CacheLockJoin.cljEntityUid = ContentEntryVersion.cevUid | AND CacheLockJoin.cljUrl = ContentEntryVersion.cevManifestUrl) | mapRowsr      "       +B          #! 8 ( comustadmobilecoredbdaoContentEntryVersionDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoContentEntryVersionDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperfindByUidAsynclibentitiesContentEntryVersioncevUid_resultinsertAsynccontentEntryVersionreplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindLatestVersionUidByContentEntryUidEntitycontentEntryUidreplicateHttpRequestCatchAndLogContentEntryVersionDao/findLatestVersionUidByContentEntryUidEntityFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponsefindLatestByContentEntryUidAsFlowflowFlowasRepoFlowContentEntryVersionDao/findLatestByContentEntryUidAsFlowupdateTransferJobItemEtagentityUidtransferJobItemUidIntTransferJobItemfindContentEntryVersionsWithoutCacheLockcollectionsListINSTANCE_RECEIVER/   '   !*# $$ comustadmobilecoredbdaoCourseAssignmentMarkDaoDEFINEDkotlinUnitAnycheckNoSubmissionsMarkedkotlinxcoroutinesflowFlowBooleanassignmentUidLonggetMarkOfAssignmentForSubmitterLiveDatalibentitiesAverageCourseAssignmentMarksubmitterUidgetAllMarksForUserAsFlowcollectionsListcompositesCourseAssignmentMarkAndMarkerNameaccountPersonUidgetAllMarksForSubmitterAsFlowgetAllMarksForSubmitterAsFlowMarkerPersonsPersonAndPicturegetAllMarksOfAssignmentForSubmitterandroidxpagingPagingSourceIntCourseAssignmentMarkWithPersonMarkerfiltergetMarkOfAssignmentForStudentCourseAssignmentMarkfindNextSubmitterToMarkForAssignmentmarkerUidINSTANCE_RECEIVERBaseDao\ # "     '   !*# $S$ <      @<comustadmobilecoredbdaoCourseAssignmentMarkDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoCourseAssignmentMarkDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingcheckNoSubmissionsMarkedkotlinxcoroutinesflowFlowBooleanassignmentUidLongGET_PROPERTYgetMarkOfAssignmentForSubmitterLiveDatalibentitiesAverageCourseAssignmentMarksubmitterUidgetAllMarksForUserAsFlowcollectionsListcompositesCourseAssignmentMarkAndMarkerNameaccountPersonUidgetAllMarksForSubmitterAsFlowgetAllMarksForSubmitterAsFlowMarkerPersonsPersonAndPicturegetAllMarksOfAssignmentForSubmitterandroidxpagingPagingSourceIntCourseAssignmentMarkWithPersonMarkerfiltergetMarkOfAssignmentForStudentCourseAssignmentMarkIllegalStateExceptionStringgetMarkOfAssignmentForStudent: synchronous db access is NOT possible on Javascript!findNextSubmitterToMarkForAssignmentmarkerUidinsertentityinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFinternalirEQEQcamUid_newPknextIdAsyncEQcamLctutilsystemTimeInMillisinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVERc   " (       .           ' x   ! I #    #   N/*                      # $    $ Y comustadmobilecoredbdaoCourseAssignmentMarkDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCourseAssignmentMarkDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterCourseAssignmentMark_abortEntityInsertionAdapterlibentitiesCourseAssignmentMarkOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO CourseAssignmentMark (camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcamUidsetObjectIntsetLongcamAssignmentUidcamSubmitterUidcamMarkerSubmitterUidcamMarkerPersonUidsetStringcamMarkerCommentsetFloatFloatcamMarkcamMaxMarkcamPenaltycamLctcamClazzUidINSTANCE_RECEIVERinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListcollectionsListupdate_sqlUPDATE CourseAssignmentMark SET camAssignmentUid = ?, camSubmitterUid = ?, camMarkerSubmitterUid = ?, camMarkerPersonUid = ?, camMarkerComment = ?, camMark = ?, camMaxMark = ?, camPenalty = ?, camLct = ?, camClazzUid = ? WHERE camUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDAcheckNoSubmissionsMarkedkotlinxcoroutinesflowFlowassignmentUiddoorFlowArrayarrayOfSuspendFunction0prepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT NOT EXISTS(SELECT 1 | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT) | LIMIT 1) | | | SELECT NOT EXISTS(SELECT 1 | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = ? | LIMIT 1) | |SuspendFunction1useResultsResultSetexecuteQueryAsyncKmp_resultmapNextRowitgetBooleangetMarkOfAssignmentForSubmitterLiveDataAverageCourseAssignmentMarksubmitterUidClazzAssignmentcourseAssignmentMark | | WITH ScoreByMarker (averageScore, averagePenalty) AS ( | SELECT AVG(camMark), AVG(camPenalty) | FROM courseAssignmentMark | JOIN ClazzAssignment | ON caUid = courseAssignmentMark.camAssignmentUid | AND camAssignmentUid = CAST(? AS BIGINT) | AND camSubmitterUid = CAST(? AS BIGINT) | WHERE camLct = (SELECT MAX(mark.camLct) | FROM CourseAssignmentMark As mark | WHERE mark.camAssignmentUid = CAST(? AS BIGINT) | AND mark.camSubmitterUid = CAST(? AS BIGINT) | AND (caMarkingType = 1 | OR mark.camMarkerSubmitterUid = courseAssignmentMark.camMarkerSubmitterUid)) | ) | | SELECT COALESCE(averageScore, -1) AS averageScore, COALESCE(averagePenalty, -1) AS averagePenalty | FROM ScoreByMarker | | | WITH ScoreByMarker (averageScore, averagePenalty) AS ( | SELECT AVG(camMark), AVG(camPenalty) | FROM courseAssignmentMark | JOIN ClazzAssignment | ON caUid = courseAssignmentMark.camAssignmentUid | AND camAssignmentUid = ? | AND camSubmitterUid = ? | WHERE camLct = (SELECT MAX(mark.camLct) | FROM CourseAssignmentMark As mark | WHERE mark.camAssignmentUid = ? | AND mark.camSubmitterUid = ? | AND (caMarkingType = 1 | OR mark.camMarkerSubmitterUid = courseAssignmentMark.camMarkerSubmitterUid)) | ) | | SELECT COALESCE(averageScore, -1) AS averageScore, COALESCE(averagePenalty, -1) AS averagePenalty | FROM ScoreByMarker | |_tmp_averageScoregetFloataverageScore_tmp_averagePenaltygetIntaveragePenaltyapplyExtensionFunctionType$this$applyEQgetAllMarksForUserAsFlowcompositesCourseAssignmentMarkAndMarkerNameaccountPersonUidPersonCourseGroupMemberClazzEnrolmentPersonPicture | | SELECT CourseAssignmentMark.*, | Person.firstNames AS markerFirstNames, | Person.lastName AS markerLastName, | PersonPicture.personPictureThumbnailUri AS markerPictureUri | FROM CourseAssignmentMark | LEFT JOIN Person | ON Person.personUid = CourseAssignmentMark.camMarkerPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = CourseAssignmentMark.camMarkerPersonUid | WHERE ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | ) > 0 | AND CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentMark.camSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | ) | ORDER BY CourseAssignmentMark.camLct DESC | | | SELECT CourseAssignmentMark.*, | Person.firstNames AS markerFirstNames, | Person.lastName AS markerLastName, | PersonPicture.personPictureThumbnailUri AS markerPictureUri | FROM CourseAssignmentMark | LEFT JOIN Person | ON Person.personUid = CourseAssignmentMark.camMarkerPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = CourseAssignmentMark.camMarkerPersonUid | WHERE ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | ) > 0 | AND CourseAssignmentMark.camAssignmentUid = ? | AND CourseAssignmentMark.camSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | ) | ORDER BY CourseAssignmentMark.camLct DESC | |mapRows_tmp_markerFirstNamesgetStringmarkerFirstNames_tmp_markerLastNamemarkerLastName_tmp_markerPictureUrimarkerPictureUri_tmp_CourseAssignmentMark_nullCount_tmp_camUidgetLongwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_camAssignmentUidtmp1_tmp_camSubmitterUidtmp2_tmp_camMarkerSubmitterUidtmp3_tmp_camMarkerPersonUidtmp4_tmp_camMarkerCommenttmp5_tmp_camMarktmp6_tmp_camMaxMarktmp7_tmp_camPenaltytmp8_tmp_camLcttmp9_tmp_camClazzUidtmp10_tmp_CourseAssignmentMark_isAllNullnotEXCLgetAllMarksForSubmitterAsFlow | | SELECT CourseAssignmentMark.*, | Person.firstNames AS markerFirstNames, | Person.lastName AS markerLastName, | PersonPicture.personPictureThumbnailUri AS markerPictureUri | FROM CourseAssignmentMark | LEFT JOIN Person | ON Person.personUid = CourseAssignmentMark.camMarkerPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = CourseAssignmentMark.camMarkerPersonUid | WHERE CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentMark.camSubmitterUid = CAST(? AS BIGINT) | ORDER BY CourseAssignmentMark.camLct DESC | | | SELECT CourseAssignmentMark.*, | Person.firstNames AS markerFirstNames, | Person.lastName AS markerLastName, | PersonPicture.personPictureThumbnailUri AS markerPictureUri | FROM CourseAssignmentMark | LEFT JOIN Person | ON Person.personUid = CourseAssignmentMark.camMarkerPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = CourseAssignmentMark.camMarkerPersonUid | WHERE CourseAssignmentMark.camAssignmentUid = ? | AND CourseAssignmentMark.camSubmitterUid = ? | ORDER BY CourseAssignmentMark.camLct DESC | |getAllMarksForSubmitterAsFlowMarkerPersonsPersonAndPicture | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE PersonUid IN | (SELECT CourseAssignmentMark.camMarkerPersonUid | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentMark.camSubmitterUid = CAST(? AS BIGINT)) | | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE PersonUid IN | (SELECT CourseAssignmentMark.camMarkerPersonUid | FROM CourseAssignmentMark | WHERE CourseAssignmentMark.camAssignmentUid = ? | AND CourseAssignmentMark.camSubmitterUid = ?) | |_tmp_Person_nullCount_tmp_personUidpersonUid_tmp_usernameusername_tmp_firstNamesfirstNames_tmp_lastNamelastName_tmp_emailAddremailAddr_tmp_phoneNumphoneNum_tmp_gendergender_tmp_activeactive_tmp_dateOfBirthdateOfBirth_tmp_personAddresspersonAddress_tmp_personOrgIdpersonOrgId_tmp_personGroupUidpersonGroupUidtmp11_tmp_personLctpersonLcttmp12_tmp_personCountrypersonCountrytmp13_tmp_personTypepersonTypetmp14_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNumtmp15_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNumtmp16_tmp_personLastChangedBypersonLastChangedBytmp17_tmp_adminadmintmp18_tmp_personNotespersonNotestmp19_tmp_fatherNamefatherNametmp20_tmp_fatherNumberfatherNumbertmp21_tmp_motherNamemotherNametmp22_tmp_motherNummotherNumtmp23_tmp_Person_isAllNull_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUidtmp24_tmp_personPictureLctpersonPictureLcttmp25_tmp_personPictureUripersonPictureUritmp26_tmp_personPictureThumbnailUripersonPictureThumbnailUritmp27_tmp_fileSizefileSizetmp28_tmp_personPictureActivepersonPictureActivetmp29_tmp_PersonPicture_isAllNullpersonpicturegetAllMarksOfAssignmentForSubmitterandroidxpagingPagingSourceCourseAssignmentMarkWithPersonMarkerfilterDoorLimitOffsetPagingSourceloadRows_limit_offset |SELECT * FROM ( | WITH ScoreByMarker AS ( | SELECT * | FROM courseAssignmentMark | WHERE camAssignmentUid = CAST(? AS BIGINT) | AND camSubmitterUid = CAST(? AS BIGINT) | AND (? = 0 OR camLct = (SELECT MAX(mark.camLct) | FROM CourseAssignmentMark As mark | WHERE mark.camAssignmentUid = CAST(? AS BIGINT) | AND mark.camSubmitterUid = CAST(? AS BIGINT) | AND mark.camMarkerSubmitterUid = courseAssignmentMark.camMarkerSubmitterUid | )) | ORDER BY camLct DESC) | | SELECT marker.*, ScoreByMarker.*, (ClazzAssignment.caGroupUid != 0) AS isGroup | FROM ScoreByMarker | JOIN Person As marker | ON Marker.personUid = ScoreByMarker.camMarkerPersonUid | JOIN ClazzAssignment | ON ClazzAssignment.caUid = CAST(? AS BIGINT) | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | WITH ScoreByMarker AS ( | SELECT * | FROM courseAssignmentMark | WHERE camAssignmentUid = ? | AND camSubmitterUid = ? | AND (? = 0 OR camLct = (SELECT MAX(mark.camLct) | FROM CourseAssignmentMark As mark | WHERE mark.camAssignmentUid = ? | AND mark.camSubmitterUid = ? | AND mark.camMarkerSubmitterUid = courseAssignmentMark.camMarkerSubmitterUid | )) | ORDER BY camLct DESC) | | SELECT marker.*, ScoreByMarker.*, (ClazzAssignment.caGroupUid != 0) AS isGroup | FROM ScoreByMarker | JOIN Person As marker | ON Marker.personUid = ScoreByMarker.camMarkerPersonUid | JOIN ClazzAssignment | ON ClazzAssignment.caUid = ? | ) AS _PagingData LIMIT ? OFFSET ? |setInt_tmp_isGroupisGroupmarkercountRows |SELECT COUNT(*) FROM ( | WITH ScoreByMarker AS ( | SELECT * | FROM courseAssignmentMark | WHERE camAssignmentUid = CAST(? AS BIGINT) | AND camSubmitterUid = CAST(? AS BIGINT) | AND (? = 0 OR camLct = (SELECT MAX(mark.camLct) | FROM CourseAssignmentMark As mark | WHERE mark.camAssignmentUid = CAST(? AS BIGINT) | AND mark.camSubmitterUid = CAST(? AS BIGINT) | AND mark.camMarkerSubmitterUid = courseAssignmentMark.camMarkerSubmitterUid | )) | ORDER BY camLct DESC) | | SELECT marker.*, ScoreByMarker.*, (ClazzAssignment.caGroupUid != 0) AS isGroup | FROM ScoreByMarker | JOIN Person As marker | ON Marker.personUid = ScoreByMarker.camMarkerPersonUid | JOIN ClazzAssignment | ON ClazzAssignment.caUid = CAST(? AS BIGINT) | ) AS _PagingCount |SELECT COUNT(*) FROM ( | WITH ScoreByMarker AS ( | SELECT * | FROM courseAssignmentMark | WHERE camAssignmentUid = ? | AND camSubmitterUid = ? | AND (? = 0 OR camLct = (SELECT MAX(mark.camLct) | FROM CourseAssignmentMark As mark | WHERE mark.camAssignmentUid = ? | AND mark.camSubmitterUid = ? | AND mark.camMarkerSubmitterUid = courseAssignmentMark.camMarkerSubmitterUid | )) | ORDER BY camLct DESC) | | SELECT marker.*, ScoreByMarker.*, (ClazzAssignment.caGroupUid != 0) AS isGroup | FROM ScoreByMarker | JOIN Person As marker | ON Marker.personUid = ScoreByMarker.camMarkerPersonUid | JOIN ClazzAssignment | ON ClazzAssignment.caUid = ? | ) AS _PagingCount |getMarkOfAssignmentForStudent | | SELECT * | FROM CourseAssignmentMark | WHERE camAssignmentUid = CAST(? AS BIGINT) | AND camSubmitterUid = CAST(? AS BIGINT) | ORDER BY camLct DESC | LIMIT 1 | | | SELECT * | FROM CourseAssignmentMark | WHERE camAssignmentUid = ? | AND camSubmitterUid = ? | ORDER BY camLct DESC | LIMIT 1 | |executeQueryfindNextSubmitterToMarkForAssignmentmarkerUid | | SELECT COALESCE(( | SELECT casSubmitterUid | FROM CourseAssignmentSubmission | | JOIN ClazzAssignment | ON ClazzAssignment.caUid = CourseAssignmentSubmission.casAssignmentUid | | LEFT JOIN CourseAssignmentMark | ON CourseAssignmentMark.camSubmitterUid = CourseAssignmentSubmission.casSubmitterUid | AND CourseAssignmentMark.camAssignmentUid = ClazzAssignment.caUid | | LEFT JOIN PeerReviewerAllocation | ON praAssignmentUid = ClazzAssignment.caUid | AND praToMarkerSubmitterUid = CAST(? AS BIGINT) | | WHERE CourseAssignmentSubmission.casSubmitterUid != CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casSubmitterUid != CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentMark.camUid IS NULL | AND (ClazzAssignment.caMarkingType = 1 | OR PeerReviewerAllocation.praMarkerSubmitterUid = CAST(? AS BIGINT)) | GROUP BY casSubmitterUid | LIMIT 1),0) | | | SELECT COALESCE(( | SELECT casSubmitterUid | FROM CourseAssignmentSubmission | | JOIN ClazzAssignment | ON ClazzAssignment.caUid = CourseAssignmentSubmission.casAssignmentUid | | LEFT JOIN CourseAssignmentMark | ON CourseAssignmentMark.camSubmitterUid = CourseAssignmentSubmission.casSubmitterUid | AND CourseAssignmentMark.camAssignmentUid = ClazzAssignment.caUid | | LEFT JOIN PeerReviewerAllocation | ON praAssignmentUid = ClazzAssignment.caUid | AND praToMarkerSubmitterUid = ? | | WHERE CourseAssignmentSubmission.casSubmitterUid != ? | AND CourseAssignmentSubmission.casSubmitterUid != ? | AND CourseAssignmentSubmission.casAssignmentUid = ? | AND CourseAssignmentMark.camUid IS NULL | AND (ClazzAssignment.caMarkingType = 1 | OR PeerReviewerAllocation.praMarkerSubmitterUid = ?) | GROUP BY casSubmitterUid | LIMIT 1),0) | |      "     '   !  0          #5*# $$   comustadmobilecoredbdaoCourseAssignmentMarkDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoCourseAssignmentMarkDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelpercheckNoSubmissionsMarkedkotlinxcoroutinesflowFlowBooleanassignmentUid_resultgetMarkOfAssignmentForSubmitterLiveDatalibentitiesAverageCourseAssignmentMarksubmitterUidgetAllMarksForUserAsFlowcollectionsListcompositesCourseAssignmentMarkAndMarkerNameaccountPersonUidasRepoFlowSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDAreplicateHttpRequestCatchAndLogCourseAssignmentMarkDao/getAllMarksForUserAsFlowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompanionLAMBDAreplicationonClientRepoDoorMessageHttpResponsegetAllMarksForSubmitterAsFlowCourseAssignmentMarkDao/getAllMarksForSubmitterAsFlowgetAllMarksForSubmitterAsFlowMarkerPersonsPersonAndPicturegetAllMarksOfAssignmentForSubmitterandroidxpagingPagingSourceIntCourseAssignmentMarkWithPersonMarkerfiltergetMarkOfAssignmentForStudentCourseAssignmentMarkfindNextSubmitterToMarkForAssignmentmarkerUidinsertentitywithRepoChangeMonitorinsertAsyncwithRepoChangeMonitorAsyncinsertListentityListupdateINSTANCE_RECEIVER1      $! &comustadmobilecoredbdaoCourseAssignmentSubmissionDaoDEFINEDkotlinUnitAnyinsertListAsyncentityListcollectionsListlibentitiesCourseAssignmentSubmissiongetAllSubmissionsFromSubmitterandroidxpagingPagingSourceIntassignmentUidLongsubmitterUidgetAllSubmissionsForUserkotlinxcoroutinesflowFlowaccountPersonUidgetAllSubmissionsFromSubmitterAsFlowgetLatestSubmissionForUserAsyncdoesUserHaveSubmissionsBooleancountFileSubmissionFromStudentcountSubmissionsFromSubmittergetStatusOfAssignmentForSubmitterfindLastSubmissionFromStudentcheckNoSubmissionsMadecheckNoSubmissionsMadeAsynccheckNoSubmissionsMadeFlowfindByUidAsFlowsubmissionUidfindByAssignmentUidAndAccountPersonUidINSTANCE_RECEIVERBaseDaoi ) "                $! &< @<comustadmobilecoredbdaoCourseAssignmentSubmissionDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoCourseAssignmentSubmissionDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncentityListcollectionsListlibentitiesCourseAssignmentSubmission_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabase_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQcasUid_newPknextIdAsyncIntEQplusAssignPLUSEQcasTimestamputilsystemTimeInMillisLAMBDAgetAllSubmissionsFromSubmitterandroidxpagingPagingSourceassignmentUidsubmitterUidgetAllSubmissionsForUserkotlinxcoroutinesflowFlowaccountPersonUidgetAllSubmissionsFromSubmitterAsFlowgetLatestSubmissionForUserAsyncdoesUserHaveSubmissionscountFileSubmissionFromStudentcountSubmissionsFromSubmittergetStatusOfAssignmentForSubmitterfindLastSubmissionFromStudentcheckNoSubmissionsMadecheckNoSubmissionsMadeAsynccheckNoSubmissionsMadeFlowfindByUidAsFlowsubmissionUidfindByAssignmentUidAndAccountPersonUidinsertentityIllegalStateExceptionStringinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER & " .       4        2       ) .$sT9Y !L> &IcomustadmobilecoredbdaoCourseAssignmentSubmissionDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCourseAssignmentSubmissionDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterCourseAssignmentSubmission_abortEntityInsertionAdapterlibentitiesCourseAssignmentSubmissionOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO CourseAssignmentSubmission (casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid) VALUES(?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcasUidsetObjectIntsetLongcasAssignmentUidcasSubmitterUidcasSubmitterPersonUidsetStringcasTextsetIntcasTypecasTimestampcasClazzUidINSTANCE_RECEIVERinsertListAsyncentityListcollectionsListinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListupdate_sqlUPDATE CourseAssignmentSubmission SET casAssignmentUid = ?, casSubmitterUid = ?, casSubmitterPersonUid = ?, casText = ?, casType = ?, casTimestamp = ?, casClazzUid = ? WHERE casUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDAgetAllSubmissionsFromSubmitterandroidxpagingPagingSourceassignmentUidsubmitterUidDoorLimitOffsetPagingSourceArrayarrayOfloadRows_limit_offsetprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin |SELECT * FROM ( | SELECT * | FROM CourseAssignmentSubmission | WHERE casAssignmentUid = CAST(? AS BIGINT) | AND casSubmitterUid = CAST(? AS BIGINT) | ORDER BY casTimestamp DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT * | FROM CourseAssignmentSubmission | WHERE casAssignmentUid = ? | AND casSubmitterUid = ? | ORDER BY casTimestamp DESC | ) AS _PagingData LIMIT ? OFFSET ? |coroutinesSuspendFunction1useResultsResultSetexecuteQueryAsyncKmp_resultmapRowsit_tmp_casUidgetLong_tmp_casAssignmentUid_tmp_casSubmitterUid_tmp_casSubmitterPersonUid_tmp_casTextgetString_tmp_casTypegetInt_tmp_casTimestamp_tmp_casClazzUidapplyExtensionFunctionType$this$applyEQcountRows |SELECT COUNT(*) FROM ( | SELECT * | FROM CourseAssignmentSubmission | WHERE casAssignmentUid = CAST(? AS BIGINT) | AND casSubmitterUid = CAST(? AS BIGINT) | ORDER BY casTimestamp DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT * | FROM CourseAssignmentSubmission | WHERE casAssignmentUid = ? | AND casSubmitterUid = ? | ORDER BY casTimestamp DESC | ) AS _PagingCount |mapNextRowgetAllSubmissionsForUserkotlinxflowFlowaccountPersonUiddoorFlowClazzAssignmentCourseGroupMemberClazzEnrolmentSuspendFunction0 | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE casSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | ) | | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE casSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | ) | |getAllSubmissionsFromSubmitterAsFlow | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casSubmitterUid = CAST(? AS BIGINT) | ORDER BY CourseAssignmentSubmission.casTimestamp DESC | | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = ? | AND CourseAssignmentSubmission.casSubmitterUid = ? | ORDER BY CourseAssignmentSubmission.casTimestamp DESC | |getLatestSubmissionForUserAsync | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE casSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | ) | AND CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | ORDER BY casTimestamp DESC | LIMIT 1 | | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE casSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | ) | AND CourseAssignmentSubmission.casAssignmentUid = ? | ORDER BY casTimestamp DESC | LIMIT 1 | |doesUserHaveSubmissions | | SELECT EXISTS | (SELECT CourseAssignmentSubmission.casUid | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | ) | AND CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT)) | | | SELECT EXISTS | (SELECT CourseAssignmentSubmission.casUid | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casSubmitterUid = ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | ) | AND CourseAssignmentSubmission.casAssignmentUid = ?) | |getBooleancountFileSubmissionFromStudent | | SELECT Count(casUid) | FROM CourseAssignmentSubmission | WHERE casAssignmentUid = CAST(? AS BIGINT) | AND casSubmitterUid = CAST(? AS BIGINT) | AND casType = 2 | | | SELECT Count(casUid) | FROM CourseAssignmentSubmission | WHERE casAssignmentUid = ? | AND casSubmitterUid = ? | AND casType = 2 | |countSubmissionsFromSubmitter | | SELECT Count(casUid) | FROM CourseAssignmentSubmission | WHERE casAssignmentUid = CAST(? AS BIGINT) | AND casSubmitterUid = CAST(? AS BIGINT) | | | SELECT Count(casUid) | FROM CourseAssignmentSubmission | WHERE casAssignmentUid = ? | AND casSubmitterUid = ? | |getStatusOfAssignmentForSubmitterCourseAssignmentMark | | SELECT COALESCE(( | SELECT (CASE WHEN CourseAssignmentMark.camAssignmentUid IS NOT NULL | THEN 2 | ELSE 1 | END) AS status | FROM CourseAssignmentSubmission | | LEFT JOIN CourseAssignmentMark | ON CourseAssignmentMark.camAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentMark.camSubmitterUid = CAST(? AS BIGINT) | | WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casSubmitterUid = CAST(? AS BIGINT) | LIMIT 1 | ),0) AS Status | | | SELECT COALESCE(( | SELECT (CASE WHEN CourseAssignmentMark.camAssignmentUid IS NOT NULL | THEN 2 | ELSE 1 | END) AS status | FROM CourseAssignmentSubmission | | LEFT JOIN CourseAssignmentMark | ON CourseAssignmentMark.camAssignmentUid = ? | AND CourseAssignmentMark.camSubmitterUid = ? | | WHERE CourseAssignmentSubmission.casAssignmentUid = ? | AND CourseAssignmentSubmission.casSubmitterUid = ? | LIMIT 1 | ),0) AS Status | |findLastSubmissionFromStudent | | SELECT * | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casSubmitterUid = CAST(? AS BIGINT) | ORDER BY casTimestamp DESC | LIMIT 1 | | | SELECT * | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = ? | AND CourseAssignmentSubmission.casSubmitterUid = ? | ORDER BY casTimestamp DESC | LIMIT 1 | |checkNoSubmissionsMade | | SELECT NOT EXISTS(SELECT 1 | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | LIMIT 1) | | | SELECT NOT EXISTS(SELECT 1 | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = ? | LIMIT 1) | |checkNoSubmissionsMadeAsync | | SELECT NOT EXISTS(SELECT 1 | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | LIMIT 1) | | | SELECT NOT EXISTS(SELECT 1 | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = ? | LIMIT 1) | |checkNoSubmissionsMadeFlowfindByUidAsFlowsubmissionUid | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE casUid = CAST(? AS BIGINT) | | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE casUid = ? | |findByAssignmentUidAndAccountPersonUid | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casSubmitterUid = | ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | ) | ORDER BY CourseAssignmentSubmission.casTimestamp DESC | | | SELECT CourseAssignmentSubmission.* | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = ? | AND CourseAssignmentSubmission.casSubmitterUid = | ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | ) | ORDER BY CourseAssignmentSubmission.casTimestamp DESC | | "     "         $ B         #=! -&D comustadmobilecoredbdaoCourseAssignmentSubmissionDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoCourseAssignmentSubmissionDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperinsertListAsyncentityListcollectionsListlibentitiesCourseAssignmentSubmissionreplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAgetAllSubmissionsFromSubmitterandroidxpagingPagingSourceIntassignmentUidsubmitterUid_resultgetAllSubmissionsForUserkotlinxflowFlowaccountPersonUidgetAllSubmissionsFromSubmitterAsFlowasRepoFlowreplicateHttpRequestCatchAndLogCourseAssignmentSubmissionDao/getAllSubmissionsFromSubmitterAsFlowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponsegetLatestSubmissionForUserAsyncCourseAssignmentSubmissionDao/getLatestSubmissionForUserAsyncdoesUserHaveSubmissionsBooleancountFileSubmissionFromStudentcountSubmissionsFromSubmittergetStatusOfAssignmentForSubmitterfindLastSubmissionFromStudentcheckNoSubmissionsMadecheckNoSubmissionsMadeAsynccheckNoSubmissionsMadeFlowfindByUidAsFlowsubmissionUidCourseAssignmentSubmissionDao/findByUidAsFlowfindByAssignmentUidAndAccountPersonUidCourseAssignmentSubmissionDao/findByAssignmentUidAndAccountPersonUidinsertentitywithRepoChangeMonitorinsertAsyncinsertListupdateINSTANCE_RECEIVER+ !   ,  (  comustadmobilecoredbdaoCourseAssignmentSubmissionFileDaoDEFINEDkotlinUnitAnyinsertListAsyncentityListcollectionsListlibentitiesCourseAssignmentSubmissionFilegetBySubmissionUidkotlinxcoroutinesflowFlowcompositesCourseAssignmentSubmissionFileAndTransferJobsubmissionUidLonggetByAssignmentUidAndPersonUidaccountPersonUidassignmentUidgetAllSubmissionFilesFromSubmitterAsFlowsubmitterUidupdateUricasaUiduriStringupdateTimesetDeleteddeletedBooleanINSTANCE_RECEIVERBaseDaob - !"                ,  (  < @<comustadmobilecoredbdaoCourseAssignmentSubmissionFileDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoCourseAssignmentSubmissionFileDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncentityListcollectionsListlibentitiesCourseAssignmentSubmissionFile_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabase_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQcasaUid_newPknextIdAsyncIntEQplusAssignPLUSEQcasaTimestamputilsystemTimeInMillisLAMBDAgetBySubmissionUidkotlinxcoroutinesflowFlowcompositesCourseAssignmentSubmissionFileAndTransferJobsubmissionUidgetByAssignmentUidAndPersonUidaccountPersonUidassignmentUidgetAllSubmissionFilesFromSubmitterAsFlowsubmitterUidupdateUriuriStringupdateTimesetDeleteddeletedinsertentityIllegalStateExceptioninsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER * !" 2          8        ,    -      -                 *( lM   comustadmobilecoredbdaoCourseAssignmentSubmissionFileDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCourseAssignmentSubmissionFileDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterCourseAssignmentSubmissionFile_abortEntityInsertionAdapterlibentitiesCourseAssignmentSubmissionFileOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO CourseAssignmentSubmissionFile (casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcasaUidsetObjectIntsetLongcasaSubmissionUidcasaSubmitterUidcasaCaUidcasaClazzUidsetStringcasaMimeTypecasaFileNamecasaUrisetIntcasaSizecasaTimestampsetBooleancasaDeletedINSTANCE_RECEIVERinsertListAsyncentityListcollectionsListinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListupdate_sqlUPDATE CourseAssignmentSubmissionFile SET casaSubmissionUid = ?, casaSubmitterUid = ?, casaCaUid = ?, casaClazzUid = ?, casaMimeType = ?, casaFileName = ?, casaUri = ?, casaSize = ?, casaTimestamp = ?, casaDeleted = ? WHERE casaUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDAgetBySubmissionUidkotlinxcoroutinesflowFlowcompositesCourseAssignmentSubmissionFileAndTransferJobsubmissionUiddoorFlowArrayarrayOfTransferJobItemSuspendFunction0prepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.* | FROM CourseAssignmentSubmissionFile | LEFT JOIN TransferJobItem | ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid | AND TransferJobItem.tjiTableId = 90 | WHERE CourseAssignmentSubmissionFile.casaSubmissionUid = CAST(? AS BIGINT) | AND NOT CourseAssignmentSubmissionFile.casaDeleted | | | SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.* | FROM CourseAssignmentSubmissionFile | LEFT JOIN TransferJobItem | ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid | AND TransferJobItem.tjiTableId = 90 | WHERE CourseAssignmentSubmissionFile.casaSubmissionUid = ? | AND NOT CourseAssignmentSubmissionFile.casaDeleted | |SuspendFunction1useResultsResultSetexecuteQueryAsyncKmp_resultmapRowsit_tmp_CourseAssignmentSubmissionFile_nullCount_tmp_casaUidgetLongwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_casaSubmissionUidtmp1_tmp_casaSubmitterUidtmp2_tmp_casaCaUidtmp3_tmp_casaClazzUidtmp4_tmp_casaMimeTypegetStringtmp5_tmp_casaFileNametmp6_tmp_casaUritmp7_tmp_casaSizegetInttmp8_tmp_casaTimestamptmp9_tmp_casaDeletedgetBooleantmp10_tmp_CourseAssignmentSubmissionFile_isAllNull_tmp_TransferJobItem_nullCount_tmp_tjiUidtjiUidtmp11_tmp_tjiTjUidtjiTjUidtmp12_tmp_tjTotalSizetjTotalSizetmp13_tmp_tjTransferredtjTransferredtmp14_tmp_tjAttemptCounttjAttemptCounttmp15_tmp_tjiSrctjiSrctmp16_tmp_tjiDesttjiDesttmp17_tmp_tjiTypetjiTypetmp18_tmp_tjiStatustjiStatustmp19_tmp_tjiTableIdtjiTableIdtmp20_tmp_tjiEntityUidtjiEntityUidtmp21_tmp_tjiEntityEtagtjiEntityEtagtmp22_tmp_tjiLockIdToReleasetjiLockIdToReleasetmp23_tmp_tjiPartialTmpFiletjiPartialTmpFiletmp24_tmp_TransferJobItem_isAllNullapplyExtensionFunctionType$this$applynotEXCLsubmissionFileEQtransferJobItemgetByAssignmentUidAndPersonUidaccountPersonUidassignmentUidCourseAssignmentSubmissionClazzAssignmentCourseGroupMemberClazzEnrolment | | SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.* | FROM CourseAssignmentSubmissionFile | LEFT JOIN TransferJobItem | ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid | AND TransferJobItem.tjiTableId = 90 | WHERE CourseAssignmentSubmissionFile.casaSubmissionUid IN | (SELECT CourseAssignmentSubmission.casUid | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = CAST(? AS BIGINT) | AND CourseAssignmentSubmission.casSubmitterUid = | ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | )) | AND NOT CourseAssignmentSubmissionFile.casaDeleted | | | SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.* | FROM CourseAssignmentSubmissionFile | LEFT JOIN TransferJobItem | ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid | AND TransferJobItem.tjiTableId = 90 | WHERE CourseAssignmentSubmissionFile.casaSubmissionUid IN | (SELECT CourseAssignmentSubmission.casUid | FROM CourseAssignmentSubmission | WHERE CourseAssignmentSubmission.casAssignmentUid = ? | AND CourseAssignmentSubmission.casSubmitterUid = | ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | )) | AND NOT CourseAssignmentSubmissionFile.casaDeleted | |getAllSubmissionFilesFromSubmitterAsFlowsubmitterUid | | SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.* | FROM CourseAssignmentSubmissionFile | LEFT JOIN TransferJobItem | ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid | AND TransferJobItem.tjiTableId = 90 | WHERE CourseAssignmentSubmissionFile.casaSubmitterUid = CAST(? AS BIGINT) | AND CourseAssignmentSubmissionFile.casaCaUid = CAST(? AS BIGINT) | AND NOT CourseAssignmentSubmissionFile.casaDeleted | | | SELECT CourseAssignmentSubmissionFile.*, TransferJobItem.* | FROM CourseAssignmentSubmissionFile | LEFT JOIN TransferJobItem | ON TransferJobItem.tjiEntityUid = CourseAssignmentSubmissionFile.casaUid | AND TransferJobItem.tjiTableId = 90 | WHERE CourseAssignmentSubmissionFile.casaSubmitterUid = ? | AND CourseAssignmentSubmissionFile.casaCaUid = ? | AND NOT CourseAssignmentSubmissionFile.casaDeleted | |updateUriuriupdateTime | | UPDATE CourseAssignmentSubmissionFile | SET casaUri = ?, | casaTimestamp = CAST(? AS BIGINT) | WHERE casaUid = CAST(? AS BIGINT) | | | UPDATE CourseAssignmentSubmissionFile | SET casaUri = ?, | casaTimestamp = ? | WHERE casaUid = ? | |executeUpdateAsyncKmpsetDeleteddeleted | | UPDATE CourseAssignmentSubmissionFile | SET casaDeleted = ?, | casaTimestamp = CAST(? AS BIGINT) | WHERE casaUid = CAST(? AS BIGINT) | | | UPDATE CourseAssignmentSubmissionFile | SET casaDeleted = ?, | casaTimestamp = ? | WHERE casaUid = ? | |} &  !   "        ,  @         #( J   comustadmobilecoredbdaoCourseAssignmentSubmissionFileDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoCourseAssignmentSubmissionFileDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperinsertListAsyncentityListcollectionsListlibentitiesCourseAssignmentSubmissionFilereplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAgetBySubmissionUidkotlinxflowFlowcompositesCourseAssignmentSubmissionFileAndTransferJobsubmissionUid_resultgetByAssignmentUidAndPersonUidaccountPersonUidassignmentUidasRepoFlowreplicateHttpRequestCatchAndLogCourseAssignmentSubmissionFileDao/getByAssignmentUidAndPersonUidFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponsegetAllSubmissionFilesFromSubmitterAsFlowsubmitterUidCourseAssignmentSubmissionFileDao/getAllSubmissionFilesFromSubmitterAsFlowupdateUricasaUiduriupdateTimesetDeleteddeletedBooleaninsertentitywithRepoChangeMonitorinsertAsyncinsertListupdateINSTANCE_RECEIVERT       !" *   -" % !comustadmobilecoredbdaoCourseBlockDaoDEFINEDkotlinUnitAnyfindByUidAsynclibentitiesCourseBlockuidLongexistsByUidBooleancbUidupdateAsyncIntentityreplaceListAsynclistcollectionsListfindByUidAsyncAsFlowkotlinxcoroutinesflowFlowfindByUidWithPictureAsFlowcompositesCourseBlockAndPicturefindAllCourseBlockByClazzUidAsyncCourseBlockAndDbEntitiesclazzUidincludeInactivefindAllCourseBlockByClazzUidAsFlowCourseBlockAndDisplayDetailsincludeHiddenhideUntilFilterTimeaccountPersonUidfindAllCourseBlockByClazzUidAsPagingSourceandroidxpagingPagingSourcecollapseListupdateActiveByUidactivechangeTimeupsertListAsyncgetTitleByAssignmentUidStringassignmentUidfindByUidAsFlowcourseBlockUidfindCourseBlockAndClazzUidByDiscussionPostUidCourseBlockUidAndClazzUidpostUidfindCourseBlockByDiscussionPostUidfindClazzUidByCourseBlockUidfindCourseBlockByAssignmentUidCourseBlockAndAssignmentfindBySourcedIdsourcedIdfindByClazzUidfindByClazzUidAsFlowCourseBlockAndGradebookDisplayDetailsupdateFromLineItemdateLastModifiedtitledescriptionassignDatedueDateresultValueMinFloatresultValueMaxfindCourseBlockAndClazzUidByCbUidINSTANCE_RECEIVERBaseDaoOneToManyJoinDao  "                !" *   -" % !< @<comustadmobilecoredbdaoCourseBlockDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoCourseBlockDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByUidAsynclibentitiesCourseBlockuidLongGET_PROPERTYexistsByUidBooleancbUidupdateAsyncIntentitycbLctEQutilsystemTimeInMillisreplaceListAsynclistcollectionsList_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabase_generatedPksMutableListmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFinternalirEQEQ_newPknextIdAsyncplusAssignPLUSEQLAMBDAfindByUidAsyncAsFlowkotlinxcoroutinesflowFlowfindByUidWithPictureAsFlowcompositesCourseBlockAndPicturefindAllCourseBlockByClazzUidAsyncCourseBlockAndDbEntitiesclazzUidincludeInactivefindAllCourseBlockByClazzUidAsFlowCourseBlockAndDisplayDetailsincludeHiddenhideUntilFilterTimeaccountPersonUidfindAllCourseBlockByClazzUidAsPagingSourceandroidxpagingPagingSourcecollapseListupdateActiveByUidactivechangeTimeupsertListAsyncgetTitleByAssignmentUidStringassignmentUidfindByUidAsFlowcourseBlockUidfindCourseBlockAndClazzUidByDiscussionPostUidCourseBlockUidAndClazzUidpostUidfindCourseBlockByDiscussionPostUidfindClazzUidByCourseBlockUidfindCourseBlockByAssignmentUidCourseBlockAndAssignmentfindBySourcedIdsourcedIdfindByClazzUidfindByClazzUidAsFlowCourseBlockAndGradebookDisplayDetailsupdateFromLineItemdateLastModifiedtitledescriptionassignDatedueDateresultValueMinFloatresultValueMaxfindCourseBlockAndClazzUidByCbUidinsertIllegalStateExceptioninsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!insertListAsyncupdateListAsyncINSTANCE_RECEIVER  "                &%         9 5              9 H) !   !  !hY!                 "#                "      #$    " F#   # * G >  - "G8D% %gX !comustadmobilecoredbdaoCourseBlockDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCourseBlockDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterCourseBlock_upsertEntityInsertionAdapterlibentitiesCourseBlockOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO CourseBlock (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcbUidsetObjectIntsetLongsetIntcbTypecbIndentLevelcbModuleParentBlockUidsetStringcbTitlecbDescriptioncbCompletionCriteriacbHideUntilDatecbDeadlineDatecbLateSubmissionPenaltycbGracePeriodDateextsetFloatNullableFloatcbMaxPointscbMinPointscbIndexcbClazzUidcbClazzSourcedIdsetBooleancbActivecbHiddencbEntityUidcbLctcbSourcedIdcbMetadatacbCreatedByAppIdINSTANCE_RECEIVER_insertAdapterCourseBlock_abortINSERT INTO CourseBlock (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)replaceListAsynclistcollectionsListinsertListAsyncupsertListAsyncinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListupdateAsync_result_sqlUPDATE CourseBlock SET cbType = ?, cbIndentLevel = ?, cbModuleParentBlockUid = ?, cbTitle = ?, cbDescription = ?, cbCompletionCriteria = ?, cbHideUntilDate = ?, cbDeadlineDate = ?, cbLateSubmissionPenalty = ?, cbGracePeriodDate = ?, cbMaxPoints = ?, cbMinPoints = ?, cbIndex = ?, cbClazzUid = ?, cbClazzSourcedId = ?, cbActive = ?, cbHidden = ?, cbEntityUid = ?, cbLct = ?, cbSourcedId = ?, cbMetadata = ?, cbCreatedByAppId = ? WHERE cbUid = ?prepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdateupdateListAsyncConnectionsetAutoCommitgetConnectionFOR_LOOPFOR_LOOP_ITERATORtmp0_iteratorIteratoriteratorhasNextFOR_LOOP_HAS_NEXTFOR_LOOP_INNER_WHILEFOR_LOOP_VARIABLE_entitynextFOR_LOOP_NEXTcommitfindByUidAsyncuidPreparedStatementConfigSELECT * FROM CourseBlock WHERE cbUid = CAST(? AS BIGINT)texttrimMargin |SELECT * FROM CourseBlock WHERE cbUid = ? |useResultsResultSetexecuteQueryAsyncKmpmapNextRowit_tmp_cbUidgetLong_tmp_cbTypegetInt_tmp_cbIndentLevel_tmp_cbModuleParentBlockUid_tmp_cbTitlegetString_tmp_cbDescription_tmp_cbCompletionCriteria_tmp_cbHideUntilDate_tmp_cbDeadlineDate_tmp_cbLateSubmissionPenalty_tmp_cbGracePeriodDate_tmp_cbMaxPointsgetFloatNullable_tmp_cbMinPoints_tmp_cbIndex_tmp_cbClazzUid_tmp_cbClazzSourcedId_tmp_cbActivegetBoolean_tmp_cbHidden_tmp_cbEntityUid_tmp_cbLct_tmp_cbSourcedId_tmp_cbMetadata_tmp_cbCreatedByAppIdapplyExtensionFunctionType$this$applyEQexistsByUid | | SELECT EXISTS( | SELECT CourseBlock.cbUid | FROM CourseBlock | WHERE CourseBlock.cbUid = CAST(? AS BIGINT)) | | | SELECT EXISTS( | SELECT CourseBlock.cbUid | FROM CourseBlock | WHERE CourseBlock.cbUid = ?) | |findByUidAsyncAsFlowkotlinxflowFlowdoorFlowArrayarrayOfSuspendFunction0 |SELECT * FROM CourseBlock WHERE cbUid = ? |findByUidWithPictureAsFlowcompositesCourseBlockAndPictureCourseBlockPicture | | SELECT CourseBlock.*, CourseBlockPicture.* | FROM CourseBlock | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CAST(? AS BIGINT) | WHERE CourseBlock.cbUid = CAST(? AS BIGINT) | | | SELECT CourseBlock.*, CourseBlockPicture.* | FROM CourseBlock | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = ? | WHERE CourseBlock.cbUid = ? | |_tmp_CourseBlock_nullCountwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inctmp1tmp2tmp3tmp4tmp5tmp6tmp7tmp8tmp9tmp10tmp11tmp12tmp13tmp14tmp15tmp16tmp17tmp18tmp19tmp20tmp21tmp22_tmp_CourseBlock_isAllNull_tmp_CourseBlockPicture_nullCount_tmp_cbpUidcbpUidtmp23_tmp_cbpLctcbpLcttmp24_tmp_cbpPictureUricbpPictureUritmp25_tmp_cbpThumbnailUricbpThumbnailUritmp26_tmp_CourseBlockPicture_isAllNullnotEXCLblockpicturefindAllCourseBlockByClazzUidAsyncCourseBlockAndDbEntitiesclazzUidincludeInactive | | SELECT CourseBlock.*, Assignment.*, Entry.*, Language.*, CourseBlockPicture.*, | (SELECT CourseGroupSet.cgsName | FROM CourseGroupSet | WHERE CourseBlock.cbType = 103 | AND assignment.caGroupUid != 0 | AND CourseGroupSet.cgsUid = assignment.caGroupUid) AS assignmentCourseGroupSetName | FROM CourseBlock | LEFT JOIN ClazzAssignment AS Assignment | ON assignment.caUid = CourseBlock.cbEntityUid | AND CourseBlock.cbType = 103 | LEFT JOIN ContentEntry AS Entry | ON entry.contentEntryUid = CourseBlock.cbEntityUid | AND CourseBlock.cbType = 104 | LEFT JOIN Language | ON Language.langUid = Entry.primaryLanguageUid | AND CourseBlock.cbType = 104 | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | WHERE CourseBlock.cbClazzUid = CAST(? AS BIGINT) | AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive) | AND (CourseBlock.cbType != 300) | ORDER BY CourseBlock.cbIndex | | | SELECT CourseBlock.*, Assignment.*, Entry.*, Language.*, CourseBlockPicture.*, | (SELECT CourseGroupSet.cgsName | FROM CourseGroupSet | WHERE CourseBlock.cbType = 103 | AND assignment.caGroupUid != 0 | AND CourseGroupSet.cgsUid = assignment.caGroupUid) AS assignmentCourseGroupSetName | FROM CourseBlock | LEFT JOIN ClazzAssignment AS Assignment | ON assignment.caUid = CourseBlock.cbEntityUid | AND CourseBlock.cbType = 103 | LEFT JOIN ContentEntry AS Entry | ON entry.contentEntryUid = CourseBlock.cbEntityUid | AND CourseBlock.cbType = 104 | LEFT JOIN Language | ON Language.langUid = Entry.primaryLanguageUid | AND CourseBlock.cbType = 104 | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | WHERE CourseBlock.cbClazzUid = ? | AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive) | AND (CourseBlock.cbType != 300) | ORDER BY CourseBlock.cbIndex | |mapRows_tmp_assignmentCourseGroupSetNameassignmentCourseGroupSetName_tmp_ContentEntry_nullCount_tmp_contentEntryUidcontentEntryUidtmp27_tmp_titletitletmp28_tmp_descriptiondescriptiontmp29_tmp_entryIdentryIdtmp30_tmp_authorauthortmp31_tmp_publisherpublishertmp32_tmp_licenseTypelicenseTypetmp33_tmp_licenseNamelicenseNametmp34_tmp_licenseUrllicenseUrltmp35_tmp_sourceUrlsourceUrltmp36_tmp_thumbnailUrlthumbnailUrltmp37_tmp_lastModifiedlastModifiedtmp38_tmp_primaryLanguageUidprimaryLanguageUidtmp39_tmp_languageVariantUidlanguageVariantUidtmp40_tmp_contentFlagscontentFlagstmp41_tmp_leafleaftmp42_tmp_publikpubliktmp43_tmp_ceInactiveceInactivetmp44_tmp_completionCriteriacompletionCriteriatmp45_tmp_minScoreminScoretmp46_tmp_contentTypeFlagcontentTypeFlagtmp47_tmp_contentOwnercontentOwnertmp48_tmp_contentOwnerTypecontentOwnerTypetmp49_tmp_contentEntryLocalChangeSeqNumcontentEntryLocalChangeSeqNumtmp50_tmp_contentEntryMasterChangeSeqNumcontentEntryMasterChangeSeqNumtmp51_tmp_contentEntryLastChangedBycontentEntryLastChangedBytmp52_tmp_contentEntryLctcontentEntryLcttmp53_tmp_ContentEntry_isAllNull_tmp_Language_nullCount_tmp_langUidlangUidtmp54_tmp_namenametmp55_tmp_iso_639_1_standardiso_639_1_standardtmp56_tmp_iso_639_2_standardiso_639_2_standardtmp57_tmp_iso_639_3_standardiso_639_3_standardtmp58_tmp_Language_TypeLanguage_Typetmp59_tmp_languageActivelanguageActivetmp60_tmp_langLocalChangeSeqNumlangLocalChangeSeqNumtmp61_tmp_langMasterChangeSeqNumlangMasterChangeSeqNumtmp62_tmp_langLastChangedBylangLastChangedBytmp63_tmp_langLctlangLcttmp64_tmp_Language_isAllNull_tmp_ClazzAssignment_nullCount_tmp_caUidcaUidtmp65_tmp_caTitlecaTitletmp66_tmp_caDescriptioncaDescriptiontmp67_tmp_caGroupUidcaGroupUidtmp68_tmp_caActivecaActivetmp69_tmp_caClassCommentEnabledcaClassCommentEnabledtmp70_tmp_caPrivateCommentsEnabledcaPrivateCommentsEnabledtmp71_tmp_caCompletionCriteriacaCompletionCriteriatmp72_tmp_caRequireFileSubmissioncaRequireFileSubmissiontmp73_tmp_caFileTypecaFileTypetmp74_tmp_caSizeLimitcaSizeLimittmp75_tmp_caNumberOfFilescaNumberOfFilestmp76_tmp_caSubmissionPolicycaSubmissionPolicytmp77_tmp_caMarkingTypecaMarkingTypetmp78_tmp_caRequireTextSubmissioncaRequireTextSubmissiontmp79_tmp_caTextLimitTypecaTextLimitTypetmp80_tmp_caTextLimitcaTextLimittmp81_tmp_caXObjectUidcaXObjectUidtmp82_tmp_caClazzUidcaClazzUidtmp83_tmp_caPeerReviewerCountcaPeerReviewerCounttmp84_tmp_caLocalChangeSeqNumcaLocalChangeSeqNumtmp85_tmp_caMasterChangeSeqNumcaMasterChangeSeqNumtmp86_tmp_caLastChangedBycaLastChangedBytmp87_tmp_caLctcaLcttmp88_tmp_ClazzAssignment_isAllNullcourseBlockcourseBlockPicturecontentEntryContentEntrycontentEntryLangLanguageassignmentClazzAssignmentfindAllCourseBlockByClazzUidAsFlowCourseBlockAndDisplayDetailsincludeHiddenhideUntilFilterTimeaccountPersonUidContentEntryPicture2 | | SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.* | FROM CourseBlock | LEFT JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | LEFT JOIN ContentEntryPicture2 | ON CourseBlock.cbType = 104 | AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid | WHERE CourseBlock.cbClazzUid = CAST(? AS BIGINT) | AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive) | AND (CAST(? AS INTEGER) = 1 OR NOT CourseBlock.cbHidden) | AND (CAST(? AS BIGINT) >= CourseBlock.cbHideUntilDate) | AND (CAST(? AS BIGINT) >= COALESCE( | (SELECT CourseBlockParent.cbHideUntilDate | FROM CourseBlock CourseBlockParent | WHERE CourseBlockParent.cbUid = CourseBlock.cbModuleParentBlockUid), 0)) | AND (CourseBlock.cbType != 300) | AND CAST(? AS BIGINT) = CAST(? AS BIGINT) | ORDER BY CourseBlock.cbIndex | | | SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.* | FROM CourseBlock | LEFT JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | LEFT JOIN ContentEntryPicture2 | ON CourseBlock.cbType = 104 | AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid | WHERE CourseBlock.cbClazzUid = ? | AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive) | AND (CAST(? AS INTEGER) = 1 OR NOT CourseBlock.cbHidden) | AND (? >= CourseBlock.cbHideUntilDate) | AND (? >= COALESCE( | (SELECT CourseBlockParent.cbHideUntilDate | FROM CourseBlock CourseBlockParent | WHERE CourseBlockParent.cbUid = CourseBlock.cbModuleParentBlockUid), 0)) | AND (CourseBlock.cbType != 300) | AND ? = ? | ORDER BY CourseBlock.cbIndex | |_tmp_ContentEntryPicture2_nullCount_tmp_cepUidcepUid_tmp_cepLctcepLct_tmp_cepPictureUricepPictureUri_tmp_cepThumbnailUricepThumbnailUri_tmp_ContentEntryPicture2_isAllNullcontentEntryPicture2findAllCourseBlockByClazzUidAsPagingSourceandroidxpagingPagingSourcecollapseListDoorLimitOffsetPagingSourceloadRows_limit_offset |SELECT * FROM ( | SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.*, | CourseBlock.cbUid NOT IN(?) AS expanded | FROM CourseBlock | LEFT JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | LEFT JOIN ContentEntryPicture2 | ON CourseBlock.cbType = 104 | AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid | WHERE CourseBlock.cbClazzUid = CAST(? AS BIGINT) | AND CourseBlock.cbModuleParentBlockUid NOT IN(?) | AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive) | AND (CAST(? AS INTEGER) = 1 OR NOT CourseBlock.cbHidden) | AND (CAST(? AS BIGINT) >= CourseBlock.cbHideUntilDate) | AND (CAST(? AS BIGINT) >= COALESCE( | (SELECT CourseBlockParent.cbHideUntilDate | FROM CourseBlock CourseBlockParent | WHERE CourseBlockParent.cbUid = CourseBlock.cbModuleParentBlockUid), 0)) | AND (CourseBlock.cbType != 300) | AND CAST(? AS BIGINT) = CAST(? AS BIGINT) | ORDER BY CourseBlock.cbIndex | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.*, | CourseBlock.cbUid NOT IN(?) AS expanded | FROM CourseBlock | LEFT JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | LEFT JOIN ContentEntryPicture2 | ON CourseBlock.cbType = 104 | AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid | WHERE CourseBlock.cbClazzUid = ? | AND CourseBlock.cbModuleParentBlockUid NOT IN(?) | AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive) | AND (CAST(? AS INTEGER) = 1 OR NOT CourseBlock.cbHidden) | AND (? >= CourseBlock.cbHideUntilDate) | AND (? >= COALESCE( | (SELECT CourseBlockParent.cbHideUntilDate | FROM CourseBlock CourseBlockParent | WHERE CourseBlockParent.cbUid = CourseBlock.cbModuleParentBlockUid), 0)) | AND (CourseBlock.cbType != 300) | AND ? = ? | ORDER BY CourseBlock.cbIndex | ) AS _PagingData LIMIT ? OFFSET ? |setArraycreateArrayOrProxyArrayOfBIGINTtoTypedArraycountRows |SELECT COUNT(*) FROM ( | SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.*, | CourseBlock.cbUid NOT IN(?) AS expanded | FROM CourseBlock | LEFT JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | LEFT JOIN ContentEntryPicture2 | ON CourseBlock.cbType = 104 | AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid | WHERE CourseBlock.cbClazzUid = CAST(? AS BIGINT) | AND CourseBlock.cbModuleParentBlockUid NOT IN(?) | AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive) | AND (CAST(? AS INTEGER) = 1 OR NOT CourseBlock.cbHidden) | AND (CAST(? AS BIGINT) >= CourseBlock.cbHideUntilDate) | AND (CAST(? AS BIGINT) >= COALESCE( | (SELECT CourseBlockParent.cbHideUntilDate | FROM CourseBlock CourseBlockParent | WHERE CourseBlockParent.cbUid = CourseBlock.cbModuleParentBlockUid), 0)) | AND (CourseBlock.cbType != 300) | AND CAST(? AS BIGINT) = CAST(? AS BIGINT) | ORDER BY CourseBlock.cbIndex | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.*, | CourseBlock.cbUid NOT IN(?) AS expanded | FROM CourseBlock | LEFT JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | LEFT JOIN ContentEntryPicture2 | ON CourseBlock.cbType = 104 | AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid | WHERE CourseBlock.cbClazzUid = ? | AND CourseBlock.cbModuleParentBlockUid NOT IN(?) | AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive) | AND (CAST(? AS INTEGER) = 1 OR NOT CourseBlock.cbHidden) | AND (? >= CourseBlock.cbHideUntilDate) | AND (? >= COALESCE( | (SELECT CourseBlockParent.cbHideUntilDate | FROM CourseBlock CourseBlockParent | WHERE CourseBlockParent.cbUid = CourseBlock.cbModuleParentBlockUid), 0)) | AND (CourseBlock.cbType != 300) | AND ? = ? | ORDER BY CourseBlock.cbIndex | ) AS _PagingCount |updateActiveByUidactivechangeTime | | UPDATE CourseBlock | SET cbActive = ?, | cbLct = CAST(? AS BIGINT) | WHERE cbUid = CAST(? AS BIGINT) | | UPDATE CourseBlock | SET cbActive = ?, | cbLct = ? | WHERE cbUid = ? |getTitleByAssignmentUidassignmentUid | | SELECT CourseBlock.cbTitle | FROM CourseBlock | WHERE CourseBlock.cbEntityUid = CAST(? AS BIGINT) | AND CourseBlock.cbType = 103 | | | SELECT CourseBlock.cbTitle | FROM CourseBlock | WHERE CourseBlock.cbEntityUid = ? | AND CourseBlock.cbType = 103 | |findByUidAsFlowcourseBlockUid | | SELECT CourseBlock.* | FROM CourseBlock | WHERE CourseBlock.cbUid = CAST(? AS BIGINT) | | | SELECT CourseBlock.* | FROM CourseBlock | WHERE CourseBlock.cbUid = ? | |findCourseBlockAndClazzUidByDiscussionPostUidCourseBlockUidAndClazzUidpostUid | | SELECT COALESCE(CourseBlock.cbUid, 0) AS courseBlockUid, | COALESCE(CourseBlock.cbClazzUid, 0) AS clazzUid | FROM CourseBlock | WHERE CourseBlock.cbUid = | (SELECT DiscussionPost.discussionPostCourseBlockUid | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = CAST(? AS BIGINT)) | LIMIT 1 | | | SELECT COALESCE(CourseBlock.cbUid, 0) AS courseBlockUid, | COALESCE(CourseBlock.cbClazzUid, 0) AS clazzUid | FROM CourseBlock | WHERE CourseBlock.cbUid = | (SELECT DiscussionPost.discussionPostCourseBlockUid | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = ?) | LIMIT 1 | |_tmp_clazzUid_tmp_courseBlockUidfindCourseBlockByDiscussionPostUid | | SELECT CourseBlock.* | FROM CourseBlock | WHERE CourseBlock.cbUid = | (SELECT DiscussionPost.discussionPostCourseBlockUid | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = CAST(? AS BIGINT)) | | | SELECT CourseBlock.* | FROM CourseBlock | WHERE CourseBlock.cbUid = | (SELECT DiscussionPost.discussionPostCourseBlockUid | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = ?) | |findClazzUidByCourseBlockUid | | SELECT COALESCE(CourseBlock.cbClazzUid, 0) AS clazzUid | FROM CourseBlock | WHERE CourseBlock.cbUid = CAST(? AS BIGINT) | | | SELECT COALESCE(CourseBlock.cbClazzUid, 0) AS clazzUid | FROM CourseBlock | WHERE CourseBlock.cbUid = ? | |findCourseBlockByAssignmentUidCourseBlockAndAssignment | | SELECT ClazzAssignment.*, CourseBlock.* | FROM ClazzAssignment | JOIN CourseBlock | ON CourseBlock.cbEntityUid = CAST(? AS BIGINT) | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | LIMIT 1 | | | SELECT ClazzAssignment.*, CourseBlock.* | FROM ClazzAssignment | JOIN CourseBlock | ON CourseBlock.cbEntityUid = ? | WHERE ClazzAssignment.caUid = ? | LIMIT 1 | |findBySourcedIdsourcedId | | SELECT CourseBlock.* | FROM CourseBlock | WHERE CAST(cbUid AS TEXT) = ? | OR cbSourcedId = ? | AND CAST(? AS BIGINT) != 0 | | | SELECT CourseBlock.* | FROM CourseBlock | WHERE CAST(cbUid AS TEXT) = ? | OR cbSourcedId = ? | AND ? != 0 | |findByClazzUid | | SELECT CourseBlock.* | FROM CourseBlock | WHERE CourseBlock.cbClazzUid = CAST(? AS BIGINT) | | | SELECT CourseBlock.* | FROM CourseBlock | WHERE CourseBlock.cbClazzUid = ? | |findByClazzUidAsFlowCourseBlockAndGradebookDisplayDetails | | SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.* | FROM CourseBlock | LEFT JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | LEFT JOIN ContentEntryPicture2 | ON CourseBlock.cbType = 104 | AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid | WHERE CourseBlock.cbClazzUid = CAST(? AS BIGINT) | AND CAST(CourseBlock.cbActive AS INTEGER) = 1 | ORDER BY CourseBlock.cbIndex | | | SELECT CourseBlock.*, ContentEntry.*, CourseBlockPicture.*, ContentEntryPicture2.* | FROM CourseBlock | LEFT JOIN ContentEntry | ON CourseBlock.cbType = 104 | AND ContentEntry.contentEntryUid = CourseBlock.cbEntityUid | LEFT JOIN CourseBlockPicture | ON CourseBlockPicture.cbpUid = CourseBlock.cbUid | LEFT JOIN ContentEntryPicture2 | ON CourseBlock.cbType = 104 | AND ContentEntryPicture2.cepUid = CourseBlock.cbEntityUid | WHERE CourseBlock.cbClazzUid = ? | AND CAST(CourseBlock.cbActive AS INTEGER) = 1 | ORDER BY CourseBlock.cbIndex | |updateFromLineItemdateLastModifiedassignDatedueDateresultValueMinresultValueMax | | UPDATE CourseBlock | SET cbActive = ?, | cbLct = CAST(? AS BIGINT), | cbTitle = ?, | cbDescription = ?, | cbHideUntilDate = CAST(? AS BIGINT), | cbDeadlineDate = CAST(? AS BIGINT), | cbMinPoints = ?, | cbMaxPoints = ? | WHERE cbUid = CAST(? AS BIGINT) | | | UPDATE CourseBlock | SET cbActive = ?, | cbLct = ?, | cbTitle = ?, | cbDescription = ?, | cbHideUntilDate = ?, | cbDeadlineDate = ?, | cbMinPoints = ?, | cbMaxPoints = ? | WHERE cbUid = ? | |setFloatfindCourseBlockAndClazzUidByCbUid | | SELECT CourseBlock.cbUid AS courseBlockUid, | CourseBlock.cbClazzUid AS clazzUid | FROM CourseBlock | WHERE cbUid = CAST(? AS BIGINT) | AND CAST(? AS BIGINT) != 0 | | | SELECT CourseBlock.cbUid AS courseBlockUid, | CourseBlock.cbClazzUid AS clazzUid | FROM CourseBlock | WHERE cbUid = ? | AND ? != 0 | |      "           #         # )!0" 1* '9     -<"- %# ! comustadmobilecoredbdaoCourseBlockDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoCourseBlockDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperfindByUidAsynclibentitiesCourseBlockuid_resultexistsByUidBooleancbUidupdateAsyncIntentityreplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAreplaceListAsynclistcollectionsListfindByUidAsyncAsFlowkotlinxflowFlowasRepoFlowreplicateHttpRequestCatchAndLogCourseBlockDao/findByUidAsyncAsFlowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponsefindByUidWithPictureAsFlowcompositesCourseBlockAndPictureCourseBlockDao/findByUidWithPictureAsFlowfindAllCourseBlockByClazzUidAsyncCourseBlockAndDbEntitiesclazzUidincludeInactiveCourseBlockDao/findAllCourseBlockByClazzUidAsyncfindAllCourseBlockByClazzUidAsFlowCourseBlockAndDisplayDetailsincludeHiddenhideUntilFilterTimeaccountPersonUidCourseBlockDao/findAllCourseBlockByClazzUidAsFlowfindAllCourseBlockByClazzUidAsPagingSourceandroidxpagingPagingSourcecollapseListDoorRepositoryReplicatePullPagingSourceCourseBlockDao/findAllCourseBlockByClazzUidAsPagingSourceSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParams_pagingParamsreplicateHttpRequestOrThrowListSerializerpagingSourceLoadParametersnullableendOfPaginationReachedupdateActiveByUidactivechangeTimeupsertListAsyncgetTitleByAssignmentUidassignmentUidfindByUidAsFlowcourseBlockUidCourseBlockDao/findByUidAsFlowfindCourseBlockAndClazzUidByDiscussionPostUidCourseBlockUidAndClazzUidpostUidCourseBlockDao/findCourseBlockAndClazzUidByDiscussionPostUidfindCourseBlockByDiscussionPostUidfindClazzUidByCourseBlockUidfindCourseBlockByAssignmentUidCourseBlockAndAssignmentCourseBlockDao/findCourseBlockByAssignmentUidfindBySourcedIdsourcedIdCourseBlockDao/findBySourcedIdfindByClazzUidfindByClazzUidAsFlowCourseBlockAndGradebookDisplayDetailsCourseBlockDao/findByClazzUidAsFlowupdateFromLineItemdateLastModifiedtitledescriptionassignDatedueDateresultValueMinFloatresultValueMaxfindCourseBlockAndClazzUidByCbUidinsertwithRepoChangeMonitorinsertAsyncinsertListentityListupdateinsertListAsyncupdateListAsyncINSTANCE_RECEIVER    comustadmobilecoredbdaoCourseBlockPictureDaoDEFINEDkotlinUnitAnyupsertListAsyncentitiescollectionsListlibCourseBlockPictureupdateUriuidLonguriStringthumbnailUritimeImageDaoINSTANCE_RECEIVER7 ! "          comustadmobilecoredbdaoCourseBlockPictureDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoCourseBlockPictureDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertListAsyncentitiescollectionsListlibCourseBlockPicture_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitcbpLctEQutilsystemTimeInMillisLAMBDAGET_PROPERTYupdateUriuiduriStringthumbnailUritimeINSTANCE_RECEIVERM  " '  m  -     comustadmobilecoredbdaoCourseBlockPictureDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCourseBlockPictureDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterCourseBlockPicture_upsertEntityInsertionAdapterlibentitiesCourseBlockPictureOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO CourseBlockPicture (cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) VALUES(?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongcbpUidcbpLctsetStringcbpPictureUricbpThumbnailUriINSTANCE_RECEIVERupsertListAsynccollectionsListinsertListAsyncupdateUriuidurithumbnailUritimeextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | UPDATE CourseBlockPicture | SET cbpPictureUri = ?, | cbpThumbnailUri = ?, | cbpLct = CAST(? AS BIGINT) | WHERE cbpUid = CAST(? AS BIGINT) | | | UPDATE CourseBlockPicture | SET cbpPictureUri = ?, | cbpThumbnailUri = ?, | cbpLct = ? | WHERE cbpUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDA@      "        comustadmobilecoredbdaoCourseBlockPictureDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoCourseBlockPictureDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertListAsyncentitiescollectionsListlibCourseBlockPicturereplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupdateUriuidurithumbnailUritimeINSTANCE_RECEIVER4      " ) ,$ comustadmobilecoredbdaoCourseGroupMemberDaoDEFINEDkotlinUnitAnyfindByGroupSetUidAsynccollectionsListlibentitiesCourseGroupMembergroupSetUidLongfindByPersonUidstudentUidinsertListAsyncentityListupdateListAsyncfindByCourseGroupSetAndClazzCourseGroupMemberAndNamecgsUidclazzUidtimeactiveFilterIntaccountPersonUidfindByCourseGroupSetAndClazzAsFlowkotlinxcoroutinesflowFlowfindByCourseGroupSetAndClazzAsFlowPersonscompositesPersonAndPicturefindByCourseGroupSetAndClazzAsFlowEnrolmentsClazzEnrolmentupsertListAsynclistfindByCourseGroupSetAndGroupNumAsyncCourseGroupMemberAndPersoncourseGroupSetUidgroupNumassignmentUidINSTANCE_RECEIVERBaseDaom   "                 " ) ,$ < @<comustadmobilecoredbdaoCourseGroupMemberDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoCourseGroupMemberDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByGroupSetUidAsynccollectionsListlibentitiesCourseGroupMembergroupSetUidLongGET_PROPERTYfindByPersonUidstudentUidinsertListAsyncentityList_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabase_generatedPksMutableListmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQcgmUid_newPknextIdAsyncIntEQplusAssignPLUSEQcgmLctutilsystemTimeInMillisLAMBDAupdateListAsyncfindByCourseGroupSetAndClazzCourseGroupMemberAndNamecgsUidclazzUidtimeactiveFilteraccountPersonUidfindByCourseGroupSetAndClazzAsFlowkotlinxcoroutinesflowFlowfindByCourseGroupSetAndClazzAsFlowPersonscompositesPersonAndPicturefindByCourseGroupSetAndClazzAsFlowEnrolmentsClazzEnrolmentupsertListAsynclistfindByCourseGroupSetAndGroupNumAsyncCourseGroupMemberAndPersoncourseGroupSetUidgroupNumassignmentUidinsertentityIllegalStateExceptionStringinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVERw  " %  m    +&x,   m              5       " ) K                      ,#'"#$% ($%&!$ comustadmobilecoredbdaoCourseGroupMemberDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCourseGroupMemberDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterCourseGroupMember_abortEntityInsertionAdapterlibentitiesCourseGroupMemberOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO CourseGroupMember (cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) VALUES(?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcgmUidsetObjectIntsetLongcgmSetUidsetIntcgmGroupNumbercgmPersonUidcgmLctINSTANCE_RECEIVER_insertAdapterCourseGroupMember_upsertINSERT OR REPLACE INTO CourseGroupMember (cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) VALUES(?, ?, ?, ?, ?)insertListAsyncentityListcollectionsListupsertListAsynclistinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListupdateListAsync_sqlUPDATE CourseGroupMember SET cgmSetUid = ?, cgmGroupNumber = ?, cgmPersonUid = ?, cgmLct = ? WHERE cgmUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtConnectionsetAutoCommitgetConnectionFOR_LOOPFOR_LOOP_ITERATORtmp0_iteratorIteratoriteratorhasNextFOR_LOOP_HAS_NEXTFOR_LOOP_INNER_WHILEFOR_LOOP_VARIABLE_entitynextFOR_LOOP_NEXTexecuteUpdateAsyncKmpcommitLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindByGroupSetUidAsyncgroupSetUidPreparedStatementConfigtexttrimMargin | | SELECT CourseGroupMember.* | FROM CourseGroupMember | WHERE cgmSetUid = CAST(? AS BIGINT) | | | SELECT CourseGroupMember.* | FROM CourseGroupMember | WHERE cgmSetUid = ? | |useResultsResultSetexecuteQueryAsyncKmp_resultmapRowsit_tmp_cgmUidgetLong_tmp_cgmSetUid_tmp_cgmGroupNumbergetInt_tmp_cgmPersonUid_tmp_cgmLctapplyExtensionFunctionType$this$applyEQfindByPersonUidstudentUid | | SELECT * | FROM CourseGroupMember | WHERE cgmPersonUid = CAST(? AS BIGINT) | AND cgmSetUid = CAST(? AS BIGINT) | LIMIT 1 | | | SELECT * | FROM CourseGroupMember | WHERE cgmPersonUid = ? | AND cgmSetUid = ? | LIMIT 1 | |mapNextRowfindByCourseGroupSetAndClazzCourseGroupMemberAndNamecgsUidclazzUidtimeactiveFilteraccountPersonUid | | --First get a list of all enrolments - this may contains duplicates for students who leave and re-enrol | WITH AllEnrollmentsAndActiveStatus(enrolledPersonUid, isActive) AS | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid AS enrolledPersonUid, | (CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) AS isActive | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = | CASE(CAST(? AS BIGINT)) | WHEN 0 THEN | (SELECT CourseGroupSet.cgsClazzUid | FROM CourseGroupSet | WHERE CourseGroupSet.cgsUid = CAST(? AS BIGINT)) | ELSE CAST(? AS BIGINT) | END | | AND ClazzEnrolment.clazzEnrolmentRole = 1000), | --Consolidate and removes any duplicates | EnrolledStudentPersonUids(enrolledPersonUid, isActive) AS | (SELECT DISTINCT AllEnrollmentsAndActiveStatus.enrolledPersonUid, | (SELECT CAST(AllEnrollmentsInner.isActive AS INTEGER) | FROM AllEnrollmentsAndActiveStatus AllEnrollmentsInner | WHERE AllEnrollmentsInner.enrolledPersonUid = AllEnrollmentsAndActiveStatus.enrolledPersonUid | ORDER BY AllEnrollmentsInner.isActive DESC | LIMIT 1) AS isActive | FROM AllEnrollmentsAndActiveStatus) | | -- Now create a list with each students name, the coursegroupmember object if any and active status | SELECT (Person.firstNames || ' ' || Person.lastName) AS name, | Person.personUid, | CourseGroupMember.*, | PersonPicture.*, | EnrolledStudentPersonUids.isActive AS enrolmentIsActive, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM EnrolledStudentPersonUids | JOIN Person | ON Person.personUid = EnrolledStudentPersonUids.enrolledPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | -- LEFT JOIN will use the most recent member in case of duplicate assignments eg if | LEFT JOIN CourseGroupMember | ON CourseGroupMember.cgmUid = | (SELECT CourseGroupMember.cgmUid | FROM CourseGroupMember | WHERE CourseGroupMember.cgmPersonUid = EnrolledStudentPersonUids.enrolledPersonUid | AND CourseGroupMember.cgmSetUid = CAST(? AS BIGINT) | ORDER BY CourseGroupMember.cgmLct DESC | LIMIT 1) | WHERE (? = 0 OR ? = EnrolledStudentPersonUids.isActive) | /* | * Begin permission check - must have course view members permission, or active | * user must be in the same group | */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 8192 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 8192 | | ) > 0) | ) | ) | OR EXISTS( | SELECT 1 | FROM CourseGroupMember _CourseGroupMemberForActivePerson | WHERE _CourseGroupMemberForActivePerson.cgmPersonUid = CAST(? AS BIGINT) | AND _CourseGroupMemberForActivePerson.cgmGroupNumber = CourseGroupMember.cgmGroupNumber) | ) | ORDER BY Person.firstNames, Person.lastName ASC | | | --First get a list of all enrolments - this may contains duplicates for students who leave and re-enrol | WITH AllEnrollmentsAndActiveStatus(enrolledPersonUid, isActive) AS | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid AS enrolledPersonUid, | (? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) AS isActive | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = | CASE(?) | WHEN 0 THEN | (SELECT CourseGroupSet.cgsClazzUid | FROM CourseGroupSet | WHERE CourseGroupSet.cgsUid = ?) | ELSE ? | END | | AND ClazzEnrolment.clazzEnrolmentRole = 1000), | --Consolidate and removes any duplicates | EnrolledStudentPersonUids(enrolledPersonUid, isActive) AS | (SELECT DISTINCT AllEnrollmentsAndActiveStatus.enrolledPersonUid, | (SELECT CAST(AllEnrollmentsInner.isActive AS INTEGER) | FROM AllEnrollmentsAndActiveStatus AllEnrollmentsInner | WHERE AllEnrollmentsInner.enrolledPersonUid = AllEnrollmentsAndActiveStatus.enrolledPersonUid | ORDER BY AllEnrollmentsInner.isActive DESC | LIMIT 1) AS isActive | FROM AllEnrollmentsAndActiveStatus) | | -- Now create a list with each students name, the coursegroupmember object if any and active status | SELECT (Person.firstNames || ' ' || Person.lastName) AS name, | Person.personUid, | CourseGroupMember.*, | PersonPicture.*, | EnrolledStudentPersonUids.isActive AS enrolmentIsActive, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM EnrolledStudentPersonUids | JOIN Person | ON Person.personUid = EnrolledStudentPersonUids.enrolledPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | -- LEFT JOIN will use the most recent member in case of duplicate assignments eg if | LEFT JOIN CourseGroupMember | ON CourseGroupMember.cgmUid = | (SELECT CourseGroupMember.cgmUid | FROM CourseGroupMember | WHERE CourseGroupMember.cgmPersonUid = EnrolledStudentPersonUids.enrolledPersonUid | AND CourseGroupMember.cgmSetUid = ? | ORDER BY CourseGroupMember.cgmLct DESC | LIMIT 1) | WHERE (? = 0 OR ? = EnrolledStudentPersonUids.isActive) | /* | * Begin permission check - must have course view members permission, or active | * user must be in the same group | */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 8192 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 8192 | | ) > 0) | ) | ) | OR EXISTS( | SELECT 1 | FROM CourseGroupMember _CourseGroupMemberForActivePerson | WHERE _CourseGroupMemberForActivePerson.cgmPersonUid = ? | AND _CourseGroupMemberForActivePerson.cgmGroupNumber = CourseGroupMember.cgmGroupNumber) | ) | ORDER BY Person.firstNames, Person.lastName ASC | |_tmp_namegetStringname_tmp_personUidpersonUid_tmp_enrolmentIsActivegetBooleanenrolmentIsActive_tmp_pictureUripictureUri_tmp_CourseGroupMember_nullCountwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inctmp1tmp2tmp3tmp4_tmp_CourseGroupMember_isAllNullnotEXCLcgmfindByCourseGroupSetAndClazzAsFlowkotlinxflowFlowdoorFlowArrayarrayOfClazzEnrolmentPersonPersonPictureCourseGroupSetSuspendFunction0 | | --First get a list of all enrolments - this may contains duplicates for students who leave and re-enrol | WITH AllEnrollmentsAndActiveStatus(enrolledPersonUid, isActive) AS | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid AS enrolledPersonUid, | (CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) AS isActive | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = | CASE(CAST(? AS BIGINT)) | WHEN 0 THEN | (SELECT CourseGroupSet.cgsClazzUid | FROM CourseGroupSet | WHERE CourseGroupSet.cgsUid = CAST(? AS BIGINT)) | ELSE CAST(? AS BIGINT) | END | | AND ClazzEnrolment.clazzEnrolmentRole = 1000), | --Consolidate and removes any duplicates | EnrolledStudentPersonUids(enrolledPersonUid, isActive) AS | (SELECT DISTINCT AllEnrollmentsAndActiveStatus.enrolledPersonUid, | (SELECT CAST(AllEnrollmentsInner.isActive AS INTEGER) | FROM AllEnrollmentsAndActiveStatus AllEnrollmentsInner | WHERE AllEnrollmentsInner.enrolledPersonUid = AllEnrollmentsAndActiveStatus.enrolledPersonUid | ORDER BY AllEnrollmentsInner.isActive DESC | LIMIT 1) AS isActive | FROM AllEnrollmentsAndActiveStatus) | | -- Now create a list with each students name, the coursegroupmember object if any and active status | SELECT (Person.firstNames || ' ' || Person.lastName) AS name, | Person.personUid, | CourseGroupMember.*, | PersonPicture.*, | EnrolledStudentPersonUids.isActive AS enrolmentIsActive, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM EnrolledStudentPersonUids | JOIN Person | ON Person.personUid = EnrolledStudentPersonUids.enrolledPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | -- LEFT JOIN will use the most recent member in case of duplicate assignments eg if | LEFT JOIN CourseGroupMember | ON CourseGroupMember.cgmUid = | (SELECT CourseGroupMember.cgmUid | FROM CourseGroupMember | WHERE CourseGroupMember.cgmPersonUid = EnrolledStudentPersonUids.enrolledPersonUid | AND CourseGroupMember.cgmSetUid = CAST(? AS BIGINT) | ORDER BY CourseGroupMember.cgmLct DESC | LIMIT 1) | WHERE (? = 0 OR ? = EnrolledStudentPersonUids.isActive) | /* | * Begin permission check - must have course view members permission, or active | * user must be in the same group | */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 8192 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 8192 | | ) > 0) | ) | ) | OR EXISTS( | SELECT 1 | FROM CourseGroupMember _CourseGroupMemberForActivePerson | WHERE _CourseGroupMemberForActivePerson.cgmPersonUid = CAST(? AS BIGINT) | AND _CourseGroupMemberForActivePerson.cgmGroupNumber = CourseGroupMember.cgmGroupNumber) | ) | ORDER BY Person.firstNames, Person.lastName ASC | | | --First get a list of all enrolments - this may contains duplicates for students who leave and re-enrol | WITH AllEnrollmentsAndActiveStatus(enrolledPersonUid, isActive) AS | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid AS enrolledPersonUid, | (? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) AS isActive | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = | CASE(?) | WHEN 0 THEN | (SELECT CourseGroupSet.cgsClazzUid | FROM CourseGroupSet | WHERE CourseGroupSet.cgsUid = ?) | ELSE ? | END | | AND ClazzEnrolment.clazzEnrolmentRole = 1000), | --Consolidate and removes any duplicates | EnrolledStudentPersonUids(enrolledPersonUid, isActive) AS | (SELECT DISTINCT AllEnrollmentsAndActiveStatus.enrolledPersonUid, | (SELECT CAST(AllEnrollmentsInner.isActive AS INTEGER) | FROM AllEnrollmentsAndActiveStatus AllEnrollmentsInner | WHERE AllEnrollmentsInner.enrolledPersonUid = AllEnrollmentsAndActiveStatus.enrolledPersonUid | ORDER BY AllEnrollmentsInner.isActive DESC | LIMIT 1) AS isActive | FROM AllEnrollmentsAndActiveStatus) | | -- Now create a list with each students name, the coursegroupmember object if any and active status | SELECT (Person.firstNames || ' ' || Person.lastName) AS name, | Person.personUid, | CourseGroupMember.*, | PersonPicture.*, | EnrolledStudentPersonUids.isActive AS enrolmentIsActive, | PersonPicture.personPictureThumbnailUri AS pictureUri | FROM EnrolledStudentPersonUids | JOIN Person | ON Person.personUid = EnrolledStudentPersonUids.enrolledPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | -- LEFT JOIN will use the most recent member in case of duplicate assignments eg if | LEFT JOIN CourseGroupMember | ON CourseGroupMember.cgmUid = | (SELECT CourseGroupMember.cgmUid | FROM CourseGroupMember | WHERE CourseGroupMember.cgmPersonUid = EnrolledStudentPersonUids.enrolledPersonUid | AND CourseGroupMember.cgmSetUid = ? | ORDER BY CourseGroupMember.cgmLct DESC | LIMIT 1) | WHERE (? = 0 OR ? = EnrolledStudentPersonUids.isActive) | /* | * Begin permission check - must have course view members permission, or active | * user must be in the same group | */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 8192 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 8192 | | ) > 0) | ) | ) | OR EXISTS( | SELECT 1 | FROM CourseGroupMember _CourseGroupMemberForActivePerson | WHERE _CourseGroupMemberForActivePerson.cgmPersonUid = ? | AND _CourseGroupMemberForActivePerson.cgmGroupNumber = CourseGroupMember.cgmGroupNumber) | ) | ORDER BY Person.firstNames, Person.lastName ASC | |findByCourseGroupSetAndClazzAsFlowPersonscompositesPersonAndPicture | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = | CASE(CAST(? AS BIGINT)) | WHEN 0 THEN | (SELECT CourseGroupSet.cgsClazzUid | FROM CourseGroupSet | WHERE CourseGroupSet.cgsUid = CAST(? AS BIGINT)) | ELSE CAST(? AS BIGINT) | END | ) | | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = | CASE(?) | WHEN 0 THEN | (SELECT CourseGroupSet.cgsClazzUid | FROM CourseGroupSet | WHERE CourseGroupSet.cgsUid = ?) | ELSE ? | END | ) | |_tmp_Person_nullCount_tmp_usernameusername_tmp_firstNamesfirstNames_tmp_lastNamelastName_tmp_emailAddremailAddr_tmp_phoneNumphoneNumtmp5_tmp_gendergendertmp6_tmp_activeactivetmp7_tmp_dateOfBirthdateOfBirthtmp8_tmp_personAddresspersonAddresstmp9_tmp_personOrgIdpersonOrgIdtmp10_tmp_personGroupUidpersonGroupUidtmp11_tmp_personLctpersonLcttmp12_tmp_personCountrypersonCountrytmp13_tmp_personTypepersonTypetmp14_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNumtmp15_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNumtmp16_tmp_personLastChangedBypersonLastChangedBytmp17_tmp_adminadmintmp18_tmp_personNotespersonNotestmp19_tmp_fatherNamefatherNametmp20_tmp_fatherNumberfatherNumbertmp21_tmp_motherNamemotherNametmp22_tmp_motherNummotherNumtmp23_tmp_Person_isAllNull_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUidtmp24_tmp_personPictureLctpersonPictureLcttmp25_tmp_personPictureUripersonPictureUritmp26_tmp_personPictureThumbnailUripersonPictureThumbnailUritmp27_tmp_fileSizefileSizetmp28_tmp_personPictureActivepersonPictureActivetmp29_tmp_PersonPicture_isAllNullpersonpicturefindByCourseGroupSetAndClazzAsFlowEnrolments | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = | CASE(CAST(? AS BIGINT)) | WHEN 0 THEN | (SELECT CourseGroupSet.cgsClazzUid | FROM CourseGroupSet | WHERE CourseGroupSet.cgsUid = CAST(? AS BIGINT)) | ELSE CAST(? AS BIGINT) | END | | | | SELECT ClazzEnrolment.* | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = | CASE(?) | WHEN 0 THEN | (SELECT CourseGroupSet.cgsClazzUid | FROM CourseGroupSet | WHERE CourseGroupSet.cgsUid = ?) | ELSE ? | END | | |_tmp_clazzEnrolmentUidclazzEnrolmentUid_tmp_clazzEnrolmentPersonUidclazzEnrolmentPersonUid_tmp_clazzEnrolmentClazzUidclazzEnrolmentClazzUid_tmp_clazzEnrolmentDateJoinedclazzEnrolmentDateJoined_tmp_clazzEnrolmentDateLeftclazzEnrolmentDateLeft_tmp_clazzEnrolmentRoleclazzEnrolmentRole_tmp_clazzEnrolmentAttendancePercentageFloatgetFloatclazzEnrolmentAttendancePercentage_tmp_clazzEnrolmentActiveclazzEnrolmentActive_tmp_clazzEnrolmentLeavingReasonUidclazzEnrolmentLeavingReasonUid_tmp_clazzEnrolmentOutcomeclazzEnrolmentOutcome_tmp_clazzEnrolmentLocalChangeSeqNumclazzEnrolmentLocalChangeSeqNum_tmp_clazzEnrolmentMasterChangeSeqNumclazzEnrolmentMasterChangeSeqNum_tmp_clazzEnrolmentLastChangedByclazzEnrolmentLastChangedBy_tmp_clazzEnrolmentLctclazzEnrolmentLctfindByCourseGroupSetAndGroupNumAsyncCourseGroupMemberAndPersoncourseGroupSetUidgroupNumassignmentUid | | SELECT CourseGroupMember.*, Person.* | FROM CourseGroupMember | JOIN Person | ON Person.personUid = CourseGroupMember.cgmPersonUid | WHERE ( CourseGroupMember.cgmSetUid = CAST(? AS BIGINT) | AND CourseGroupMember.cgmGroupNumber = ?) | AND ( /* Grant permission where the active person is in the group */ | EXISTS(SELECT 1 | FROM CourseGroupMember CourseGroupMemberInternal | WHERE CourseGroupMemberInternal.cgmSetUid = CAST(? AS BIGINT) | AND CourseGroupMemberInternal.cgmPersonUid = CAST(? AS BIGINT)) | /* Grant permission where the activepersonuid is in a group assigned to mark this group */ | OR EXISTS(SELECT 1 | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = CAST(? AS BIGINT) | AND PeerReviewerAllocation.praMarkerSubmitterUid = ? | AND EXISTS(SELECT 1 | FROM CourseGroupMember CourseGroupMemberInternal | WHERE CourseGroupMemberInternal.cgmSetUid = PeerReviewerAllocation.praMarkerSubmitterUid | AND CourseGroupMemberInternal.cgmPersonUid = CAST(? AS BIGINT))) | /* Grant permission where the active person has the select person permission for the class */ | OR (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 8192 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 8192 | | ) > 0) | ) | ) | ) | | | | SELECT CourseGroupMember.*, Person.* | FROM CourseGroupMember | JOIN Person | ON Person.personUid = CourseGroupMember.cgmPersonUid | WHERE ( CourseGroupMember.cgmSetUid = ? | AND CourseGroupMember.cgmGroupNumber = ?) | AND ( /* Grant permission where the active person is in the group */ | EXISTS(SELECT 1 | FROM CourseGroupMember CourseGroupMemberInternal | WHERE CourseGroupMemberInternal.cgmSetUid = ? | AND CourseGroupMemberInternal.cgmPersonUid = ?) | /* Grant permission where the activepersonuid is in a group assigned to mark this group */ | OR EXISTS(SELECT 1 | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid = ? | AND PeerReviewerAllocation.praMarkerSubmitterUid = ? | AND EXISTS(SELECT 1 | FROM CourseGroupMember CourseGroupMemberInternal | WHERE CourseGroupMemberInternal.cgmSetUid = PeerReviewerAllocation.praMarkerSubmitterUid | AND CourseGroupMemberInternal.cgmPersonUid = ?)) | /* Grant permission where the active person has the select person permission for the class */ | OR (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 8192 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 8192 | | ) > 0) | ) | ) | ) | | |courseGroupMember      "          1          #" 7) ,$ 9 comustadmobilecoredbdaoCourseGroupMemberDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoCourseGroupMemberDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperfindByGroupSetUidAsynccollectionsListlibentitiesCourseGroupMembergroupSetUid_resultfindByPersonUidstudentUidinsertListAsyncentityListreplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupdateListAsyncfindByCourseGroupSetAndClazzCourseGroupMemberAndNamecgsUidclazzUidtimeactiveFilterIntaccountPersonUidreplicateHttpRequestCatchAndLogCourseGroupMemberDao/findByCourseGroupSetAndClazzFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponsefindByCourseGroupSetAndClazzAsFlowflowFlowasRepoFlowCourseGroupMemberDao/findByCourseGroupSetAndClazzAsFlowfindByCourseGroupSetAndClazzAsFlowPersonscompositesPersonAndPicturefindByCourseGroupSetAndClazzAsFlowEnrolmentsClazzEnrolmentupsertListAsynclistfindByCourseGroupSetAndGroupNumAsyncCourseGroupMemberAndPersoncourseGroupSetUidgroupNumassignmentUidCourseGroupMemberDao/findByCourseGroupSetAndGroupNumAsyncinsertentitywithRepoChangeMonitorinsertAsyncinsertListupdateINSTANCE_RECEIVER)     ! &  comustadmobilecoredbdaoCourseGroupSetDaoDEFINEDkotlinUnitAnyupdateAsyncIntentitylibentitiesCourseGroupSetfindAllCourseGroupSetForClazzandroidxpagingPagingSourceclazzUidLongsearchTextStringsortOrderfindAllCourseGroupSetForClazzListcollectionsListfindAllCourseGroupSetForClazzListAsyncfindByUidAsyncuidfindByUidAsFlowkotlinxcoroutinesflowFlowupsertAsyncINSTANCE_RECEIVERBaseDaoU  "       ! W&     < @<comustadmobilecoredbdaoCourseGroupSetDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoCourseGroupSetDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupdateAsyncIntentitylibentitiesCourseGroupSetcgsLctEQLongutilsystemTimeInMillisGET_PROPERTYfindAllCourseGroupSetForClazzandroidxpagingPagingSourceclazzUidsearchTextStringsortOrderfindAllCourseGroupSetForClazzListcollectionsListIllegalStateExceptionfindAllCourseGroupSetForClazzList: synchronous db access is NOT possible on Javascript!findAllCourseGroupSetForClazzListAsyncfindByUidAsyncuidfindByUidAsFlowkotlinxcoroutinesflowFlowupsertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFBooleaninternalirEQEQcgsUid_newPknextIdAsyncinsertinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER  " #        )"u(   v                ! &r~comustadmobilecoredbdaoCourseGroupSetDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCourseGroupSetDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterCourseGroupSet_upsertEntityInsertionAdapterlibentitiesCourseGroupSetOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO CourseGroupSet (cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct) VALUES(?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcgsUidsetObjectIntsetLongsetStringcgsNamesetIntcgsTotalGroupssetBooleancgsActivecgsClazzUidcgsLctINSTANCE_RECEIVER_insertAdapterCourseGroupSet_abortINSERT INTO CourseGroupSet (cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct) VALUES(?, ?, ?, ?, ?, ?)upsertAsyncinsertAsyncinsert_retValinsertAndReturnIdinsertAndReturnIdAsyncinsertListentityListcollectionsListupdateAsync_result_sqlUPDATE CourseGroupSet SET cgsName = ?, cgsTotalGroups = ?, cgsActive = ?, cgsClazzUid = ?, cgsLct = ? WHERE cgsUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindAllCourseGroupSetForClazzandroidxpagingPagingSourceclazzUidsearchTextsortOrderDoorLimitOffsetPagingSourceArrayarrayOfloadRows_limit_offsetPreparedStatementConfigtexttrimMargin |SELECT * FROM ( | SELECT * | FROM CourseGroupSet | WHERE cgsActive | AND cgsClazzUid = CAST(? AS BIGINT) | AND ((? = '%') OR (cgsName LIKE ?)) | ORDER BY CASE(?) | WHEN 1 THEN cgsName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN cgsName | ELSE '' | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT * | FROM CourseGroupSet | WHERE cgsActive | AND cgsClazzUid = ? | AND ((? = '%') OR (cgsName LIKE ?)) | ORDER BY CASE(?) | WHEN 1 THEN cgsName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN cgsName | ELSE '' | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |useResultsResultSetexecuteQueryAsyncKmpmapRowsit_tmp_cgsUidgetLong_tmp_cgsNamegetString_tmp_cgsTotalGroupsgetInt_tmp_cgsActivegetBoolean_tmp_cgsClazzUid_tmp_cgsLctapplyExtensionFunctionType$this$applyEQcountRows |SELECT COUNT(*) FROM ( | SELECT * | FROM CourseGroupSet | WHERE cgsActive | AND cgsClazzUid = CAST(? AS BIGINT) | AND ((? = '%') OR (cgsName LIKE ?)) | ORDER BY CASE(?) | WHEN 1 THEN cgsName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN cgsName | ELSE '' | END DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT * | FROM CourseGroupSet | WHERE cgsActive | AND cgsClazzUid = ? | AND ((? = '%') OR (cgsName LIKE ?)) | ORDER BY CASE(?) | WHEN 1 THEN cgsName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN cgsName | ELSE '' | END DESC | ) AS _PagingCount |mapNextRowfindAllCourseGroupSetForClazzList | | SELECT * | FROM CourseGroupSet | WHERE cgsActive | AND cgsClazzUid = CAST(? AS BIGINT) | ORDER BY cgsName | | | SELECT * | FROM CourseGroupSet | WHERE cgsActive | AND cgsClazzUid = ? | ORDER BY cgsName | |executeQueryfindAllCourseGroupSetForClazzListAsyncfindByUidAsyncuid | | SELECT * | FROM CourseGroupSet | WHERE cgsUid = CAST(? AS BIGINT) | | | SELECT * | FROM CourseGroupSet | WHERE cgsUid = ? | |findByUidAsFlowkotlinxflowFlowdoorFlowSuspendFunction0 | | SELECT * | FROM CourseGroupSet | WHERE cgsUid = CAST(? AS BIGINT) | | | SELECT * | FROM CourseGroupSet | WHERE cgsUid = ? | |      "        '/             #! &   comustadmobilecoredbdaoCourseGroupSetDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoCourseGroupSetDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupdateAsyncIntentitylibentitiesCourseGroupSet_resultreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindAllCourseGroupSetForClazzandroidxpagingPagingSourceclazzUidsearchTextsortOrderDoorRepositoryReplicatePullPagingSourceCourseGroupSetDao/findAllCourseGroupSetForClazzSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParamsBoolean_pagingParamshttpreplicateHttpRequestOrThrowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompanionpagingSourceLoadParametersnullableonClientRepoDoorMessageHttpResponseendOfPaginationReachedfindAllCourseGroupSetForClazzListcollectionsListfindAllCourseGroupSetForClazzListAsyncfindByUidAsyncuidreplicateHttpRequestCatchAndLogCourseGroupSetDao/findByUidAsyncfindByUidAsFlowflowFlowupsertAsyncinsertwithRepoChangeMonitorinsertAsyncinsertListentityListupdateINSTANCE_RECEIVER@       3 %# &%("6(- comustadmobilecoredbdaoCoursePermissionDaoDEFINEDkotlinUnitAnyfindByClazzUidAsPagingSourceandroidxpagingPagingSourceIntlibcompositesCoursePermissionAndListDetailclazzUidLongincludeDeletedBooleanfindByUidAndClazzUidentitiesCoursePermissionuidfindByUidAndClazzUidAsFlowkotlinxcoroutinesflowFlowupsertAsynccoursePermissionsetDeletedcpUidisDeletedupdateTimepersonHasPermissionWithClazzByEnrolmentUidEntities2collectionsListCoursePermissionAndEnrolmentaccountPersonUidclazzEnrolmentUiduserHasEnrolmentEditPermissionpersonHasPermissionWithClazzEntities2personHasPermissionWithClazzAsFlow2permissionpersonHasPermissionWithClazzPairAsFlowPermissionPairfirstPermissionsecondPermissionpersonHasPermissionWithClazzPairAsyncpersonHasPermissionWithClazzTripleAsFlowPermissionTriplethirdPermissionpersonHasPermissionWithClazzAsync2findApplicableCoursePermissionEntitiesForAccountPersonuserPermissionsForAssignmentSubmitterUidAssignmentPermissionAndActiveUserSubmitterUidassignmentUidsubmitterUidINSTANCE_RECEIVERa  "            3 %# &%("6(- comustadmobilecoredbdaoCoursePermissionDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoCoursePermissionDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByClazzUidAsPagingSourceandroidxpagingPagingSourceIntlibcompositesCoursePermissionAndListDetailclazzUidLongincludeDeletedBooleanGET_PROPERTYfindByUidAndClazzUidentitiesCoursePermissionuidfindByUidAndClazzUidAsFlowkotlinxcoroutinesflowFlowupsertAsynccoursePermission_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFinternalirEQEQcpUid_newPknextIdAsyncEQcpLastModifiedutilsystemTimeInMillissetDeletedisDeletedupdateTimepersonHasPermissionWithClazzByEnrolmentUidEntities2collectionsListCoursePermissionAndEnrolmentaccountPersonUidclazzEnrolmentUiduserHasEnrolmentEditPermissionpersonHasPermissionWithClazzEntities2personHasPermissionWithClazzAsFlow2permissionpersonHasPermissionWithClazzPairAsFlowPermissionPairfirstPermissionsecondPermissionpersonHasPermissionWithClazzPairAsyncpersonHasPermissionWithClazzTripleAsFlowPermissionTriplethirdPermissionpersonHasPermissionWithClazzAsync2findApplicableCoursePermissionEntitiesForAccountPersonuserPermissionsForAssignmentSubmitterUidAssignmentPermissionAndActiveUserSubmitterUidassignmentUidsubmitterUidINSTANCE_RECEIVER  " %       +      PA                                   G8  3u'"#$% ($%&!%n#  &I %T("!" - 6F'(- 8G5    comustadmobilecoredbdaoCoursePermissionDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCoursePermissionDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterCoursePermission_upsertEntityInsertionAdapterlibentitiesCoursePermissionOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO CoursePermission (cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) VALUES(?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcpUidsetObjectIntsetLongcpLastModifiedcpClazzUidsetIntcpToEnrolmentRolecpToPersonUidcpToGroupUidcpPermissionsFlagsetBooleancpIsDeletedINSTANCE_RECEIVERupsertAsynccoursePermissioninsertAsyncfindByClazzUidAsPagingSourceandroidxpagingPagingSourcecompositesCoursePermissionAndListDetailclazzUidincludeDeletedDoorLimitOffsetPagingSourceArrayarrayOfPersonPersonPictureloadRowscollectionsList_limit_offsetextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin |SELECT * FROM ( | SELECT CoursePermission.*, Person.*, PersonPicture.* | FROM CoursePermission | LEFT JOIN Person | ON Person.personUid = CoursePermission.cpToPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CAST(? AS INTEGER) = 1 OR NOT CoursePermission.cpIsDeleted) | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT CoursePermission.*, Person.*, PersonPicture.* | FROM CoursePermission | LEFT JOIN Person | ON Person.personUid = CoursePermission.cpToPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE CoursePermission.cpClazzUid = ? | AND (CAST(? AS INTEGER) = 1 OR NOT CoursePermission.cpIsDeleted) | ) AS _PagingData LIMIT ? OFFSET ? |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_CoursePermission_nullCount_tmp_cpUidgetLongwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_cpLastModifiedtmp1_tmp_cpClazzUidtmp2_tmp_cpToEnrolmentRolegetInttmp3_tmp_cpToPersonUidtmp4_tmp_cpToGroupUidtmp5_tmp_cpPermissionsFlagtmp6_tmp_cpIsDeletedgetBooleantmp7_tmp_CoursePermission_isAllNull_tmp_Person_nullCount_tmp_personUidpersonUidtmp8_tmp_usernamegetStringusernametmp9_tmp_firstNamesfirstNamestmp10_tmp_lastNamelastNametmp11_tmp_emailAddremailAddrtmp12_tmp_phoneNumphoneNumtmp13_tmp_gendergendertmp14_tmp_activeactivetmp15_tmp_dateOfBirthdateOfBirthtmp16_tmp_personAddresspersonAddresstmp17_tmp_personOrgIdpersonOrgIdtmp18_tmp_personGroupUidpersonGroupUidtmp19_tmp_personLctpersonLcttmp20_tmp_personCountrypersonCountrytmp21_tmp_personTypepersonTypetmp22_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNumtmp23_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNumtmp24_tmp_personLastChangedBypersonLastChangedBytmp25_tmp_adminadmintmp26_tmp_personNotespersonNotestmp27_tmp_fatherNamefatherNametmp28_tmp_fatherNumberfatherNumbertmp29_tmp_motherNamemotherNametmp30_tmp_motherNummotherNumtmp31_tmp_Person_isAllNull_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUidtmp32_tmp_personPictureLctpersonPictureLcttmp33_tmp_personPictureUripersonPictureUritmp34_tmp_personPictureThumbnailUripersonPictureThumbnailUritmp35_tmp_fileSizefileSizetmp36_tmp_personPictureActivepersonPictureActivetmp37_tmp_PersonPicture_isAllNullapplyExtensionFunctionType$this$applynotEXCLEQLAMBDApersonpersonPicturecountRows |SELECT COUNT(*) FROM ( | SELECT CoursePermission.*, Person.*, PersonPicture.* | FROM CoursePermission | LEFT JOIN Person | ON Person.personUid = CoursePermission.cpToPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CAST(? AS INTEGER) = 1 OR NOT CoursePermission.cpIsDeleted) | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT CoursePermission.*, Person.*, PersonPicture.* | FROM CoursePermission | LEFT JOIN Person | ON Person.personUid = CoursePermission.cpToPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE CoursePermission.cpClazzUid = ? | AND (CAST(? AS INTEGER) = 1 OR NOT CoursePermission.cpIsDeleted) | ) AS _PagingCount |mapNextRowfindByUidAndClazzUiduid | | SELECT CoursePermission.* | FROM CoursePermission | WHERE CoursePermission.cpUid = CAST(? AS BIGINT) | AND CoursePermission.cpClazzUid = CAST(? AS BIGINT) | | | SELECT CoursePermission.* | FROM CoursePermission | WHERE CoursePermission.cpUid = ? | AND CoursePermission.cpClazzUid = ? | |findByUidAndClazzUidAsFlowkotlinxflowFlowdoorFlowSuspendFunction0 | | SELECT CoursePermission.* | FROM CoursePermission | WHERE CoursePermission.cpUid = CAST(? AS BIGINT) | AND CoursePermission.cpClazzUid = CAST(? AS BIGINT) | | | SELECT CoursePermission.* | FROM CoursePermission | WHERE CoursePermission.cpUid = ? | AND CoursePermission.cpClazzUid = ? | |setDeletedisDeletedupdateTime | | UPDATE CoursePermission | SET cpIsDeleted = ?, | cpLastModified = CAST(? AS BIGINT) | WHERE cpUid = CAST(? AS BIGINT) | | | UPDATE CoursePermission | SET cpIsDeleted = ?, | cpLastModified = ? | WHERE cpUid = ? | |executeUpdateAsyncKmppersonHasPermissionWithClazzByEnrolmentUidEntities2CoursePermissionAndEnrolmentaccountPersonUidclazzEnrolmentUid | | SELECT CoursePermission.*, ClazzEnrolment_ForAccountPerson.* | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ( | SELECT COALESCE( | (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid | FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid | WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = CAST(? AS BIGINT)), 0) | ) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | | | SELECT CoursePermission.*, ClazzEnrolment_ForAccountPerson.* | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ( | SELECT COALESCE( | (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid | FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid | WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = ?), 0) | ) | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | |_tmp_ClazzEnrolment_nullCount_tmp_clazzEnrolmentUid_tmp_clazzEnrolmentPersonUidclazzEnrolmentPersonUid_tmp_clazzEnrolmentClazzUidclazzEnrolmentClazzUid_tmp_clazzEnrolmentDateJoinedclazzEnrolmentDateJoined_tmp_clazzEnrolmentDateLeftclazzEnrolmentDateLeft_tmp_clazzEnrolmentRoleclazzEnrolmentRole_tmp_clazzEnrolmentAttendancePercentageFloatgetFloatclazzEnrolmentAttendancePercentage_tmp_clazzEnrolmentActiveclazzEnrolmentActive_tmp_clazzEnrolmentLeavingReasonUidclazzEnrolmentLeavingReasonUid_tmp_clazzEnrolmentOutcomeclazzEnrolmentOutcome_tmp_clazzEnrolmentLocalChangeSeqNumclazzEnrolmentLocalChangeSeqNum_tmp_clazzEnrolmentMasterChangeSeqNumclazzEnrolmentMasterChangeSeqNum_tmp_clazzEnrolmentLastChangedByclazzEnrolmentLastChangedBy_tmp_clazzEnrolmentLctclazzEnrolmentLct_tmp_ClazzEnrolment_isAllNullclazzEnrolmentClazzEnrolmentuserHasEnrolmentEditPermission | | SELECT CASE CAST(? AS BIGINT) | WHEN 0 THEN (SELECT EXISTS( | SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & 2048) > 0 | AND NOT SystemPermission.spIsDeleted)) | ELSE ( | SELECT ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ( | SELECT COALESCE( | (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid | FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid | WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = CAST(? AS BIGINT)), 0) | )), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ( | SELECT COALESCE( | (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid | FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid | WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = CAST(? AS BIGINT)), 0) | ) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | ( | CASE ( | SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentUid = CAST(? AS BIGINT) | ) | WHEN 1000 THEN 8 | ELSE 8 | END | ) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | ( | CASE ( | SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentUid = CAST(? AS BIGINT) | ) | WHEN 1000 THEN 8 | ELSE 8 | END | ) | | ) > 0) | ) | | ) | END | | | SELECT CASE ? | WHEN 0 THEN (SELECT EXISTS( | SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & 2048) > 0 | AND NOT SystemPermission.spIsDeleted)) | ELSE ( | SELECT ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ( | SELECT COALESCE( | (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid | FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid | WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = ?), 0) | )), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ( | SELECT COALESCE( | (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid | FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid | WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = ?), 0) | ) | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | | ( | CASE ( | SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentUid = ? | ) | WHEN 1000 THEN 8 | ELSE 8 | END | ) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | ( | CASE ( | SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentUid = ? | ) | WHEN 1000 THEN 8 | ELSE 8 | END | ) | | ) > 0) | ) | | ) | END | |personHasPermissionWithClazzEntities2 | | SELECT CoursePermission.*, ClazzEnrolment_ForAccountPerson.* | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE (CAST(? AS BIGINT) = 0 OR CoursePermission.cpClazzUid = CAST(? AS BIGINT)) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | | | SELECT CoursePermission.*, ClazzEnrolment_ForAccountPerson.* | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE (? = 0 OR CoursePermission.cpClazzUid = ?) | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | |personHasPermissionWithClazzAsFlow2permissionClazz | | SELECT (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | | ) | | | SELECT (? != 0 AND ? != 0) | AND ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | | ) | |personHasPermissionWithClazzPairAsFlowPermissionPairfirstPermissionsecondPermissionSystemPermission | | SELECT ( (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | ) | ) AS firstPermission, | ( (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | ) | ) AS secondPermission | | | SELECT ( (? != 0 AND ? != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | ) | ) AS firstPermission, | ( (? != 0 AND ? != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | ) | ) AS secondPermission | |_tmp_firstPermission_tmp_secondPermissionpersonHasPermissionWithClazzPairAsync | | SELECT ( (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | ) | ) AS firstPermission, | ( (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | ) | ) AS secondPermission | | | SELECT ( (? != 0 AND ? != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | ) | ) AS firstPermission, | ( (? != 0 AND ? != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | ) | ) AS secondPermission | |personHasPermissionWithClazzTripleAsFlowPermissionTriplethirdPermission | | SELECT ( (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | ) | ) AS firstPermission, | ( (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | ) | ) AS secondPermission, | ( (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | ) | ) AS thirdPermission | | | SELECT ( (? != 0 AND ? != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | ) | ) AS firstPermission, | ( (? != 0 AND ? != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | ) | ) AS secondPermission, | ( (? != 0 AND ? != 0) | AND (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | ) | ) AS thirdPermission | |_tmp_thirdPermissionpersonHasPermissionWithClazzAsync2 | | SELECT (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | CAST(? AS BIGINT) | | ) > 0) | ) | | ) | | | SELECT (? != 0 AND ? != 0) | AND ( | ( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | ? | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | ? | | ) > 0) | ) | | ) | |findApplicableCoursePermissionEntitiesForAccountPerson | | /* Get CoursePermissions given to the active user based on their enrolment role*/ | SELECT CoursePermission.* | FROM ClazzEnrolment ClazzEnrolment_ActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ActiveUser.clazzEnrolmentRole | WHERE ClazzEnrolment_ActiveUser.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | UNION | /* Get ClazzUids where the active user can view members based a grant directly to them */ | SELECT CoursePermission.* | FROM CoursePermission | WHERE CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | | | /* Get CoursePermissions given to the active user based on their enrolment role*/ | SELECT CoursePermission.* | FROM ClazzEnrolment ClazzEnrolment_ActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ActiveUser.clazzEnrolmentRole | WHERE ClazzEnrolment_ActiveUser.clazzEnrolmentPersonUid = ? | UNION | /* Get ClazzUids where the active user can view members based a grant directly to them */ | SELECT CoursePermission.* | FROM CoursePermission | WHERE CoursePermission.cpToPersonUid = ? | |userPermissionsForAssignmentSubmitterUidAssignmentPermissionAndActiveUserSubmitterUidassignmentUidsubmitterUidClazzAssignmentCourseGroupMemberPeerReviewerAllocation | | WITH | AccountSubmitterUid(accountSubmitterUid) AS | ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = CAST(? AS BIGINT)) | AND CourseGroupMember.cgmPersonUid = CAST(? AS BIGINT) | LIMIT 1), -1) | END | ) | , | CanMarkSubmitter(canMark) AS | (SELECT CASE (SELECT ClazzAssignment.caMarkingType | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT)) | WHEN 2 THEN | EXISTS(SELECT 1 | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praToMarkerSubmitterUid = CAST(? AS BIGINT) | AND PeerReviewerAllocation.praMarkerSubmitterUid = | (SELECT AccountSubmitterUid.accountSubmitterUid | FROM AccountSubmitterUid)) | ELSE (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 256 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 256 | | ) > 0) | ) | ) | END) | | | /* Can edit */ | SELECT ( (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND (SELECT CanMarkSubmitter.canMark | FROM CanMarkSubmitter)) AS canMark, | /* can view */ | ( (CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0 AND CAST(? AS BIGINT) != 0) | AND ( (SELECT CanMarkSubmitter.canMark | FROM CanMarkSubmitter) | OR (SELECT CAST(? AS BIGINT) = | (SELECT AccountSubmitterUid.accountSubmitterUid | FROM AccountSubmitterUid)) | OR (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | ) AS canView, | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 4 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 4 | | ) > 0) | ) | | ) AS canModerate, | (SELECT accountSubmitterUid | FROM AccountSubmitterUid) AS activeUserSubmitterUid | | | | WITH | AccountSubmitterUid(accountSubmitterUid) AS | ( | SELECT CASE | -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) = 0 | THEN ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) | -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero | WHEN (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) != 0 | AND ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) = 0 | THEN 0 | -- When assignment is by groups and the person is an enrolled student the submitter uid is the | -- group that they are assigned to. If they are not assigned to a group but are enrolled | -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP | ELSE COALESCE( | (SELECT CourseGroupMember.cgmGroupNumber | FROM CourseGroupMember | WHERE ( | SELECT COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000 | AND ClazzEnrolment.clazzEnrolmentClazzUid = | (SELECT ClazzAssignment.caClazzUid | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | LIMIT 1), 0) | ) > 0 | AND CourseGroupMember.cgmSetUid = | (SELECT caGroupUid | FROM ClazzAssignment | WHERE caUid = ?) | AND CourseGroupMember.cgmPersonUid = ? | LIMIT 1), -1) | END | ) | , | CanMarkSubmitter(canMark) AS | (SELECT CASE (SELECT ClazzAssignment.caMarkingType | FROM ClazzAssignment | WHERE ClazzAssignment.caUid = ?) | WHEN 2 THEN | EXISTS(SELECT 1 | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praToMarkerSubmitterUid = ? | AND PeerReviewerAllocation.praMarkerSubmitterUid = | (SELECT AccountSubmitterUid.accountSubmitterUid | FROM AccountSubmitterUid)) | ELSE (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 256 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 256 | | ) > 0) | ) | ) | END) | | | /* Can edit */ | SELECT ( (? != 0 AND ? != 0 AND ? != 0 AND ? != 0) | AND (SELECT CanMarkSubmitter.canMark | FROM CanMarkSubmitter)) AS canMark, | /* can view */ | ( (? != 0 AND ? != 0 AND ? != 0 AND ? != 0) | AND ( (SELECT CanMarkSubmitter.canMark | FROM CanMarkSubmitter) | OR (SELECT ? = | (SELECT AccountSubmitterUid.accountSubmitterUid | FROM AccountSubmitterUid)) | OR (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | )) | ) AS canView, | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 4 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 4 | | ) > 0) | ) | | ) AS canModerate, | (SELECT accountSubmitterUid | FROM AccountSubmitterUid) AS activeUserSubmitterUid | | |_tmp_canMarkcanMark_tmp_canViewcanView_tmp_canModeratecanModerate_tmp_activeUserSubmitterUidactiveUserSubmitterUid      "     '0               #( .   3 2%# 7&:%9(<"66(- <comustadmobilecoredbdaoCoursePermissionDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoCoursePermissionDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperfindByClazzUidAsPagingSourceandroidxpagingPagingSourceIntlibcompositesCoursePermissionAndListDetailclazzUidincludeDeletedBooleanDoorRepositoryReplicatePullPagingSourceCoursePermissionDao/findByClazzUidAsPagingSourcecoroutinesSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParamsLOCAL_FUNCTION_FOR_LAMBDA_pagingParamsreplicateHttpRequestOrThrowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompanionpagingSourceLoadParametersnullableLAMBDAreplicationonClientRepoDoorMessageHttpResponseendOfPaginationReachedfindByUidAndClazzUidentitiesCoursePermissionuidreplicateHttpRequestCatchAndLogCoursePermissionDao/findByUidAndClazzUid_resultfindByUidAndClazzUidAsFlowflowFlowasRepoFlowSuspendFunction0CoursePermissionDao/findByUidAndClazzUidAsFlowupsertAsynccoursePermissionwithRepoChangeMonitorAsyncsetDeletedcpUidisDeletedupdateTimepersonHasPermissionWithClazzByEnrolmentUidEntities2collectionsListCoursePermissionAndEnrolmentaccountPersonUidclazzEnrolmentUiduserHasEnrolmentEditPermissionCoursePermissionDao/userHasEnrolmentEditPermissionpersonHasPermissionWithClazzEntities2personHasPermissionWithClazzAsFlow2permissionCoursePermissionDao/personHasPermissionWithClazzAsFlow2personHasPermissionWithClazzPairAsFlowPermissionPairfirstPermissionsecondPermissionCoursePermissionDao/personHasPermissionWithClazzPairAsFlowpersonHasPermissionWithClazzPairAsyncCoursePermissionDao/personHasPermissionWithClazzPairAsyncpersonHasPermissionWithClazzTripleAsFlowPermissionTriplethirdPermissionCoursePermissionDao/personHasPermissionWithClazzTripleAsFlowpersonHasPermissionWithClazzAsync2CoursePermissionDao/personHasPermissionWithClazzAsync2findApplicableCoursePermissionEntitiesForAccountPersonuserPermissionsForAssignmentSubmitterUidAssignmentPermissionAndActiveUserSubmitterUidassignmentUidsubmitterUidCoursePermissionDao/userPermissionsForAssignmentSubmitterUidINSTANCE_RECEIVER     comustadmobilecoredbdaoCoursePictureDaoDEFINEDkotlinUnitAnyupsertAsynccoursePicturelibentitiesCoursePictureupdateUriuidLonguriStringthumbnailUritimeImageDaoINSTANCE_RECEIVER=  "       comustadmobilecoredbdaoCoursePictureDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoCoursePictureDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertAsynccoursePicturelibentitiesCoursePicture_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQLongcoursePictureUid_newPknextIdAsyncIntEQcoursePictureLctutilsystemTimeInMillisupdateUriuiduriStringthumbnailUritimeINSTANCE_RECEIVERT  " "      (     comustadmobilecoredbdaoCoursePictureDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCoursePictureDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterCoursePicture_upsertEntityInsertionAdapterlibentitiesCoursePictureOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO CoursePicture (coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) VALUES(?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongcoursePictureUidsetObjectIntsetLongcoursePictureLctsetStringcoursePictureUricoursePictureThumbnailUrisetBooleancoursePictureActiveINSTANCE_RECEIVERupsertAsynccoursePictureinsertAsyncupdateUriuidurithumbnailUritimeextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | UPDATE CoursePicture | SET coursePictureUri = ?, | coursePictureThumbnailUri = ?, | coursePictureLct = CAST(? AS BIGINT) | WHERE coursePictureUid = CAST(? AS BIGINT) | | | UPDATE CoursePicture | SET coursePictureUri = ?, | coursePictureThumbnailUri = ?, | coursePictureLct = ? | WHERE coursePictureUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDA?      "        comustadmobilecoredbdaoCoursePictureDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoCoursePictureDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertAsynccoursePicturelibentitiesCoursePicturereplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupdateUriuidurithumbnailUritimeINSTANCE_RECEIVER# $     comustadmobilecoredbdaoCourseTerminologyDaoDEFINEDkotlinUnitAnyfindAllCourseTerminologyPagingSourceandroidxpagingPagingSourceIntlibentitiesCourseTerminologyfindAllCourseTerminologyListcollectionsListgetTerminologyForClazzclazzUidLonggetTerminologyForAssignmentassignmentUidfindByUidAsyncuidupdateAsyncentityupsertAsyncINSTANCE_RECEIVERBaseDaoP   "  $   R       < @<comustadmobilecoredbdaoCourseTerminologyDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoCourseTerminologyDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindAllCourseTerminologyPagingSourceandroidxpagingPagingSourceIntlibentitiesCourseTerminologyGET_PROPERTYfindAllCourseTerminologyListcollectionsListIllegalStateExceptionStringfindAllCourseTerminologyList: synchronous db access is NOT possible on Javascript!getTerminologyForClazzclazzUidLonggetTerminologyForAssignmentassignmentUidfindByUidAsyncuidupdateAsyncentityctLctEQutilsystemTimeInMillisupsertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFBooleaninternalirEQEQctUid_newPknextIdAsyncinsertinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER  " &  b    ,%W+   V   $         n  tcomustadmobilecoredbdaoCourseTerminologyDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitCourseTerminologyDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterCourseTerminology_upsertEntityInsertionAdapterlibentitiesCourseTerminologyOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO CourseTerminology (ctUid, ctTitle, ctTerminology, ctLct) VALUES(?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongctUidsetObjectIntsetLongsetStringctTitlectTerminologyctLctINSTANCE_RECEIVER_insertAdapterCourseTerminology_abortINSERT INTO CourseTerminology (ctUid, ctTitle, ctTerminology, ctLct) VALUES(?, ?, ?, ?)upsertAsync_retValinsertAndReturnIdAsyncinsertinsertAndReturnIdinsertAsyncinsertListentityListcollectionsListupdateAsync_result_sqlUPDATE CourseTerminology SET ctTitle = ?, ctTerminology = ?, ctLct = ? WHERE ctUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindAllCourseTerminologyPagingSourceandroidxpagingPagingSourceDoorLimitOffsetPagingSourceArrayarrayOfloadRows_limit_offsetPreparedStatementConfigtexttrimMargin |SELECT * FROM ( | SELECT * | FROM CourseTerminology | ORDER BY ctTitle | ) AS _PagingData LIMIT ? OFFSET ? setIntuseResultsResultSetexecuteQueryAsyncKmpmapRowsit_tmp_ctUidgetLong_tmp_ctTitlegetString_tmp_ctTerminology_tmp_ctLctapplyExtensionFunctionType$this$applyEQcountRows |SELECT COUNT(*) FROM ( | SELECT * | FROM CourseTerminology | ORDER BY ctTitle | ) AS _PagingCount mapNextRowgetIntfindAllCourseTerminologyList | | SELECT * | FROM CourseTerminology | ORDER BY ctTitle | executeQuerygetTerminologyForClazzclazzUid | | SELECT * | FROM CourseTerminology | JOIN Clazz | ON Clazz.clazzTerminologyUid = CourseTerminology.ctUid | WHERE Clazz.clazzUid = CAST(? AS BIGINT) | | | SELECT * | FROM CourseTerminology | JOIN Clazz | ON Clazz.clazzTerminologyUid = CourseTerminology.ctUid | WHERE Clazz.clazzUid = ? | |getTerminologyForAssignmentassignmentUid | | SELECT CourseTerminology.* | FROM ClazzAssignment | JOIN Clazz | ON Clazz.clazzUid = ClazzAssignment.caClazzUid | JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | WHERE ClazzAssignment.caUid = CAST(? AS BIGINT) | LIMIT 1 | | | SELECT CourseTerminology.* | FROM ClazzAssignment | JOIN Clazz | ON Clazz.clazzUid = ClazzAssignment.caClazzUid | JOIN CourseTerminology | ON CourseTerminology.ctUid = Clazz.clazzTerminologyUid | WHERE ClazzAssignment.caUid = ? | LIMIT 1 | |findByUidAsyncuid | | SELECT * | FROM CourseTerminology | WHERE ctUid = CAST(? AS BIGINT) | | | SELECT * | FROM CourseTerminology | WHERE ctUid = ? | |      "  $ ' 9              # +  #   comustadmobilecoredbdaoCourseTerminologyDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoCourseTerminologyDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindAllCourseTerminologyPagingSourceandroidxpagingPagingSourceIntlibentitiesCourseTerminologyDoorRepositoryReplicatePullPagingSourceGET_PROPERTYCourseTerminologyDao/findAllCourseTerminologyPagingSourcecoroutinesSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParamsBooleanLOCAL_FUNCTION_FOR_LAMBDA_pagingParamshttpreplicateHttpRequestOrThrowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storepagingSourceLoadParameterskotlinxserializationjsonJsonKSerializerbuiltinsnullableserializerCompanionLAMBDAreplicationonClientRepoDoorMessageHttpResponseendOfPaginationReachedfindAllCourseTerminologyListcollectionsList_resultgetTerminologyForClazzclazzUidreplicateHttpRequestCatchAndLogCourseTerminologyDao/getTerminologyForClazzparameterencodeToStringgetTerminologyForAssignmentassignmentUidfindByUidAsyncuidCourseTerminologyDao/findByUidAsyncupdateAsyncentitywithRepoChangeMonitorAsyncSuspendFunction0upsertAsyncinsertwithRepoChangeMonitorinsertAsyncinsertListentityListupdateINSTANCE_RECEIVER& /     comustadmobilecoredbdaoDeletedItemDaoDEFINEDkotlinUnitAnyinsertDeletedItemForContentEntryParentChildJoincepcjUidLongtimedeletedByPersonUidfindByTableIdAndEntityUidcollectionsListlibentitiesDeletedItemtableIdIntentityUidfindDeletedItemsForUserandroidxpagingPagingSourcepersonUidincludeActionedItemsBooleanupdateStatusByUidsuidListnewStatusupdateTimeINSTANCE_RECEIVER  " /  i                  comustadmobilecoredbdaoDeletedItemDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitDeletedItemDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertDeletedItemForContentEntryParentChildJoincepcjUidLongtimedeletedByPersonUidIntextprepareAndUseStatementAsyncGET_PROPERTYPreparedStatementConfigStringtexttrimMargin | | INSERT INTO DeletedItem(delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder) | SELECT (SELECT ContentEntry.title | FROM ContentEntry | WHERE ContentEntry.contentEntryUid = | (SELECT ContentEntryParentChildJoin.cepcjChildContentEntryUid | FROM ContentEntryParentChildJoin | WHERE ContentEntryParentChildJoin.cepcjUid = CAST(? AS BIGINT))) AS delItemName, | NULL as delItemIconUri, | CAST(? AS BIGINT) AS delItemLastModTime, | CAST(? AS BIGINT) AS delItemTimeDeleted, | 7 AS delItemEntityTable, | CAST(? AS BIGINT) AS delItemEntityUid, | CAST(? AS BIGINT) AS delItemDeletedByPersonUid, | 1 AS delItemStatus, | (SELECT NOT ContentEntry.leaf | FROM ContentEntry | WHERE ContentEntry.contentEntryUid = | (SELECT ContentEntryParentChildJoin.cepcjChildContentEntryUid | FROM ContentEntryParentChildJoin | WHERE ContentEntryParentChildJoin.cepcjUid = CAST(? AS BIGINT))) AS delItemIsFolder | | | INSERT INTO DeletedItem(delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder) | SELECT (SELECT ContentEntry.title | FROM ContentEntry | WHERE ContentEntry.contentEntryUid = | (SELECT ContentEntryParentChildJoin.cepcjChildContentEntryUid | FROM ContentEntryParentChildJoin | WHERE ContentEntryParentChildJoin.cepcjUid = ?)) AS delItemName, | NULL as delItemIconUri, | ? AS delItemLastModTime, | ? AS delItemTimeDeleted, | 7 AS delItemEntityTable, | ? AS delItemEntityUid, | ? AS delItemDeletedByPersonUid, | 1 AS delItemStatus, | (SELECT NOT ContentEntry.leaf | FROM ContentEntry | WHERE ContentEntry.contentEntryUid = | (SELECT ContentEntryParentChildJoin.cepcjChildContentEntryUid | FROM ContentEntryParentChildJoin | WHERE ContentEntryParentChildJoin.cepcjUid = ?)) AS delItemIsFolder | |BooleancoroutinesSuspendFunction1jdbcPreparedStatementLOCAL_FUNCTION_FOR_LAMBDA_stmtsetLongexecuteUpdateAsyncKmpLAMBDAfindByTableIdAndEntityUidcollectionsListlibentitiesDeletedItemtableIdentityUid | | SELECT DeletedItem.* | FROM DeletedItem | WHERE DeletedItem.delItemEntityTable = ? | AND DeletedItem.delItemEntityUid = CAST(? AS BIGINT) | | | SELECT DeletedItem.* | FROM DeletedItem | WHERE DeletedItem.delItemEntityTable = ? | AND DeletedItem.delItemEntityUid = ? | |setIntuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_delItemUidgetLongdelItemUid_tmp_delItemNamegetStringdelItemName_tmp_delItemIconUridelItemIconUri_tmp_delItemLastModTimedelItemLastModTime_tmp_delItemTimeDeleteddelItemTimeDeleted_tmp_delItemEntityTablegetIntdelItemEntityTable_tmp_delItemEntityUiddelItemEntityUid_tmp_delItemDeletedByPersonUiddelItemDeletedByPersonUid_tmp_delItemStatusdelItemStatus_tmp_delItemIsFoldergetBooleandelItemIsFolderapplyExtensionFunctionType$this$applyEQfindDeletedItemsForUserandroidxpagingPagingSourcepersonUidincludeActionedItemsOBJECT_LITERALDoorLimitOffsetPagingSourceArrayarrayOfloadRows_limit_offset |SELECT * FROM ( | SELECT DeletedItem.* | FROM DeletedItem | WHERE ( (CAST(? AS INTEGER) = 1) | OR DeletedItem.delItemStatus = 1) | AND DeletedItem.delItemDeletedByPersonUid = CAST(? AS BIGINT) | ORDER BY DeletedItem.delItemTimeDeleted DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT DeletedItem.* | FROM DeletedItem | WHERE ( (CAST(? AS INTEGER) = 1) | OR DeletedItem.delItemStatus = 1) | AND DeletedItem.delItemDeletedByPersonUid = ? | ORDER BY DeletedItem.delItemTimeDeleted DESC | ) AS _PagingData LIMIT ? OFFSET ? |setBooleancountRows |SELECT COUNT(*) FROM ( | SELECT DeletedItem.* | FROM DeletedItem | WHERE ( (CAST(? AS INTEGER) = 1) | OR DeletedItem.delItemStatus = 1) | AND DeletedItem.delItemDeletedByPersonUid = CAST(? AS BIGINT) | ORDER BY DeletedItem.delItemTimeDeleted DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT DeletedItem.* | FROM DeletedItem | WHERE ( (CAST(? AS INTEGER) = 1) | OR DeletedItem.delItemStatus = 1) | AND DeletedItem.delItemDeletedByPersonUid = ? | ORDER BY DeletedItem.delItemTimeDeleted DESC | ) AS _PagingCount |mapNextRowINSTANCE_RECEIVERupdateStatusByUidsuidListnewStatusupdateTime | | UPDATE DeletedItem | SET delItemStatus = ?, | delItemLastModTime = CAST(? AS BIGINT) | WHERE delItemUid IN (?) | | | UPDATE DeletedItem | SET delItemStatus = ?, | delItemLastModTime = ? | WHERE delItemUid IN (?) | |setArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArray}      "  /      '&             # comustadmobilecoredbdaoDeletedItemDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoDeletedItemDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertDeletedItemForContentEntryParentChildJoincepcjUidtimedeletedByPersonUidreplicationwithRepoChangeMonitorAsyncGET_PROPERTYDeletedItemcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByTableIdAndEntityUidcollectionsListlibentitiestableIdIntentityUid_resultfindDeletedItemsForUserandroidxpagingPagingSourcepersonUidincludeActionedItemsBooleanDoorRepositoryReplicatePullPagingSourceDeletedItemDao/findDeletedItemsForUserSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParams_pagingParamshttpreplicateHttpRequestOrThrowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompanionpagingSourceLoadParametersnullableonClientRepoDoorMessageHttpResponseendOfPaginationReachedupdateStatusByUidsuidListnewStatusupdateTimeINSTANCE_RECEIVER4   '  -    !  comustadmobilecoredbdaoDiscussionPostDaoDEFINEDkotlinUnitAnygetTopLevelPostsByCourseBlockUidandroidxpagingPagingSourceIntlibentitiesDiscussionPostWithDetailscourseBlockUidLongincludeDeletedBooleangetTopLevelPostsByCourseBlockUidPersonscollectionsListcompositesPersonAndPicturegetTopLevelPostsByCourseBlockUidLatestMessageDiscussionPostgetPostTitleStringpostUidfindByUiduidgetTitleByUidAsFlowkotlinxcoroutinesflowFlowupdateAsyncentityfindByPostIdWithAllRepliesDiscussionPostAndPosterNamesfindByPostIdWithAllRepliesPersonsupsertAsyncsetDeletedAsyncdeletedupdateTimeINSTANCE_RECEIVERBaseDao^  "    '  -    !    < @<comustadmobilecoredbdaoDiscussionPostDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoDiscussionPostDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinggetTopLevelPostsByCourseBlockUidandroidxpagingPagingSourceIntlibentitiesDiscussionPostWithDetailscourseBlockUidLongincludeDeletedBooleanGET_PROPERTYgetTopLevelPostsByCourseBlockUidPersonscollectionsListcompositesPersonAndPicturegetTopLevelPostsByCourseBlockUidLatestMessageDiscussionPostgetPostTitleStringpostUidfindByUiduidgetTitleByUidAsFlowkotlinxcoroutinesflowFlowupdateAsyncentitydiscussionPostLctEQutilsystemTimeInMillisfindByPostIdWithAllRepliesDiscussionPostAndPosterNamesfindByPostIdWithAllRepliesPersonsupsertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFinternalirEQEQdiscussionPostUid_newPknextIdAsyncsetDeletedAsyncdeletedupdateTimeinsertIllegalStateExceptioninsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVERl  " #  i " " $)"^(   e      7(  !! #  ""$ . ' ,                          -A2  e{\!0 comustadmobilecoredbdaoDiscussionPostDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitDiscussionPostDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterDiscussionPost_upsertEntityInsertionAdapterlibentitiesDiscussionPostOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO DiscussionPost (discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongdiscussionPostUidsetObjectIntsetLongdiscussionPostReplyToPostUidsetStringdiscussionPostTitlediscussionPostMessagediscussionPostStartDatediscussionPostCourseBlockUidsetBooleandpDeleteddiscussionPostStartedPersonUiddiscussionPostClazzUiddiscussionPostLctdiscussionPostVisiblediscussionPostArchiveINSTANCE_RECEIVER_insertAdapterDiscussionPost_abortINSERT INTO DiscussionPost (discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)upsertAsyncinsertAsyncinsert_retValinsertAndReturnIdinsertAndReturnIdAsyncinsertListentityListcollectionsListupdateAsync_result_sqlUPDATE DiscussionPost SET discussionPostReplyToPostUid = ?, discussionPostTitle = ?, discussionPostMessage = ?, discussionPostStartDate = ?, discussionPostCourseBlockUid = ?, dpDeleted = ?, discussionPostStartedPersonUid = ?, discussionPostClazzUid = ?, discussionPostLct = ?, discussionPostVisible = ?, discussionPostArchive = ? WHERE discussionPostUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdategetTopLevelPostsByCourseBlockUidandroidxpagingPagingSourceDiscussionPostWithDetailscourseBlockUidincludeDeletedDoorLimitOffsetPagingSourceArrayarrayOfPersonPersonPictureloadRows_limit_offsetPreparedStatementConfigtexttrimMargin |SELECT * FROM ( | SELECT DiscussionPost.*, | Person.firstNames as authorPersonFirstNames, | Person.lastName as authorPersonLastName, | PersonPicture.personPictureThumbnailUri AS authorPictureUri, | MostRecentReply.discussionPostMessage AS postLatestMessage, | COALESCE(MostRecentReply.discussionPostStartDate, 0) AS postLatestMessageTimestamp, | (SELECT COUNT(*) | FROM DiscussionPost DiscussionPostReplies | WHERE DiscussionPostReplies.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid | AND NOT DiscussionPostReplies.dpDeleted | ) AS postRepliesCount | FROM DiscussionPost | LEFT JOIN DiscussionPost AS MostRecentReply | ON MostRecentReply.discussionPostUid = | (SELECT MostRecentReplyInner.discussionPostUid | FROM DiscussionPost AS MostRecentReplyInner | WHERE MostRecentReplyInner.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid | ORDER BY MostRecentReplyInner.discussionPostStartDate DESC | LIMIT 1 | ) | LEFT JOIN Person | ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid | WHERE DiscussionPost.discussionPostCourseBlockUid = CAST(? AS BIGINT) | AND DiscussionPost.discussionPostReplyToPostUid = 0 | AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1) | ORDER BY DiscussionPost.discussionPostStartDate DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT DiscussionPost.*, | Person.firstNames as authorPersonFirstNames, | Person.lastName as authorPersonLastName, | PersonPicture.personPictureThumbnailUri AS authorPictureUri, | MostRecentReply.discussionPostMessage AS postLatestMessage, | COALESCE(MostRecentReply.discussionPostStartDate, 0) AS postLatestMessageTimestamp, | (SELECT COUNT(*) | FROM DiscussionPost DiscussionPostReplies | WHERE DiscussionPostReplies.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid | AND NOT DiscussionPostReplies.dpDeleted | ) AS postRepliesCount | FROM DiscussionPost | LEFT JOIN DiscussionPost AS MostRecentReply | ON MostRecentReply.discussionPostUid = | (SELECT MostRecentReplyInner.discussionPostUid | FROM DiscussionPost AS MostRecentReplyInner | WHERE MostRecentReplyInner.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid | ORDER BY MostRecentReplyInner.discussionPostStartDate DESC | LIMIT 1 | ) | LEFT JOIN Person | ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid | WHERE DiscussionPost.discussionPostCourseBlockUid = ? | AND DiscussionPost.discussionPostReplyToPostUid = 0 | AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1) | ORDER BY DiscussionPost.discussionPostStartDate DESC | ) AS _PagingData LIMIT ? OFFSET ? |setIntuseResultsResultSetexecuteQueryAsyncKmpmapRowsit_tmp_authorPersonFirstNamesgetStringauthorPersonFirstNames_tmp_authorPersonLastNameauthorPersonLastName_tmp_authorPictureUriauthorPictureUri_tmp_postLatestMessagepostLatestMessage_tmp_postRepliesCountgetIntpostRepliesCount_tmp_postLatestMessageTimestampgetLongpostLatestMessageTimestamp_tmp_discussionPostUid_tmp_discussionPostReplyToPostUid_tmp_discussionPostTitle_tmp_discussionPostMessage_tmp_discussionPostStartDate_tmp_discussionPostCourseBlockUid_tmp_dpDeletedgetBoolean_tmp_discussionPostStartedPersonUid_tmp_discussionPostClazzUid_tmp_discussionPostLct_tmp_discussionPostVisible_tmp_discussionPostArchiveapplyExtensionFunctionType$this$applyEQcountRows |SELECT COUNT(*) FROM ( | SELECT DiscussionPost.*, | Person.firstNames as authorPersonFirstNames, | Person.lastName as authorPersonLastName, | PersonPicture.personPictureThumbnailUri AS authorPictureUri, | MostRecentReply.discussionPostMessage AS postLatestMessage, | COALESCE(MostRecentReply.discussionPostStartDate, 0) AS postLatestMessageTimestamp, | (SELECT COUNT(*) | FROM DiscussionPost DiscussionPostReplies | WHERE DiscussionPostReplies.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid | AND NOT DiscussionPostReplies.dpDeleted | ) AS postRepliesCount | FROM DiscussionPost | LEFT JOIN DiscussionPost AS MostRecentReply | ON MostRecentReply.discussionPostUid = | (SELECT MostRecentReplyInner.discussionPostUid | FROM DiscussionPost AS MostRecentReplyInner | WHERE MostRecentReplyInner.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid | ORDER BY MostRecentReplyInner.discussionPostStartDate DESC | LIMIT 1 | ) | LEFT JOIN Person | ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid | WHERE DiscussionPost.discussionPostCourseBlockUid = CAST(? AS BIGINT) | AND DiscussionPost.discussionPostReplyToPostUid = 0 | AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1) | ORDER BY DiscussionPost.discussionPostStartDate DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT DiscussionPost.*, | Person.firstNames as authorPersonFirstNames, | Person.lastName as authorPersonLastName, | PersonPicture.personPictureThumbnailUri AS authorPictureUri, | MostRecentReply.discussionPostMessage AS postLatestMessage, | COALESCE(MostRecentReply.discussionPostStartDate, 0) AS postLatestMessageTimestamp, | (SELECT COUNT(*) | FROM DiscussionPost DiscussionPostReplies | WHERE DiscussionPostReplies.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid | AND NOT DiscussionPostReplies.dpDeleted | ) AS postRepliesCount | FROM DiscussionPost | LEFT JOIN DiscussionPost AS MostRecentReply | ON MostRecentReply.discussionPostUid = | (SELECT MostRecentReplyInner.discussionPostUid | FROM DiscussionPost AS MostRecentReplyInner | WHERE MostRecentReplyInner.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid | ORDER BY MostRecentReplyInner.discussionPostStartDate DESC | LIMIT 1 | ) | LEFT JOIN Person | ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid | WHERE DiscussionPost.discussionPostCourseBlockUid = ? | AND DiscussionPost.discussionPostReplyToPostUid = 0 | AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1) | ORDER BY DiscussionPost.discussionPostStartDate DESC | ) AS _PagingCount |mapNextRowgetTopLevelPostsByCourseBlockUidPersonscompositesPersonAndPicture | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT DiscussionPost.discussionPostStartedPersonUid | FROM DiscussionPost | WHERE DiscussionPost.discussionPostCourseBlockUid = CAST(? AS BIGINT) | AND DiscussionPost.discussionPostReplyToPostUid = 0) | | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT DiscussionPost.discussionPostStartedPersonUid | FROM DiscussionPost | WHERE DiscussionPost.discussionPostCourseBlockUid = ? | AND DiscussionPost.discussionPostReplyToPostUid = 0) | |_tmp_Person_nullCount_tmp_personUidpersonUidwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_usernameusernametmp1_tmp_firstNamesfirstNamestmp2_tmp_lastNamelastNametmp3_tmp_emailAddremailAddrtmp4_tmp_phoneNumphoneNumtmp5_tmp_gendergendertmp6_tmp_activeactivetmp7_tmp_dateOfBirthdateOfBirthtmp8_tmp_personAddresspersonAddresstmp9_tmp_personOrgIdpersonOrgIdtmp10_tmp_personGroupUidpersonGroupUidtmp11_tmp_personLctpersonLcttmp12_tmp_personCountrypersonCountrytmp13_tmp_personTypepersonTypetmp14_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNumtmp15_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNumtmp16_tmp_personLastChangedBypersonLastChangedBytmp17_tmp_adminadmintmp18_tmp_personNotespersonNotestmp19_tmp_fatherNamefatherNametmp20_tmp_fatherNumberfatherNumbertmp21_tmp_motherNamemotherNametmp22_tmp_motherNummotherNumtmp23_tmp_Person_isAllNull_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUidtmp24_tmp_personPictureLctpersonPictureLcttmp25_tmp_personPictureUripersonPictureUritmp26_tmp_personPictureThumbnailUripersonPictureThumbnailUritmp27_tmp_fileSizefileSizetmp28_tmp_personPictureActivepersonPictureActivetmp29_tmp_PersonPicture_isAllNullnotEXCLpersonpicturegetTopLevelPostsByCourseBlockUidLatestMessage | | SELECT MostRecentReply.* | FROM DiscussionPost | JOIN DiscussionPost AS MostRecentReply | ON MostRecentReply.discussionPostUid = | (SELECT MostRecentReplyInner.discussionPostUid | FROM DiscussionPost AS MostRecentReplyInner | WHERE MostRecentReplyInner.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid | ORDER BY MostRecentReplyInner.discussionPostStartDate DESC | LIMIT 1 | ) | WHERE DiscussionPost.discussionPostCourseBlockUid = CAST(? AS BIGINT) | AND DiscussionPost.discussionPostReplyToPostUid = 0 | | | SELECT MostRecentReply.* | FROM DiscussionPost | JOIN DiscussionPost AS MostRecentReply | ON MostRecentReply.discussionPostUid = | (SELECT MostRecentReplyInner.discussionPostUid | FROM DiscussionPost AS MostRecentReplyInner | WHERE MostRecentReplyInner.discussionPostReplyToPostUid = DiscussionPost.discussionPostUid | ORDER BY MostRecentReplyInner.discussionPostStartDate DESC | LIMIT 1 | ) | WHERE DiscussionPost.discussionPostCourseBlockUid = ? | AND DiscussionPost.discussionPostReplyToPostUid = 0 | |getPostTitlepostUid | | SELECT DiscussionPost.discussionPostTitle | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = CAST(? AS BIGINT) | | | SELECT DiscussionPost.discussionPostTitle | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = ? | |findByUiduid | | SELECT * | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = CAST(? AS BIGINT) | | | SELECT * | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = ? | |getTitleByUidAsFlowkotlinxflowFlowdoorFlowSuspendFunction0 | | SELECT DiscussionPost.discussionPostTitle | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = CAST(? AS BIGINT) | | | SELECT DiscussionPost.discussionPostTitle | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = ? | |findByPostIdWithAllRepliesDiscussionPostAndPosterNames |SELECT * FROM ( | SELECT DiscussionPost.*, | Person.firstNames, | Person.lastName, | PersonPicture.personPictureThumbnailUri AS personPictureUri | FROM DiscussionPost | LEFT JOIN Person | ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid | WHERE (DiscussionPost.discussionPostUid = CAST(? AS BIGINT) | OR DiscussionPost.discussionPostReplyToPostUid= CAST(? AS BIGINT)) | AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1) | -- Always get the starting post first, followed by replies | ORDER BY CASE(DiscussionPost.discussionPostReplyToPostUid) | WHEN 0 THEN 0 | ELSE 1 END ASC, | DiscussionPost.discussionPostStartDate DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT DiscussionPost.*, | Person.firstNames, | Person.lastName, | PersonPicture.personPictureThumbnailUri AS personPictureUri | FROM DiscussionPost | LEFT JOIN Person | ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid | WHERE (DiscussionPost.discussionPostUid = ? | OR DiscussionPost.discussionPostReplyToPostUid= ?) | AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1) | -- Always get the starting post first, followed by replies | ORDER BY CASE(DiscussionPost.discussionPostReplyToPostUid) | WHEN 0 THEN 0 | ELSE 1 END ASC, | DiscussionPost.discussionPostStartDate DESC | ) AS _PagingData LIMIT ? OFFSET ? |_tmp_DiscussionPost_nullCount_tmp_DiscussionPost_isAllNulldiscussionPost |SELECT COUNT(*) FROM ( | SELECT DiscussionPost.*, | Person.firstNames, | Person.lastName, | PersonPicture.personPictureThumbnailUri AS personPictureUri | FROM DiscussionPost | LEFT JOIN Person | ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid | WHERE (DiscussionPost.discussionPostUid = CAST(? AS BIGINT) | OR DiscussionPost.discussionPostReplyToPostUid= CAST(? AS BIGINT)) | AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1) | -- Always get the starting post first, followed by replies | ORDER BY CASE(DiscussionPost.discussionPostReplyToPostUid) | WHEN 0 THEN 0 | ELSE 1 END ASC, | DiscussionPost.discussionPostStartDate DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT DiscussionPost.*, | Person.firstNames, | Person.lastName, | PersonPicture.personPictureThumbnailUri AS personPictureUri | FROM DiscussionPost | LEFT JOIN Person | ON Person.personUid = DiscussionPost.discussionPostStartedPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = DiscussionPost.discussionPostStartedPersonUid | WHERE (DiscussionPost.discussionPostUid = ? | OR DiscussionPost.discussionPostReplyToPostUid= ?) | AND (NOT DiscussionPost.dpDeleted OR CAST(? AS INTEGER) = 1) | -- Always get the starting post first, followed by replies | ORDER BY CASE(DiscussionPost.discussionPostReplyToPostUid) | WHEN 0 THEN 0 | ELSE 1 END ASC, | DiscussionPost.discussionPostStartDate DESC | ) AS _PagingCount |findByPostIdWithAllRepliesPersons | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT DiscussionPost.discussionPostStartedPersonUid | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = CAST(? AS BIGINT) | OR DiscussionPost.discussionPostReplyToPostUid= CAST(? AS BIGINT)) | | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT DiscussionPost.discussionPostStartedPersonUid | FROM DiscussionPost | WHERE DiscussionPost.discussionPostUid = ? | OR DiscussionPost.discussionPostReplyToPostUid= ?) | |setDeletedAsyncdeletedupdateTime | | UPDATE DiscussionPost | SET dpDeleted = ?, | discussionPostLct = CAST(? AS BIGINT) | WHERE discussionPostUid = CAST(? AS BIGINT) | | | UPDATE DiscussionPost | SET dpDeleted = ?, | discussionPostLct = ? | WHERE discussionPostUid = ? | |      "    ' 2               #'  -   ,!   comustadmobilecoredbdaoDiscussionPostDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoDiscussionPostDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinggetTopLevelPostsByCourseBlockUidandroidxpagingPagingSourceIntlibentitiesDiscussionPostWithDetailscourseBlockUidincludeDeletedBooleanDoorRepositoryReplicatePullPagingSourceGET_PROPERTYDiscussionPostDao/getTopLevelPostsByCourseBlockUidcoroutinesSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParamsLOCAL_FUNCTION_FOR_LAMBDA_pagingParamshttpreplicateHttpRequestOrThrowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompanionpagingSourceLoadParametersnullableLAMBDAreplicationonClientRepoDoorMessageHttpResponseendOfPaginationReachedgetTopLevelPostsByCourseBlockUidPersonscollectionsListcompositesPersonAndPicture_resultgetTopLevelPostsByCourseBlockUidLatestMessageDiscussionPostgetPostTitlepostUidfindByUiduidgetTitleByUidAsFlowflowFlowupdateAsyncentitywithRepoChangeMonitorAsyncSuspendFunction0findByPostIdWithAllRepliesDiscussionPostAndPosterNamesDiscussionPostDao/findByPostIdWithAllRepliesfindByPostIdWithAllRepliesPersonsupsertAsyncsetDeletedAsyncdeletedupdateTimeinsertwithRepoChangeMonitorinsertAsyncinsertListentityListupdateINSTANCE_RECEIVER1           comustadmobilecoredbdaoEnrolmentRequestDaoDEFINEDkotlinUnitAnyinsertenrolmentRequestlibentitiesEnrolmentRequestfindByClazzAndPersoncollectionsListpersonUidLongclazzUidstatusFilterInthasPendingRequestsBooleanfindRequestsForUserAsFlowkotlinxcoroutinesflowFlowcompositesEnrolmentRequestAndCoursePicaccountPersonUidupdateStatusuidstatusupdateTimefindPendingEnrolmentsForCourseandroidxpagingPagingSourceEnrolmentRequestAndPersonDetailsincludeDeletedsearchTextStringsortOrderINSTANCE_RECEIVERS  "                 comustadmobilecoredbdaoEnrolmentRequestDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoEnrolmentRequestDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertenrolmentRequestlibentitiesEnrolmentRequest_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQLongerUid_newPknextIdAsyncIntEQerLastModifiedutilsystemTimeInMillisfindByClazzAndPersoncollectionsListpersonUidclazzUidstatusFilterhasPendingRequestsfindRequestsForUserAsFlowkotlinxcoroutinesflowFlowcompositesEnrolmentRequestAndCoursePicaccountPersonUidupdateStatusuidstatusupdateTimefindPendingEnrolmentsForCourseandroidxpagingPagingSourceEnrolmentRequestAndPersonDetailsincludeDeletedsearchTextStringsortOrderINSTANCE_RECEIVERg  " $        *     '           `A                                   comustadmobilecoredbdaoEnrolmentRequestDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitEnrolmentRequestDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterEnrolmentRequest_abortEntityInsertionAdapterlibentitiesEnrolmentRequestOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO EnrolmentRequest (erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongerUidsetObjectIntsetLongerClazzUidsetStringerClazzNameerPersonUiderPersonFullnameerPersonPictureUrierPersonUsernamesetInterRoleerRequestTimeerStatuserStatusSetByPersonUidsetBooleanerDeletederStatusSetAutherLastModifiedINSTANCE_RECEIVERinsertenrolmentRequestinsertAsyncfindByClazzAndPersoncollectionsListpersonUidclazzUidstatusFilterextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT EnrolmentRequest.* | FROM EnrolmentRequest | WHERE EnrolmentRequest.erPersonUid = CAST(? AS BIGINT) | AND EnrolmentRequest.erClazzUid = CAST(? AS BIGINT) | AND (? = 0 OR EnrolmentRequest.erStatus = ?) | | | SELECT EnrolmentRequest.* | FROM EnrolmentRequest | WHERE EnrolmentRequest.erPersonUid = ? | AND EnrolmentRequest.erClazzUid = ? | AND (? = 0 OR EnrolmentRequest.erStatus = ?) | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_erUidgetLong_tmp_erClazzUid_tmp_erClazzNamegetString_tmp_erPersonUid_tmp_erPersonFullname_tmp_erPersonPictureUri_tmp_erPersonUsername_tmp_erRolegetInt_tmp_erRequestTime_tmp_erStatus_tmp_erStatusSetByPersonUid_tmp_erDeletedgetBoolean_tmp_erStatusSetAuth_tmp_erLastModifiedapplyExtensionFunctionType$this$applyEQLAMBDAhasPendingRequests | | SELECT EXISTS( | SELECT EnrolmentRequest.erUid | FROM EnrolmentRequest | WHERE EnrolmentRequest.erPersonUid = CAST(? AS BIGINT) | AND EnrolmentRequest.erClazzUid = CAST(? AS BIGINT) | AND EnrolmentRequest.erStatus = 1) | | | SELECT EXISTS( | SELECT EnrolmentRequest.erUid | FROM EnrolmentRequest | WHERE EnrolmentRequest.erPersonUid = ? | AND EnrolmentRequest.erClazzUid = ? | AND EnrolmentRequest.erStatus = 1) | |mapNextRowfindRequestsForUserAsFlowkotlinxflowFlowcompositesEnrolmentRequestAndCoursePicaccountPersonUiddoorFlowArrayarrayOfCoursePictureSuspendFunction0 | | SELECT EnrolmentRequest.*, CoursePicture.* | FROM EnrolmentRequest | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = EnrolmentRequest.erClazzUid | WHERE EnrolmentRequest.erPersonUid = CAST(? AS BIGINT) | AND (? = 0 OR EnrolmentRequest.erStatus = ?) | | | SELECT EnrolmentRequest.*, CoursePicture.* | FROM EnrolmentRequest | LEFT JOIN CoursePicture | ON CoursePicture.coursePictureUid = EnrolmentRequest.erClazzUid | WHERE EnrolmentRequest.erPersonUid = ? | AND (? = 0 OR EnrolmentRequest.erStatus = ?) | |_tmp_EnrolmentRequest_nullCountwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inctmp1tmp2tmp3tmp4tmp5tmp6tmp7tmp8tmp9tmp10tmp11tmp12tmp13_tmp_EnrolmentRequest_isAllNull_tmp_CoursePicture_nullCount_tmp_coursePictureUidcoursePictureUidtmp14_tmp_coursePictureLctcoursePictureLcttmp15_tmp_coursePictureUricoursePictureUritmp16_tmp_coursePictureThumbnailUricoursePictureThumbnailUritmp17_tmp_coursePictureActivecoursePictureActivetmp18_tmp_CoursePicture_isAllNullnotEXCLcoursePictureupdateStatusuidstatusupdateTime | | UPDATE EnrolmentRequest | SET erStatus = ?, | erLastModified = CAST(? AS BIGINT) | WHERE erUid = CAST(? AS BIGINT) | | | UPDATE EnrolmentRequest | SET erStatus = ?, | erLastModified = ? | WHERE erUid = ? | |executeUpdateAsyncKmpfindPendingEnrolmentsForCourseandroidxpagingPagingSourceEnrolmentRequestAndPersonDetailsincludeDeletedsearchTextsortOrderDoorLimitOffsetPagingSourcePersonPersonPictureloadRows_limit_offset |SELECT * FROM ( | SELECT EnrolmentRequest.*, PersonPicture.*, Person.* | FROM EnrolmentRequest | JOIN Person | ON Person.personUid = EnrolmentRequest.erPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = EnrolmentRequest.erPersonUid | WHERE EnrolmentRequest.erClazzUid = CAST(? AS BIGINT) | AND (? = 0 OR EnrolmentRequest.erStatus = ?) | AND (CAST(? AS INTEGER) = 1 OR NOT EnrolmentRequest.erDeleted) | AND (? = '%' OR EnrolmentRequest.erPersonFullname LIKE ?) | ORDER BY CASE(?) | WHEN 1 THEN EnrolmentRequest.erPersonFullname | WHEN 3 THEN EnrolmentRequest.erPersonFullname | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN EnrolmentRequest.erPersonFullname | WHEN 4 THEN EnrolmentRequest.erPersonFullname | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN EnrolmentRequest.erRequestTime | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN EnrolmentRequest.erRequestTime | ELSE 0 | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT EnrolmentRequest.*, PersonPicture.*, Person.* | FROM EnrolmentRequest | JOIN Person | ON Person.personUid = EnrolmentRequest.erPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = EnrolmentRequest.erPersonUid | WHERE EnrolmentRequest.erClazzUid = ? | AND (? = 0 OR EnrolmentRequest.erStatus = ?) | AND (CAST(? AS INTEGER) = 1 OR NOT EnrolmentRequest.erDeleted) | AND (? = '%' OR EnrolmentRequest.erPersonFullname LIKE ?) | ORDER BY CASE(?) | WHEN 1 THEN EnrolmentRequest.erPersonFullname | WHEN 3 THEN EnrolmentRequest.erPersonFullname | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN EnrolmentRequest.erPersonFullname | WHEN 4 THEN EnrolmentRequest.erPersonFullname | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN EnrolmentRequest.erRequestTime | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN EnrolmentRequest.erRequestTime | ELSE 0 | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUid_tmp_personPictureLctpersonPictureLct_tmp_personPictureUripersonPictureUri_tmp_personPictureThumbnailUripersonPictureThumbnailUri_tmp_fileSizefileSize_tmp_personPictureActivepersonPictureActivetmp19_tmp_PersonPicture_isAllNull_tmp_Person_nullCount_tmp_personUidtmp20_tmp_usernameusernametmp21_tmp_firstNamesfirstNamestmp22_tmp_lastNamelastNametmp23_tmp_emailAddremailAddrtmp24_tmp_phoneNumphoneNumtmp25_tmp_gendergendertmp26_tmp_activeactivetmp27_tmp_dateOfBirthdateOfBirthtmp28_tmp_personAddresspersonAddresstmp29_tmp_personOrgIdpersonOrgIdtmp30_tmp_personGroupUidpersonGroupUidtmp31_tmp_personLctpersonLcttmp32_tmp_personCountrypersonCountrytmp33_tmp_personTypepersonTypetmp34_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNumtmp35_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNumtmp36_tmp_personLastChangedBypersonLastChangedBytmp37_tmp_adminadmintmp38_tmp_personNotespersonNotestmp39_tmp_fatherNamefatherNametmp40_tmp_fatherNumberfatherNumbertmp41_tmp_motherNamemotherNametmp42_tmp_motherNummotherNumtmp43_tmp_Person_isAllNullpersonPicturepersoncountRows |SELECT COUNT(*) FROM ( | SELECT EnrolmentRequest.*, PersonPicture.*, Person.* | FROM EnrolmentRequest | JOIN Person | ON Person.personUid = EnrolmentRequest.erPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = EnrolmentRequest.erPersonUid | WHERE EnrolmentRequest.erClazzUid = CAST(? AS BIGINT) | AND (? = 0 OR EnrolmentRequest.erStatus = ?) | AND (CAST(? AS INTEGER) = 1 OR NOT EnrolmentRequest.erDeleted) | AND (? = '%' OR EnrolmentRequest.erPersonFullname LIKE ?) | ORDER BY CASE(?) | WHEN 1 THEN EnrolmentRequest.erPersonFullname | WHEN 3 THEN EnrolmentRequest.erPersonFullname | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN EnrolmentRequest.erPersonFullname | WHEN 4 THEN EnrolmentRequest.erPersonFullname | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN EnrolmentRequest.erRequestTime | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN EnrolmentRequest.erRequestTime | ELSE 0 | END DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT EnrolmentRequest.*, PersonPicture.*, Person.* | FROM EnrolmentRequest | JOIN Person | ON Person.personUid = EnrolmentRequest.erPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = EnrolmentRequest.erPersonUid | WHERE EnrolmentRequest.erClazzUid = ? | AND (? = 0 OR EnrolmentRequest.erStatus = ?) | AND (CAST(? AS INTEGER) = 1 OR NOT EnrolmentRequest.erDeleted) | AND (? = '%' OR EnrolmentRequest.erPersonFullname LIKE ?) | ORDER BY CASE(?) | WHEN 1 THEN EnrolmentRequest.erPersonFullname | WHEN 3 THEN EnrolmentRequest.erPersonFullname | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN EnrolmentRequest.erPersonFullname | WHEN 4 THEN EnrolmentRequest.erPersonFullname | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN EnrolmentRequest.erRequestTime | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN EnrolmentRequest.erRequestTime | ELSE 0 | END DESC | ) AS _PagingCount |      "         &          #  -    '2   comustadmobilecoredbdaoEnrolmentRequestDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoEnrolmentRequestDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperinsertenrolmentRequestlibentitiesEnrolmentRequestreplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByClazzAndPersoncollectionsListpersonUidclazzUidstatusFilterInt_resulthasPendingRequestsBooleanreplicateHttpRequestCatchAndLogEnrolmentRequestDao/hasPendingRequestsFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponsefindRequestsForUserAsFlowflowFlowcompositesEnrolmentRequestAndCoursePicaccountPersonUidasRepoFlowEnrolmentRequestDao/findRequestsForUserAsFlowupdateStatusuidstatusupdateTimefindPendingEnrolmentsForCourseandroidxpagingPagingSourceEnrolmentRequestAndPersonDetailsincludeDeletedsearchTextsortOrderDoorRepositoryReplicatePullPagingSourceEnrolmentRequestDao/findPendingEnrolmentsForCourseSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParams_pagingParamsreplicateHttpRequestOrThrowpagingSourceLoadParametersnullableendOfPaginationReachedINSTANCE_RECEIVER     comustadmobilecoredbdaoErrorReportDaoDEFINEDkotlinUnitAnyinsertAsyncLongerrorReportlibentitiesErrorReportfindByUidAsyncerrUidfindByErrorCodecollectionsListerrCodeIntINSTANCE_RECEIVER<  "          comustadmobilecoredbdaoErrorReportDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoErrorReportDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsyncLongerrorReportlibentitiesErrorReport_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQerrUid_newPknextIdAsyncIntEQerrLctutilsystemTimeInMillisfindByUidAsyncfindByErrorCodecollectionsListerrCodeINSTANCE_RECEIVER  "                  %  x              {comustadmobilecoredbdaoErrorReportDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitErrorReportDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterErrorReport_abortEntityInsertionAdapterlibentitiesErrorReportOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ErrorReport (errUid, errPcsn, errLcsn, errLcb, errLct, severity, timestamp, presenterUri, appVersion, versionCode, errorCode, operatingSys, osVersion, stackTrace, message) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongerrUidsetObjectIntsetLongerrPcsnerrLcsnsetInterrLcberrLctseveritytimestampsetStringpresenterUriappVersionversionCodeerrorCodeoperatingSysosVersionstackTracemessageINSTANCE_RECEIVERinsertAsyncerrorReport_retValinsertAndReturnIdAsyncfindByUidAsyncextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT ErrorReport.* | FROM ErrorReport | WHERE errUid = CAST(? AS BIGINT) | | | SELECT ErrorReport.* | FROM ErrorReport | WHERE errUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_errUidgetLong_tmp_errPcsn_tmp_errLcsn_tmp_errLcbgetInt_tmp_errLct_tmp_severity_tmp_timestamp_tmp_presenterUrigetString_tmp_appVersion_tmp_versionCode_tmp_errorCode_tmp_operatingSys_tmp_osVersion_tmp_stackTrace_tmp_messageapplyExtensionFunctionType$this$applyEQLAMBDAfindByErrorCodecollectionsListerrCode | | SELECT ErrorReport.* | FROM ErrorReport | WHERE errorCode = ? | mapRowsB      "        comustadmobilecoredbdaoErrorReportDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoErrorReportDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsyncerrorReportlibentitiesErrorReport_resultreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByUidAsyncerrUidfindByErrorCodecollectionsListerrCodeIntINSTANCE_RECEIVER   comustadmobilecoredbdaoExternalAppPermissionDaoDEFINEDkotlinUnitAnyinsertAsyncLongexternalAppPermissionlibentitiesExternalAppPermissiongetGrantedAuthTokenStringpackageIdpersonUidcurrentTimegetExternalAccessPermissionByUideapUidIntgetPersonUidByAuthTokentokenINSTANCE_RECEIVERy ! " )        /   n       u  B3comustadmobilecoredbdaoExternalAppPermissionDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitExternalAppPermissionDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterExternalAppPermission_abortEntityInsertionAdapterlibentitiesExternalAppPermissionOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ExternalAppPermission (eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName) VALUES(?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQInteapUidsetObjectsetIntsetLongLongeapPersonUidsetStringeapPackageIdeapStartTimeeapExpireTimeeapAuthTokeneapAndroidAccountNameINSTANCE_RECEIVERinsertAsyncexternalAppPermission_retValinsertAndReturnIdAsyncgetGrantedAuthTokenpackageIdpersonUidcurrentTimeextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT ExternalAppPermission.eapAuthToken | FROM ExternalAppPermission | WHERE ExternalAppPermission.eapPackageId = ? | AND ExternalAppPermission.eapPersonUid = CAST(? AS BIGINT) | AND CAST(? AS BIGINT) BETWEEN ExternalAppPermission.eapStartTime AND ExternalAppPermission.eapExpireTime | LIMIT 1 | | | SELECT ExternalAppPermission.eapAuthToken | FROM ExternalAppPermission | WHERE ExternalAppPermission.eapPackageId = ? | AND ExternalAppPermission.eapPersonUid = ? | AND ? BETWEEN ExternalAppPermission.eapStartTime AND ExternalAppPermission.eapExpireTime | LIMIT 1 | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowitgetStringLAMBDAgetExternalAccessPermissionByUid | | SELECT * | FROM ExternalAppPermission | WHERE eapUid = ? | _tmp_eapUidgetInt_tmp_eapPersonUidgetLong_tmp_eapPackageId_tmp_eapStartTime_tmp_eapExpireTime_tmp_eapAuthToken_tmp_eapAndroidAccountNameapplyExtensionFunctionType$this$applyEQgetPersonUidByAuthTokentoken | | SELECT COALESCE( | (SELECT eapPersonUid | FROM ExternalAppPermission | WHERE eapAuthToken = ? | AND CAST(? AS BIGINT) BETWEEN eapStartTime AND eapExpireTime | ), | 0) | | | SELECT COALESCE( | (SELECT eapPersonUid | FROM ExternalAppPermission | WHERE eapAuthToken = ? | AND ? BETWEEN eapStartTime AND eapExpireTime | ), | 0) | |'        comustadmobilecoredbdaoHolidayCalendarDaoDEFINEDkotlinUnitAnyfindAllHolidaysWithEntriesCountandroidxpagingPagingSourceIntlibentitiesHolidayCalendarWithNumEntriesreplaceListlistcollectionsListHolidayCalendarfindAllHolidaysLiveDatakotlinxcoroutinesflowFlowfindByUidLiveuidLongupdateAsyncentityfindByUidfindByUidAsyncINSTANCE_RECEIVERBaseDaoT  "     A     <     @<comustadmobilecoredbdaoHolidayCalendarDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoHolidayCalendarDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindAllHolidaysWithEntriesCountandroidxpagingPagingSourceIntlibentitiesHolidayCalendarWithNumEntriesGET_PROPERTYreplaceListlistcollectionsListHolidayCalendarIllegalStateExceptionStringreplaceList: synchronous db access is NOT possible on Javascript!findAllHolidaysLiveDatakotlinxcoroutinesflowFlowfindByUidLiveuidLongupdateAsyncentityumCalendarLctEQutilsystemTimeInMillisfindByUidfindByUidAsyncinsertinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFBooleaninternalirEQEQumCalendarUid_newPknextIdAsyncinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER  " $      "! *#)              !  "!  d oo EAcomustadmobilecoredbdaoHolidayCalendarDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitHolidayCalendarDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterHolidayCalendar_upsertEntityInsertionAdapterlibentitiesHolidayCalendarOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO HolidayCalendar (umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongumCalendarUidsetObjectIntsetLongsetStringumCalendarNamesetIntumCalendarCategorysetBooleanumCalendarActiveumCalendarMasterChangeSeqNumumCalendarLocalChangeSeqNumumCalendarLastChangedByumCalendarLctINSTANCE_RECEIVER_insertAdapterHolidayCalendar_abortINSERT INTO HolidayCalendar (umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?)replaceListlistcollectionsListinsertListinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncentityListupdateAsync_result_sqlUPDATE HolidayCalendar SET umCalendarName = ?, umCalendarCategory = ?, umCalendarActive = ?, umCalendarMasterChangeSeqNum = ?, umCalendarLocalChangeSeqNum = ?, umCalendarLastChangedBy = ?, umCalendarLct = ? WHERE umCalendarUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindAllHolidaysWithEntriesCountandroidxpagingPagingSourceHolidayCalendarWithNumEntriesDoorLimitOffsetPagingSourceArrayarrayOfHolidayloadRows_limit_offsetPreparedStatementConfigtexttrimMargin |SELECT * FROM (SELECT HolidayCalendar.* , | (SELECT COUNT(*) FROM Holiday | WHERE holHolidayCalendarUid = HolidayCalendar.umCalendarUid | AND CAST(holActive AS INTEGER) = 1) AS numEntries | FROM HolidayCalendar WHERE CAST(umCalendarActive AS INTEGER) = 1 AND | umCalendarCategory = 1) AS _PagingData LIMIT ? OFFSET ? useResultsResultSetexecuteQueryAsyncKmpmapRowsit_tmp_numEntriesgetIntnumEntries_tmp_umCalendarUidgetLong_tmp_umCalendarNamegetString_tmp_umCalendarCategory_tmp_umCalendarActivegetBoolean_tmp_umCalendarMasterChangeSeqNum_tmp_umCalendarLocalChangeSeqNum_tmp_umCalendarLastChangedBy_tmp_umCalendarLctapplyExtensionFunctionType$this$applyEQcountRows |SELECT COUNT(*) FROM (SELECT HolidayCalendar.* , | (SELECT COUNT(*) FROM Holiday | WHERE holHolidayCalendarUid = HolidayCalendar.umCalendarUid | AND CAST(holActive AS INTEGER) = 1) AS numEntries | FROM HolidayCalendar WHERE CAST(umCalendarActive AS INTEGER) = 1 AND | umCalendarCategory = 1) AS _PagingCount mapNextRowfindAllHolidaysLiveDatakotlinxflowFlowdoorFlowSuspendFunction0SELECT * FROM HolidayCalendar WHERE CAST(umCalendarActive AS INTEGER) = 1 AND umCalendarCategory = 1findByUidLiveuidSELECT * FROM HolidayCalendar WHERE umCalendarUid = CAST(? AS BIGINT) AND CAST(umCalendarActive AS INTEGER) = 1 |SELECT * FROM HolidayCalendar WHERE umCalendarUid = ? AND CAST(umCalendarActive AS INTEGER) = 1 |findByUidSELECT * FROM HolidayCalendar WHERE umCalendarUid = CAST(? AS BIGINT) |SELECT * FROM HolidayCalendar WHERE umCalendarUid = ? |findByUidAsyncT      "             comustadmobilecoredbdaoHolidayCalendarDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoHolidayCalendarDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindAllHolidaysWithEntriesCountandroidxpagingPagingSourceIntlibentitiesHolidayCalendarWithNumEntries_resultGET_PROPERTYreplaceListlistcollectionsListHolidayCalendarreplicationwithRepoChangeMonitorFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindAllHolidaysLiveDatakotlinxcoroutinesflowFlowfindByUidLiveuidupdateAsyncentitywithRepoChangeMonitorAsyncSuspendFunction0findByUidfindByUidAsyncinsertinsertAsyncinsertListentityListupdateINSTANCE_RECEIVER     comustadmobilecoredbdaoHolidayDaoDEFINEDkotlinUnitAnyfindByHolidayCalendaUidcollectionsListlibentitiesHolidayholidayCalendarUidLongfindByHolidayCalendaUidAsyncupdateActiveByUidholidayUidactiveBooleanchangeTimeupdateAsyncentityINSTANCE_RECEIVERBaseDaoOneToManyJoinDao[   "   M   G       < @<    comustadmobilecoredbdaoHolidayDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoHolidayDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByHolidayCalendaUidcollectionsListlibentitiesHolidayholidayCalendarUidLongIllegalStateExceptionStringfindByHolidayCalendaUid: synchronous db access is NOT possible on Javascript!findByHolidayCalendaUidAsyncGET_PROPERTYupdateActiveByUidholidayUidactiveBooleanchangeTimeupdateActiveByUid: synchronous db access is NOT possible on Javascript!updateAsyncentity_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFinternalirEQEQholUid_newPknextIdAsyncIntEQholLctutilsystemTimeInMillisinsertinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!insertListAsync_generatedPksMutableListmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitplusAssignPLUSEQLAMBDAupdateListAsyncINSTANCE_RECEIVER   "            !         E A          comustadmobilecoredbdaoHolidayDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitHolidayDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterHoliday_abortEntityInsertionAdapterlibentitiesHolidayOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO Holiday (holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongholUidsetObjectIntsetLongholMasterCsnholLocalCsnsetIntholLastModByholLctsetBooleanholActiveholHolidayCalendarUidholStartTimeholEndTimesetStringholNameINSTANCE_RECEIVERupdateAsyncinsertAsyncinsert_retValinsertAndReturnIdinsertAndReturnIdAsyncinsertListentityListcollectionsListinsertListAsyncupdate_sqlUPDATE Holiday SET holMasterCsn = ?, holLocalCsn = ?, holLastModBy = ?, holLct = ?, holActive = ?, holHolidayCalendarUid = ?, holStartTime = ?, holEndTime = ?, holName = ? WHERE holUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDAupdateListAsyncprepareAndUseStatementAsynccoroutinesSuspendFunction1ConnectionsetAutoCommitgetConnectionFOR_LOOPFOR_LOOP_ITERATORtmp0_iteratorIteratoriteratorhasNextFOR_LOOP_HAS_NEXTFOR_LOOP_INNER_WHILEFOR_LOOP_VARIABLE_entitynextFOR_LOOP_NEXTexecuteUpdateAsyncKmpcommitfindByHolidayCalendaUidholidayCalendarUidPreparedStatementConfigSELECT * FROM Holiday WHERE holHolidayCalendarUid = CAST(? AS BIGINT)texttrimMargin |SELECT * FROM Holiday WHERE holHolidayCalendarUid = ? |useResultsResultSetexecuteQuery_resultmapRowsit_tmp_holUidgetLong_tmp_holMasterCsn_tmp_holLocalCsn_tmp_holLastModBygetInt_tmp_holLct_tmp_holActivegetBoolean_tmp_holHolidayCalendarUid_tmp_holStartTime_tmp_holEndTime_tmp_holNamegetStringapplyExtensionFunctionType$this$applyEQfindByHolidayCalendaUidAsyncexecuteQueryAsyncKmpupdateActiveByUidholidayUidactivechangeTime | | UPDATE Holiday | SET holActive = ?, | holLct = CAST(? AS BIGINT) | WHERE holUid = CAST(? AS BIGINT) | | UPDATE Holiday | SET holActive = ?, | holLct = ? | WHERE holUid = ? |N      "           comustadmobilecoredbdaoHolidayDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoHolidayDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByHolidayCalendaUidcollectionsListlibentitiesHolidayholidayCalendarUid_resultGET_PROPERTYfindByHolidayCalendaUidAsyncupdateActiveByUidholidayUidactiveBooleanchangeTimereplicationwithRepoChangeMonitorFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupdateAsyncentitywithRepoChangeMonitorAsynccoroutinesSuspendFunction0insertinsertAsyncinsertListentityListupdateinsertListAsyncupdateListAsyncINSTANCE_RECEIVER:            comustadmobilecoredbdaoLanguageDaoDEFINEDkotlinUnitAnyinsertListAsynclanguageListcollectionsListlibentitiesLanguagefindLanguagesAsSourceandroidxpagingPagingSourceIntsortOrdersearchTextStringfindLanguagesListfindByNamenamefindByTwoCodelangCodefindByTwoCodeAsyncfindByThreeCodetotalLanguageCountupdateentityBaseDaofindByUidprimaryLanguageUidLongfindByUidAsyncupdateAsyncfindAllLanguageLivekotlinxcoroutinesflowFlowfindByUidListuidListtoggleVisibilityLanguagetoggleVisibilityBooleanselectedItemupdateTimereplaceListentityListINSTANCE_RECEIVERw   "               G @ CEH< ?   C A< @comustadmobilecoredbdaoLanguageDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoLanguageDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsynclanguageListcollectionsListlibentitiesLanguage_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabase_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQlangUid_newPknextIdAsyncIntEQplusAssignPLUSEQlangLctutilsystemTimeInMillisLAMBDAfindLanguagesAsSourceandroidxpagingPagingSourcesortOrdersearchTextStringfindLanguagesListIllegalStateExceptionfindLanguagesList: synchronous db access is NOT possible on Javascript!findByNamenamefindByName: synchronous db access is NOT possible on Javascript!findByTwoCodelangCodefindByTwoCode: synchronous db access is NOT possible on Javascript!findByTwoCodeAsyncfindByThreeCodefindByThreeCode: synchronous db access is NOT possible on Javascript!totalLanguageCounttotalLanguageCount: synchronous db access is NOT possible on Javascript!updateentityupdate: synchronous db access is NOT possible on Javascript!findByUidprimaryLanguageUidfindByUid: synchronous db access is NOT possible on Javascript!findByUidAsyncupdateAsyncfindAllLanguageLivekotlinxcoroutinesflowFlowfindByUidListuidListfindByUidList: synchronous db access is NOT possible on Javascript!toggleVisibilityLanguagetoggleVisibilityselectedItemupdateTimereplaceListentityListreplaceList: synchronous db access is NOT possible on Javascript!insertinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER   "         "#                    - ;V A= 1   comustadmobilecoredbdaoLanguageDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitLanguageDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterLanguage_abortEntityInsertionAdapterlibentitiesLanguageOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO Language (langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLonglangUidsetObjectIntsetLongsetStringnameiso_639_1_standardiso_639_2_standardiso_639_3_standardLanguage_TypesetBooleanlanguageActivelangLocalChangeSeqNumlangMasterChangeSeqNumsetIntlangLastChangedBylangLctINSTANCE_RECEIVER_insertAdapterLanguage_upsertINSERT OR REPLACE INTO Language (langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)insertListAsynclanguageListcollectionsListreplaceListentityListinsertListinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncupdate_sqlUPDATE Language SET name = ?, iso_639_1_standard = ?, iso_639_2_standard = ?, iso_639_3_standard = ?, Language_Type = ?, languageActive = ?, langLocalChangeSeqNum = ?, langMasterChangeSeqNum = ?, langLastChangedBy = ?, langLct = ? WHERE langUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDAupdateAsync_resultprepareAndUseStatementAsynccoroutinesSuspendFunction1plusPLUSEQexecuteUpdateAsyncKmpfindLanguagesAsSourceandroidxpagingPagingSourcesortOrdersearchTextDoorLimitOffsetPagingSourceArrayarrayOfloadRows_limit_offsetPreparedStatementConfigtexttrimMargin |SELECT * FROM ( | SELECT Language.* | FROM Language | WHERE name LIKE ? | ORDER BY CASE(?) | WHEN 1 THEN Language.name | WHEN 3 THEN Language.iso_639_1_standard | WHEN 5 THEN Language.iso_639_2_standard | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Language.name | WHEN 4 THEN Language.iso_639_1_standard | WHEN 6 THEN Language.iso_639_2_standard | ELSE '' | END DESC | ) AS _PagingData LIMIT ? OFFSET ? useResultsResultSetexecuteQueryAsyncKmpmapRowsit_tmp_langUidgetLong_tmp_namegetString_tmp_iso_639_1_standard_tmp_iso_639_2_standard_tmp_iso_639_3_standard_tmp_Language_Type_tmp_languageActivegetBoolean_tmp_langLocalChangeSeqNum_tmp_langMasterChangeSeqNum_tmp_langLastChangedBygetInt_tmp_langLctapplyExtensionFunctionType$this$applyEQcountRows |SELECT COUNT(*) FROM ( | SELECT Language.* | FROM Language | WHERE name LIKE ? | ORDER BY CASE(?) | WHEN 1 THEN Language.name | WHEN 3 THEN Language.iso_639_1_standard | WHEN 5 THEN Language.iso_639_2_standard | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Language.name | WHEN 4 THEN Language.iso_639_1_standard | WHEN 6 THEN Language.iso_639_2_standard | ELSE '' | END DESC | ) AS _PagingCount mapNextRowfindLanguagesListSELECT * FROM LanguageexecuteQueryfindByNameSELECT * FROM Language WHERE name = ? LIMIT 1findByTwoCodelangCodeSELECT * FROM Language WHERE iso_639_1_standard = ? LIMIT 1findByTwoCodeAsyncfindByThreeCodeSELECT * FROM LANGUAGE WHERE iso_639_3_standard = ? OR iso_639_2_standard = ? LIMIT 1 totalLanguageCountSELECT COUNT(*) FROM LANGUAGEfindByUidprimaryLanguageUidSELECT * FROM LANGUAGE where langUid = CAST(? AS BIGINT) LIMIT 1 |SELECT * FROM LANGUAGE where langUid = ? LIMIT 1 |findByUidAsyncfindAllLanguageLivekotlinxflowFlowdoorFlowLANGUAGESuspendFunction0SELECT * FROM LANGUAGEfindByUidListuidListSELECT langUid FROM LANGUAGE WHERE langUid IN (?)setArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArraytoggleVisibilityLanguagetoggleVisibilityselectedItemupdateTime | | UPDATE Language | SET languageActive = ?, | langLct = CAST(? AS BIGINT) | WHERE langUid IN (?) | | UPDATE Language | SET languageActive = ?, | langLct = ? | WHERE langUid IN (?) |d      "               comustadmobilecoredbdaoLanguageDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoLanguageDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsynclanguageListcollectionsListlibentitiesLanguagereplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindLanguagesAsSourceandroidxpagingPagingSourceIntsortOrdersearchText_resultfindLanguagesListfindByNamenamefindByTwoCodelangCodefindByTwoCodeAsyncfindByThreeCodetotalLanguageCountupdateentitywithRepoChangeMonitorFunction0findByUidprimaryLanguageUidfindByUidAsyncupdateAsyncfindAllLanguageLivekotlinxflowFlowfindByUidListuidListtoggleVisibilityLanguagetoggleVisibilityBooleanselectedItemupdateTimereplaceListentityListinsertinsertAsyncinsertListINSTANCE_RECEIVER   comustadmobilecoredbdaoLanguageVariantDaoDEFINEDkotlinUnitAnyfindByCodelibentitiesLanguageVariantcountryCodeStringINSTANCE_RECEIVERBaseDaoE  "   @<    @<comustadmobilecoredbdaoLanguageVariantDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoLanguageVariantDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByCodelibentitiesLanguageVariantcountryCodeStringIllegalStateExceptionfindByCode: synchronous db access is NOT possible on Javascript!insertLongentityinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQlangVariantUid_newPknextIdAsyncIntEQlangVariantLctutilsystemTimeInMillisinsertListentityListcollectionsListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVERx  " #     "#)      ;    !"   "#comustadmobilecoredbdaoLanguageVariantDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitLanguageVariantDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterLanguageVariant_abortEntityInsertionAdapterlibentitiesLanguageVariantOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO LanguageVariant (langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLonglangVariantUidsetObjectIntsetLonglangUidsetStringcountryCodenamelangVariantLocalChangeSeqNumlangVariantMasterChangeSeqNumsetIntlangVariantLastChangedBylangVariantLctINSTANCE_RECEIVERinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListcollectionsListupdate_sqlUPDATE LanguageVariant SET langUid = ?, countryCode = ?, name = ?, langVariantLocalChangeSeqNum = ?, langVariantMasterChangeSeqNum = ?, langVariantLastChangedBy = ?, langVariantLct = ? WHERE langVariantUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDAfindByCodePreparedStatementConfigSELECT * FROM LanguageVariant WHERE countryCode = ? LIMIT 1useResultsResultSetexecuteQuery_resultmapNextRowit_tmp_langVariantUidgetLong_tmp_langUid_tmp_countryCodegetString_tmp_name_tmp_langVariantLocalChangeSeqNum_tmp_langVariantMasterChangeSeqNum_tmp_langVariantLastChangedBygetInt_tmp_langVariantLctapplyExtensionFunctionType$this$applyEQE      "           comustadmobilecoredbdaoLanguageVariantDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoLanguageVariantDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByCodelibentitiesLanguageVariantcountryCode_resultGET_PROPERTYinsertentityreplicationwithRepoChangeMonitorFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAinsertAsyncwithRepoChangeMonitorAsynccoroutinesSuspendFunction0insertListentityListcollectionsListupdateINSTANCE_RECEIVER*        comustadmobilecoredbdaoLeavingReasonDaoDEFINEDkotlinUnitAnyfindAllReasonsandroidxpagingPagingSourceIntlibentitiesLeavingReasonfindAllReasonsLivecollectionsListfindAllReasonsAsyncfindByUidAsyncuidLongfindByUidListuidListfindByUidLivekotlinxcoroutinesflowFlowgetReasonsFromUidsUidAndLabelreplaceListentityListupdateAsyncentityINSTANCE_RECEIVERBaseDaoc  "     H           < @<comustadmobilecoredbdaoLeavingReasonDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoLeavingReasonDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindAllReasonsandroidxpagingPagingSourceIntlibentitiesLeavingReasonGET_PROPERTYfindAllReasonsLivecollectionsListIllegalStateExceptionStringfindAllReasonsLive: synchronous db access is NOT possible on Javascript!findAllReasonsAsyncfindByUidAsyncuidLongfindByUidListuidListfindByUidLivekotlinxcoroutinesflowFlowgetReasonsFromUidsUidAndLabelreplaceListentityList_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabase_generatedPksMutableListmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQleavingReasonUid_newPknextIdAsyncEQplusAssignPLUSEQleavingReasonLctutilsystemTimeInMillisLAMBDAupdateAsyncentityinsertinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER  " "     (!'       K    B  F B H  F  comustadmobilecoredbdaoLeavingReasonDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitLeavingReasonDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterLeavingReason_upsertEntityInsertionAdapterlibentitiesLeavingReasonOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO LeavingReason (leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct) VALUES(?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongleavingReasonUidsetObjectIntsetLongsetStringleavingReasonTitleleavingReasonMCSNleavingReasonCSNsetIntleavingReasonLCBleavingReasonLctINSTANCE_RECEIVER_insertAdapterLeavingReason_abortINSERT INTO LeavingReason (leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct) VALUES(?, ?, ?, ?, ?, ?)replaceListentityListcollectionsListinsertListAsyncinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListupdateAsync_result_sqlUPDATE LeavingReason SET leavingReasonTitle = ?, leavingReasonMCSN = ?, leavingReasonCSN = ?, leavingReasonLCB = ?, leavingReasonLct = ? WHERE leavingReasonUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindAllReasonsandroidxpagingPagingSourceDoorLimitOffsetPagingSourceArrayarrayOfloadRows_limit_offsetPreparedStatementConfigSELECT * FROM (SELECT * FROM LeavingReason) AS _PagingData LIMIT ? OFFSET ?useResultsResultSetexecuteQueryAsyncKmpmapRowsit_tmp_leavingReasonUidgetLong_tmp_leavingReasonTitlegetString_tmp_leavingReasonMCSN_tmp_leavingReasonCSN_tmp_leavingReasonLCBgetInt_tmp_leavingReasonLctapplyExtensionFunctionType$this$applyEQcountRowsSELECT COUNT(*) FROM (SELECT * FROM LeavingReason) AS _PagingCountmapNextRowfindAllReasonsLiveSELECT * FROM LeavingReasonexecuteQueryfindAllReasonsAsyncfindByUidAsyncuidSELECT * FROM LeavingReason WHERE leavingReasonUid = CAST(? AS BIGINT)texttrimMargin |SELECT * FROM LeavingReason WHERE leavingReasonUid = ? |findByUidListuidListSELECT leavingReasonUid FROM LeavingReason WHERE leavingReasonUid IN (?)setArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArrayfindByUidLivekotlinxflowFlowdoorFlowSuspendFunction0 |SELECT * FROM LeavingReason WHERE leavingReasonUid = ? |getReasonsFromUidsUidAndLabel |SELECT LeavingReason.leavingReasonUid AS uid, | LeavingReason.leavingReasonTitle As labelName | FROM LeavingReason WHERE leavingReasonUid IN (?) _tmp_uid_tmp_labelNamelabelNameV      "             comustadmobilecoredbdaoLeavingReasonDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoLeavingReasonDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindAllReasonsandroidxpagingPagingSourceIntlibentitiesLeavingReason_resultGET_PROPERTYfindAllReasonsLivecollectionsListfindAllReasonsAsyncfindByUidAsyncuidfindByUidListuidListfindByUidLivekotlinxcoroutinesflowFlowgetReasonsFromUidsUidAndLabelreplaceListentityListreplicationwithRepoChangeMonitorAsyncSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupdateAsyncentityinsertwithRepoChangeMonitorFunction0insertAsyncinsertListupdateINSTANCE_RECEIVER  # "  comustadmobilecoredbdaoMessageDaoDEFINEDkotlinUnitAnymessagesFromOtherUserAsPagingSourceandroidxpagingPagingSourceIntlibentitiesMessageaccountPersonUidLongotherPersonUidconversationsForUserAsPagingSourcecompositesMessageAndOtherPersonsearchQueryStringinsertmessageINSTANCE_RECEIVERB   "  #  "       comustadmobilecoredbdaoMessageDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoMessageDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingmessagesFromOtherUserAsPagingSourceandroidxpagingPagingSourceIntlibentitiesMessageaccountPersonUidLongotherPersonUidGET_PROPERTYconversationsForUserAsPagingSourcecompositesMessageAndOtherPersonsearchQueryStringinsertmessage_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFBooleaninternalirEQEQmessageUid_newPknextIdAsyncEQmessageLctutilsystemTimeInMillisINSTANCE_RECEIVER   "       ! #           "                             xcomustadmobilecoredbdaoMessageDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitMessageDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterMessage_abortEntityInsertionAdapterlibentitiesMessageOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO Message (messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct) VALUES(?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongmessageUidsetObjectIntsetLongmessageSenderPersonUidmessageToPersonUidsetStringmessageTextmessageTimestampmessageLctINSTANCE_RECEIVERinsertmessageinsertAsyncmessagesFromOtherUserAsPagingSourceandroidxpagingPagingSourceaccountPersonUidotherPersonUidDoorLimitOffsetPagingSourceArrayarrayOfloadRowscollectionsList_limit_offsetextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin |SELECT * FROM ( | SELECT Message.* | FROM Message | WHERE (Message.messageSenderPersonUid = CAST(? AS BIGINT) | AND Message.messageToPersonUid = CAST(? AS BIGINT)) | OR (Message.messageSenderPersonUid = CAST(? AS BIGINT) | AND Message.messageToPersonUid = CAST(? AS BIGINT)) | ORDER BY Message.messageTimestamp DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT Message.* | FROM Message | WHERE (Message.messageSenderPersonUid = ? | AND Message.messageToPersonUid = ?) | OR (Message.messageSenderPersonUid = ? | AND Message.messageToPersonUid = ?) | ORDER BY Message.messageTimestamp DESC | ) AS _PagingData LIMIT ? OFFSET ? |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtsetIntuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_messageUidgetLong_tmp_messageSenderPersonUid_tmp_messageToPersonUid_tmp_messageTextgetString_tmp_messageTimestamp_tmp_messageLctapplyExtensionFunctionType$this$applyEQLAMBDAcountRows |SELECT COUNT(*) FROM ( | SELECT Message.* | FROM Message | WHERE (Message.messageSenderPersonUid = CAST(? AS BIGINT) | AND Message.messageToPersonUid = CAST(? AS BIGINT)) | OR (Message.messageSenderPersonUid = CAST(? AS BIGINT) | AND Message.messageToPersonUid = CAST(? AS BIGINT)) | ORDER BY Message.messageTimestamp DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT Message.* | FROM Message | WHERE (Message.messageSenderPersonUid = ? | AND Message.messageToPersonUid = ?) | OR (Message.messageSenderPersonUid = ? | AND Message.messageToPersonUid = ?) | ORDER BY Message.messageTimestamp DESC | ) AS _PagingCount |mapNextRowgetIntconversationsForUserAsPagingSourcecompositesMessageAndOtherPersonsearchQueryPersonPersonPicture |SELECT * FROM ( | SELECT Person.*, LatestMessage.*, PersonPicture.* | FROM Person | JOIN Message LatestMessage | ON LatestMessage.messageUid = | (SELECT Message.messageUid | FROM Message | WHERE (Message.messageSenderPersonUid = CAST(? AS BIGINT) | AND Message.messageToPersonUid = Person.personUid) | OR (Message.messageSenderPersonUid = Person.personUid | AND Message.messageToPersonUid = CAST(? AS BIGINT)) | ORDER BY Message.messageTimestamp DESC | LIMIT 1) | | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE ? = '%' | OR (Person.firstNames || ' ' || Person.lastName) LIKE ? | ORDER BY LatestMessage.messageTimestamp DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT Person.*, LatestMessage.*, PersonPicture.* | FROM Person | JOIN Message LatestMessage | ON LatestMessage.messageUid = | (SELECT Message.messageUid | FROM Message | WHERE (Message.messageSenderPersonUid = ? | AND Message.messageToPersonUid = Person.personUid) | OR (Message.messageSenderPersonUid = Person.personUid | AND Message.messageToPersonUid = ?) | ORDER BY Message.messageTimestamp DESC | LIMIT 1) | | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE ? = '%' | OR (Person.firstNames || ' ' || Person.lastName) LIKE ? | ORDER BY LatestMessage.messageTimestamp DESC | ) AS _PagingData LIMIT ? OFFSET ? |_tmp_Message_nullCountwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inctmp1tmp2tmp3tmp4tmp5_tmp_Message_isAllNull_tmp_Person_nullCount_tmp_personUidpersonUidtmp6_tmp_usernameusernametmp7_tmp_firstNamesfirstNamestmp8_tmp_lastNamelastNametmp9_tmp_emailAddremailAddrtmp10_tmp_phoneNumphoneNumtmp11_tmp_gendergendertmp12_tmp_activegetBooleanactivetmp13_tmp_dateOfBirthdateOfBirthtmp14_tmp_personAddresspersonAddresstmp15_tmp_personOrgIdpersonOrgIdtmp16_tmp_personGroupUidpersonGroupUidtmp17_tmp_personLctpersonLcttmp18_tmp_personCountrypersonCountrytmp19_tmp_personTypepersonTypetmp20_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNumtmp21_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNumtmp22_tmp_personLastChangedBypersonLastChangedBytmp23_tmp_adminadmintmp24_tmp_personNotespersonNotestmp25_tmp_fatherNamefatherNametmp26_tmp_fatherNumberfatherNumbertmp27_tmp_motherNamemotherNametmp28_tmp_motherNummotherNumtmp29_tmp_Person_isAllNull_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUidtmp30_tmp_personPictureLctpersonPictureLcttmp31_tmp_personPictureUripersonPictureUritmp32_tmp_personPictureThumbnailUripersonPictureThumbnailUritmp33_tmp_fileSizefileSizetmp34_tmp_personPictureActivepersonPictureActivetmp35_tmp_PersonPicture_isAllNullnotEXCLotherPersonpersonPicture |SELECT COUNT(*) FROM ( | SELECT Person.*, LatestMessage.*, PersonPicture.* | FROM Person | JOIN Message LatestMessage | ON LatestMessage.messageUid = | (SELECT Message.messageUid | FROM Message | WHERE (Message.messageSenderPersonUid = CAST(? AS BIGINT) | AND Message.messageToPersonUid = Person.personUid) | OR (Message.messageSenderPersonUid = Person.personUid | AND Message.messageToPersonUid = CAST(? AS BIGINT)) | ORDER BY Message.messageTimestamp DESC | LIMIT 1) | | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE ? = '%' | OR (Person.firstNames || ' ' || Person.lastName) LIKE ? | ORDER BY LatestMessage.messageTimestamp DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT Person.*, LatestMessage.*, PersonPicture.* | FROM Person | JOIN Message LatestMessage | ON LatestMessage.messageUid = | (SELECT Message.messageUid | FROM Message | WHERE (Message.messageSenderPersonUid = ? | AND Message.messageToPersonUid = Person.personUid) | OR (Message.messageSenderPersonUid = Person.personUid | AND Message.messageToPersonUid = ?) | ORDER BY Message.messageTimestamp DESC | LIMIT 1) | | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE ? = '%' | OR (Person.firstNames || ' ' || Person.lastName) LIKE ? | ORDER BY LatestMessage.messageTimestamp DESC | ) AS _PagingCount |v      "  # ' .               #"  -comustadmobilecoredbdaoMessageDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoMessageDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingmessagesFromOtherUserAsPagingSourceandroidxpagingPagingSourceIntlibentitiesMessageaccountPersonUidotherPersonUidDoorRepositoryReplicatePullPagingSourceGET_PROPERTYMessageDao/messagesFromOtherUserAsPagingSourcecoroutinesSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParamsBooleanLOCAL_FUNCTION_FOR_LAMBDA_pagingParamshttpreplicateHttpRequestOrThrowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompanionpagingSourceLoadParametersnullableLAMBDAreplicationonClientRepoDoorMessageHttpResponseendOfPaginationReachedconversationsForUserAsPagingSourcecompositesMessageAndOtherPersonsearchQueryMessageDao/conversationsForUserAsPagingSourceinsertmessagewithRepoChangeMonitorAsyncSuspendFunction0INSTANCE_RECEIVER      comustadmobilecoredbdaoOfflineItemDaoDEFINEDkotlinUnitAnyinsertAsyncLongitemlibentitiesOfflineItemfindByContentEntryUidkotlinxcoroutinesflowFlowcompositesOfflineItemAndStatecontentEntryUidnodeIdupdateActiveByOfflineItemUidoiUidactiveBooleanINSTANCE_RECEIVERB  "          comustadmobilecoredbdaoOfflineItemDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoOfflineItemDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsyncLongitemlibentitiesOfflineItem_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQoiUid_newPknextIdAsyncIntEQoiLctutilsystemTimeInMillisfindByContentEntryUidkotlinxcoroutinesflowFlowcompositesOfflineItemAndStatecontentEntryUidnodeIdupdateActiveByOfflineItemUidactiveINSTANCE_RECEIVER  "        %               #   #                 comustadmobilecoredbdaoOfflineItemDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitOfflineItemDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterOfflineItem_abortEntityInsertionAdapterlibentitiesOfflineItemOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO OfflineItem (oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct) VALUES(?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongoiUidsetObjectIntsetLongoiNodeIdoiClazzUidoiCourseBlockUidoiContentEntryUidsetBooleanoiActiveoiLctINSTANCE_RECEIVERinsertAsyncitem_retValinsertAndReturnIdAsyncfindByContentEntryUidkotlinxcoroutinesflowFlowcompositesOfflineItemAndStatecontentEntryUidnodeIddoorFlowArrayarrayOfTransferJobTransferJobItemSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDAextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT OfflineItem.*, | TransferJob.*, | | (SELECT SUM(TransferJobItem.tjTotalSize) | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid) AS totalSize, | (SELECT SUM(TransferJobItem.tjTransferred) | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid) AS transferred | , | CAST(OfflineItem.oiActive AS INTEGER) = 1 AND (SELECT EXISTS( | SELECT CompletedJob.tjUid | FROM TransferJob CompletedJob | WHERE CompletedJob.tjTableId = 738 | AND CompletedJob.tjEntityUid IN | | (SELECT ContentEntryVersion.cevUid | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT)) | | AND CompletedJob.tjStatus = 21 | AND CompletedJob.tjType = 2 | AND CompletedJob.tjTimeCreated >= OfflineItem.oiLct | LIMIT 1 | )) AS readyForOffline, | NULL AS latestErrorStr | FROM OfflineItem | LEFT JOIN TransferJob | ON TransferJob.tjUid = | (SELECT TransferJob.tjUid | FROM TransferJob | WHERE TransferJob.tjTableId = 738 | AND TransferJob.tjEntityUid IN | | (SELECT ContentEntryVersion.cevUid | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT)) | | AND TransferJob.tjStatus < 21 | ORDER BY TransferJob.tjTimeCreated DESC | LIMIT 1) | WHERE OfflineItem.oiNodeId = CAST(? AS BIGINT) | AND OfflineItem.oiContentEntryUid = CAST(? AS BIGINT) | ORDER BY OfflineItem.oiLct DESC | LIMIT 1 | | | SELECT OfflineItem.*, | TransferJob.*, | | (SELECT SUM(TransferJobItem.tjTotalSize) | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid) AS totalSize, | (SELECT SUM(TransferJobItem.tjTransferred) | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid) AS transferred | , | CAST(OfflineItem.oiActive AS INTEGER) = 1 AND (SELECT EXISTS( | SELECT CompletedJob.tjUid | FROM TransferJob CompletedJob | WHERE CompletedJob.tjTableId = 738 | AND CompletedJob.tjEntityUid IN | | (SELECT ContentEntryVersion.cevUid | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = ?) | | AND CompletedJob.tjStatus = 21 | AND CompletedJob.tjType = 2 | AND CompletedJob.tjTimeCreated >= OfflineItem.oiLct | LIMIT 1 | )) AS readyForOffline, | NULL AS latestErrorStr | FROM OfflineItem | LEFT JOIN TransferJob | ON TransferJob.tjUid = | (SELECT TransferJob.tjUid | FROM TransferJob | WHERE TransferJob.tjTableId = 738 | AND TransferJob.tjEntityUid IN | | (SELECT ContentEntryVersion.cevUid | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = ?) | | AND TransferJob.tjStatus < 21 | ORDER BY TransferJob.tjTimeCreated DESC | LIMIT 1) | WHERE OfflineItem.oiNodeId = ? | AND OfflineItem.oiContentEntryUid = ? | ORDER BY OfflineItem.oiLct DESC | LIMIT 1 | |SuspendFunction1_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_readyForOfflinegetBooleanreadyForOffline_tmp_OfflineItem_nullCount_tmp_oiUidgetLongwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_oiNodeIdtmp1_tmp_oiClazzUidtmp2_tmp_oiCourseBlockUidtmp3_tmp_oiContentEntryUidtmp4_tmp_oiActivetmp5_tmp_oiLcttmp6_tmp_OfflineItem_isAllNull_tmp_TransferJobAndTotals_nullCount_tmp_totalSizetotalSizetmp7_tmp_transferredtransferredtmp8_tmp_latestErrorStrgetStringlatestErrorStrtmp9_tmp_TransferJobAndTotals_isAllNull_tmp_TransferJob_nullCount_tmp_tjUidgetInttjUidtmp10_tmp_tjTypetjTypetmp11_tmp_tjStatustjStatustmp12_tmp_tjNametjNametmp13_tmp_tjUuidtjUuidtmp14_tmp_tjTableIdtjTableIdtmp15_tmp_tjEntityUidtjEntityUidtmp16_tmp_tjTimeCreatedtjTimeCreatedtmp17_tmp_tjCreationTypetjCreationTypetmp18_tmp_tjOiUidtjOiUidtmp19_tmp_TransferJob_isAllNullapplyExtensionFunctionType$this$applyEQnotEXCLofflineItemLAMBDAactiveDownloadTransferJobAndTotalstransferJobupdateActiveByOfflineItemUidactive | | UPDATE OfflineItem | SET oiActive = ? | WHERE oiUid = CAST(? AS BIGINT) | | | UPDATE OfflineItem | SET oiActive = ? | WHERE oiUid = ? | |executeUpdateAsyncKmpG      "        comustadmobilecoredbdaoOfflineItemDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoOfflineItemDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsyncitemlibentitiesOfflineItem_resultreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByContentEntryUidkotlinxflowFlowcompositesOfflineItemAndStatecontentEntryUidnodeIdupdateActiveByOfflineItemUidoiUidactiveBooleanINSTANCE_RECEIVER  comustadmobilecoredbdaoOutgoingReplicationDaoDEFINEDkotlinUnitAnyinsertoutgoingcollectionsListdoorentitiesOutgoingReplicationlistReplicationsINSTANCE_RECEIVERm  " '  v       -  g         comustadmobilecoredbdaoOutgoingReplicationDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitOutgoingReplicationDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterOutgoingReplication_abortEntityInsertionAdapterentitiesOutgoingReplicationOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO OutgoingReplication (destNodeId, orPk1, orPk2, orPk3, orPk4, orTableId, orUid) VALUES(?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongdestNodeIdorPk1orPk2orPk3orPk4setIntorTableIdIFinternalirEQEQorUidsetObjectINSTANCE_RECEIVERinsertoutgoingcollectionsListinsertListAsynclistReplicationsextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT OutgoingReplication.* | FROM OutgoingReplication | coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_destNodeIdgetLong_tmp_orPk1_tmp_orPk2_tmp_orPk3_tmp_orPk4_tmp_orTableIdgetInt_tmp_orUidapplyExtensionFunctionType$this$applyEQLAMBDA"   ' comustadmobilecoredbdaoPeerReviewerAllocationDaoDEFINEDkotlinUnitAnyreplaceListAsyncentriescollectionsListlibentitiesPeerReviewerAllocationgetAllPeerReviewerAllocationsassignmentUidLonggetAllPeerReviewerAllocationsByClazzUidclazzUidincludeInactiveBooleanupdateActiveByUidcbUidactivechangeTimeupsertListentityListINSTANCE_RECEIVERBaseDao[ % "               ' < @<comustadmobilecoredbdaoPeerReviewerAllocationDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoPeerReviewerAllocationDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingreplaceListAsyncentriescollectionsListlibentitiesPeerReviewerAllocation_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabase_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQpraUid_newPknextIdAsyncIntEQplusAssignPLUSEQpraLctutilsystemTimeInMillisLAMBDAgetAllPeerReviewerAllocationsassignmentUidgetAllPeerReviewerAllocationsByClazzUidclazzUidincludeInactiveupdateActiveByUidcbUidactivechangeTimeupsertListentityListinsertentityIllegalStateExceptionStringinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER " " +     1*0               '# comustadmobilecoredbdaoPeerReviewerAllocationDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitPeerReviewerAllocationDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterPeerReviewerAllocation_upsertEntityInsertionAdapterlibentitiesPeerReviewerAllocationOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO PeerReviewerAllocation (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES(?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongpraUidsetObjectIntsetLongpraMarkerSubmitterUidpraToMarkerSubmitterUidpraAssignmentUidsetBooleanpraActivepraLctINSTANCE_RECEIVER_insertAdapterPeerReviewerAllocation_abortINSERT INTO PeerReviewerAllocation (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES(?, ?, ?, ?, ?, ?)replaceListAsyncentriescollectionsListinsertListAsyncupsertListentityListinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListupdate_sqlUPDATE PeerReviewerAllocation SET praMarkerSubmitterUid = ?, praToMarkerSubmitterUid = ?, praAssignmentUid = ?, praActive = ?, praLct = ? WHERE praUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDAgetAllPeerReviewerAllocationsassignmentUidprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT * | FROM PeerReviewerAllocation | WHERE praAssignmentUid IN (?) | AND praActive | coroutinesSuspendFunction1setArrayArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArrayuseResultsResultSetexecuteQueryAsyncKmp_resultmapRowsit_tmp_praUidgetLong_tmp_praMarkerSubmitterUid_tmp_praToMarkerSubmitterUid_tmp_praAssignmentUid_tmp_praActivegetBoolean_tmp_praLctapplyExtensionFunctionType$this$applyEQgetAllPeerReviewerAllocationsByClazzUidclazzUidincludeInactive | | SELECT PeerReviewerAllocation.* | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid IN | (SELECT CourseBlock.cbEntityUid | FROM CourseBlock | WHERE CourseBlock.cbClazzUid = CAST(? AS BIGINT) | AND CourseBlock.cbType = 103 | AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive)) | AND (CAST(? AS INTEGER) = 1 OR PeerReviewerAllocation.praActive) | | | SELECT PeerReviewerAllocation.* | FROM PeerReviewerAllocation | WHERE PeerReviewerAllocation.praAssignmentUid IN | (SELECT CourseBlock.cbEntityUid | FROM CourseBlock | WHERE CourseBlock.cbClazzUid = ? | AND CourseBlock.cbType = 103 | AND (CAST(? AS INTEGER) = 1 OR CourseBlock.cbActive)) | AND (CAST(? AS INTEGER) = 1 OR PeerReviewerAllocation.praActive) | |updateActiveByUidcbUidactivechangeTime | | UPDATE PeerReviewerAllocation | SET praActive = ?, | praLct = CAST(? AS BIGINT) | WHERE praUid = CAST(? AS BIGINT) | | UPDATE PeerReviewerAllocation | SET praActive = ?, | praLct = ? | WHERE praUid = ? |executeUpdateAsyncKmpq      "       'A          #  comustadmobilecoredbdaoPeerReviewerAllocationDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoPeerReviewerAllocationDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingreplaceListAsyncentriescollectionsListlibentitiesPeerReviewerAllocationreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAgetAllPeerReviewerAllocationsassignmentUid_resultgetAllPeerReviewerAllocationsByClazzUidclazzUidincludeInactiveBooleanhttpreplicateHttpRequestCatchAndLogPeerReviewerAllocationDao/getAllPeerReviewerAllocationsByClazzUidFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponseupdateActiveByUidcbUidactivechangeTimeupsertListentityListinsertentitywithRepoChangeMonitorinsertAsyncinsertListupdateINSTANCE_RECEIVER    comustadmobilecoredbdaoPersonAuth2DaoDEFINEDkotlinUnitAnyinsertListAsyncauthscollectionsListlibentitiesPersonAuth2insertAsyncLongauthfindByPersonUidpersonUidfindByUsernameusernameStringINSTANCE_RECEIVER9  "         comustadmobilecoredbdaoPersonAuth2Dao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoPersonAuth2DaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncauthscollectionsListlibentitiesPersonAuth2_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitpauthLctEQutilsystemTimeInMillisLAMBDAGET_PROPERTYinsertAsyncauthfindByPersonUidpersonUidfindByUsernameusernameStringINSTANCE_RECEIVERt  "        % &            comustadmobilecoredbdaoPersonAuth2Dao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitPersonAuth2DaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterPersonAuth2_abortEntityInsertionAdapterlibentitiesPersonAuth2OBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO PersonAuth2 (pauthUid, pauthMechanism, pauthAuth, pauthLcsn, pauthPcsn, pauthLcb, pauthLct) VALUES(?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongpauthUidsetStringpauthMechanismpauthAuthpauthLcsnpauthPcsnpauthLcbpauthLctINSTANCE_RECEIVER_insertAdapterPersonAuth2_upsertINSERT OR REPLACE INTO PersonAuth2 (pauthUid, pauthMechanism, pauthAuth, pauthLcsn, pauthPcsn, pauthLcb, pauthLct) VALUES(?, ?, ?, ?, ?, ?, ?)insertListAsyncauthscollectionsListinsertAsyncauth_retValinsertAndReturnIdAsyncfindByPersonUidpersonUidextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT PersonAuth2.* | FROM PersonAuth2 | WHERE PersonAuth2.pauthUid = CAST(? AS BIGINT) | | | SELECT PersonAuth2.* | FROM PersonAuth2 | WHERE PersonAuth2.pauthUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_pauthUidgetLong_tmp_pauthMechanismgetString_tmp_pauthAuth_tmp_pauthLcsn_tmp_pauthPcsn_tmp_pauthLcb_tmp_pauthLctapplyExtensionFunctionType$this$applyEQLAMBDAfindByUsernameusername | | SELECT PersonAuth2.* | FROM PersonAuth2 | JOIN Person ON PersonAuth2.pauthUid = Person.personUid | WHERE Person.username = ? | C      "        comustadmobilecoredbdaoPersonAuth2Dao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoPersonAuth2Dao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncauthscollectionsListlibentitiesPersonAuth2replicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAinsertAsyncauth_resultfindByPersonUidpersonUidfindByUsernameusernameINSTANCE_RECEIVER      comustadmobilecoredbdaoPersonAuthDaoDEFINEDkotlinUnitAnyfindByUidAsynclibentitiesPersonAuthuidLongfindByUidfindPersonByUsernamePersonusernameStringupdateAsyncIntentityupdatePasswordForPersonUidpersonUidpasswordHashINSTANCE_RECEIVERBaseDao   "    V   $   T   @ <     '                   OKcomustadmobilecoredbdaoPersonAuthDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitPersonAuthDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterPersonAuth_abortEntityInsertionAdapterlibentitiesPersonAuthOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO PersonAuth (personAuthUid, passwordHash, personAuthStatus) VALUES(?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongpersonAuthUidsetObjectIntsetLongsetStringpasswordHashsetIntpersonAuthStatusINSTANCE_RECEIVERinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListcollectionsListupdateAsync_result_sqlUPDATE PersonAuth SET passwordHash = ?, personAuthStatus = ? WHERE personAuthUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindByUidAsyncuidPreparedStatementConfigSELECT * FROM PersonAuth WHERE personAuthUid = CAST(? AS BIGINT)texttrimMargin |SELECT * FROM PersonAuth WHERE personAuthUid = ? |useResultsResultSetexecuteQueryAsyncKmpmapNextRowit_tmp_personAuthUidgetLong_tmp_passwordHashgetString_tmp_personAuthStatusgetIntapplyExtensionFunctionType$this$applyEQfindByUidexecuteQueryfindPersonByUsernamePersonusernameSELECT * FROM Person WHERE username = ?_tmp_personUidpersonUid_tmp_username_tmp_firstNamesfirstNames_tmp_lastNamelastName_tmp_emailAddremailAddr_tmp_phoneNumphoneNum_tmp_gendergender_tmp_activegetBooleanactive_tmp_dateOfBirthdateOfBirth_tmp_personAddresspersonAddress_tmp_personOrgIdpersonOrgId_tmp_personGroupUidpersonGroupUid_tmp_personLctpersonLct_tmp_personCountrypersonCountry_tmp_personTypepersonType_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNum_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNum_tmp_personLastChangedBypersonLastChangedBy_tmp_adminadmin_tmp_personNotespersonNotes_tmp_fatherNamefatherName_tmp_fatherNumberfatherNumber_tmp_motherNamemotherName_tmp_motherNummotherNumupdatePasswordForPersonUidUPDATE PersonAuth set passwordHash = ? WHERE personAuthUid = CAST(? AS BIGINT) |UPDATE PersonAuth set passwordHash = ? WHERE personAuthUid = ? |V              '     comustadmobilecoredbdaoPersonDaoDEFINEDkotlinUnitAnyinsertListAsyncentityListcollectionsListlibentitiesPersoninsertOrReplacepersoncountUsernameIntusernameStringfindUidAndPasswordHashAsyncPersonUidAndPasswordHashfindByUsernameAndPasswordHash2passwordHashinsertPersonAuthpersonAuthPersonAuthfindByUsernamefindByUsernameAsyncfindSystemAccountnodeIdLongfindByUiduidfindByUidWithPicturecompositesPersonAndPictureaccountPersonUidfindByUidWithPictureAsFlowkotlinxcoroutinesflowFlowfindByUidLivefindByUidAsyncfindByUidAsFlowupdateAsyncentityinsertPersonGrouppersonGroupPersonGroupinsertPersonGroupMemberpersonGroupMemberPersonGroupMemberfindPersonsWithPermissionAsListPersonAndListDisplayDetailstimestampexcludeClazzexcludeSelectedsortOrdersearchText%findPersonsWithPermissionAsPagingSourceandroidxpagingPagingSourcefindByUidWithDisplayDetailsLivePersonAndDisplayDetailpersonUidactiveUserPersonUidfindByUidWithDisplayDetailsFlowgetAllPersongetNamesByUidPersonNamesgetNamesByUidAsyncupdateUsernamecurrentTimeselectExistingUsernamesusernamesINSTANCE_RECEIVERBaseDao   "                FD ?       U'  B   < @<comustadmobilecoredbdaoPersonDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoPersonDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsyncentityListcollectionsListlibentitiesPerson_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabase_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQpersonUid_newPknextIdAsyncIntEQplusAssignPLUSEQpersonLctutilsystemTimeInMillisLAMBDAinsertOrReplacepersoncountUsernameusernameStringfindUidAndPasswordHashAsyncPersonUidAndPasswordHashfindByUsernameAndPasswordHash2passwordHashinsertPersonAuthpersonAuthPersonAuthIllegalStateExceptioninsertPersonAuth: synchronous db access is NOT possible on Javascript!findByUsernamefindByUsername: synchronous db access is NOT possible on Javascript!findByUsernameAsyncfindSystemAccountnodeIdfindByUiduidfindByUid: synchronous db access is NOT possible on Javascript!findByUidWithPicturecompositesPersonAndPictureaccountPersonUidfindByUidWithPictureAsFlowkotlinxcoroutinesflowFlowfindByUidLivefindByUidAsyncfindByUidAsFlowupdateAsyncentityinsertPersonGrouppersonGroupPersonGroupgroupUidgroupLctinsertPersonGroupMemberpersonGroupMemberPersonGroupMembergroupMemberUidgroupMemberLctfindPersonsWithPermissionAsListPersonAndListDisplayDetailstimestampexcludeClazzexcludeSelectedsortOrdersearchTextfindPersonsWithPermissionAsList: synchronous db access is NOT possible on Javascript!findPersonsWithPermissionAsPagingSourceandroidxpagingPagingSourcefindByUidWithDisplayDetailsLivePersonAndDisplayDetailactiveUserPersonUidfindByUidWithDisplayDetailsFlowgetAllPersongetAllPerson: synchronous db access is NOT possible on Javascript!getNamesByUidPersonNamesgetNamesByUidAsyncupdateUsernamecurrentTimeselectExistingUsernamesusernamesinsertinsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER   "                     ! V  $    %%+        5   ;        5  ?;      , 88848    ' Y P                       "  1    comustadmobilecoredbdaoPersonDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitPersonDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterPerson_abortEntityInsertionAdapterlibentitiesPersonOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO Person (personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongpersonUidsetObjectIntsetLongsetStringusernamefirstNameslastNameemailAddrphoneNumsetIntgendersetBooleanactivedateOfBirthpersonAddresspersonOrgIdpersonGroupUidpersonLctpersonCountrypersonTypepersonMasterChangeSeqNumpersonLocalChangeSeqNumpersonLastChangedByadminpersonNotesfatherNamefatherNumbermotherNamemotherNumINSTANCE_RECEIVER_insertAdapterPerson_upsertINSERT OR REPLACE INTO Person (personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)_insertAdapterPersonAuth_abortPersonAuthINSERT INTO PersonAuth (personAuthUid, passwordHash, personAuthStatus) VALUES(?, ?, ?)personAuthUidpasswordHashpersonAuthStatus_insertAdapterPersonGroup_abortPersonGroupINSERT INTO PersonGroup (groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag) VALUES(?, ?, ?, ?, ?, ?, ?, ?)groupUidgroupMasterCsngroupLocalCsngroupLastChangedBygroupLctgroupNamegroupActivepersonGroupFlag_insertAdapterPersonGroupMember_abortPersonGroupMemberINSERT INTO PersonGroupMember (groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?)groupMemberUidgroupMemberActivegroupMemberPersonUidgroupMemberGroupUidgroupMemberMasterCsngroupMemberLocalCsngroupMemberLastChangedBygroupMemberLctinsertListAsyncentityListcollectionsListinsertOrReplacepersoninsertAsyncinsertPersonAuthpersonAuthinsertinsertPersonGrouppersonGroup_retValinsertAndReturnIdAsyncinsertPersonGroupMemberpersonGroupMemberinsertAndReturnIdinsertListupdateAsync_result_sqlUPDATE Person SET username = ?, firstNames = ?, lastName = ?, emailAddr = ?, phoneNum = ?, gender = ?, active = ?, dateOfBirth = ?, personAddress = ?, personOrgId = ?, personGroupUid = ?, personLct = ?, personCountry = ?, personType = ?, personMasterChangeSeqNum = ?, personLocalChangeSeqNum = ?, personLastChangedBy = ?, admin = ?, personNotes = ?, fatherName = ?, fatherNumber = ?, motherName = ?, motherNum = ? WHERE personUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatecountUsernamePreparedStatementConfigSELECT COUNT(*) FROM Person where Person.username = ?useResultsResultSetexecuteQueryAsyncKmpmapNextRowitgetIntfindUidAndPasswordHashAsyncPersonUidAndPasswordHashtexttrimMargin | | SELECT Person.personUid, Person.firstNames, Person.lastName, | PersonAuth.passwordHash | FROM Person | JOIN PersonAuth | ON Person.personUid = PersonAuth.personAuthUid | WHERE Person.username = ? | _tmp_passwordHashgetString_tmp_personUidgetLong_tmp_firstNames_tmp_lastNameapplyExtensionFunctionType$this$applyEQfindByUsernameAndPasswordHash2 | | SELECT Person.* | FROM Person | JOIN PersonAuth2 | ON Person.personUid = PersonAuth2.pauthUid | WHERE Person.username = ? | AND PersonAuth2.pauthAuth = ? | _tmp_username_tmp_emailAddr_tmp_phoneNum_tmp_gender_tmp_activegetBoolean_tmp_dateOfBirth_tmp_personAddress_tmp_personOrgId_tmp_personGroupUid_tmp_personLct_tmp_personCountry_tmp_personType_tmp_personMasterChangeSeqNum_tmp_personLocalChangeSeqNum_tmp_personLastChangedBy_tmp_admin_tmp_personNotes_tmp_fatherName_tmp_fatherNumber_tmp_motherName_tmp_motherNumfindByUsernameSELECT Person.* FROM PERSON Where Person.username = ?executeQueryfindByUsernameAsyncfindSystemAccountnodeId | | SELECT Person.* | FROM Person | WHERE Person.dateOfBirth = CAST(? AS BIGINT) | AND Person.personType = 1 | | | SELECT Person.* | FROM Person | WHERE Person.dateOfBirth = ? | AND Person.personType = 1 | |findByUiduidSELECT * FROM PERSON WHERE Person.personUid = CAST(? AS BIGINT) |SELECT * FROM PERSON WHERE Person.personUid = ? |findByUidWithPicturecompositesPersonAndPictureaccountPersonUid | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid = CAST(? AS BIGINT) | | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid = ? | |_tmp_Person_nullCountwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inctmp1tmp2tmp3tmp4tmp5tmp6tmp7tmp8tmp9tmp10tmp11tmp12tmp13tmp14tmp15tmp16tmp17tmp18tmp19tmp20tmp21tmp22tmp23_tmp_Person_isAllNull_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUidtmp24_tmp_personPictureLctpersonPictureLcttmp25_tmp_personPictureUripersonPictureUritmp26_tmp_personPictureThumbnailUripersonPictureThumbnailUritmp27_tmp_fileSizefileSizetmp28_tmp_personPictureActivepersonPictureActivetmp29_tmp_PersonPicture_isAllNullnotEXCLpicturePersonPicturefindByUidWithPictureAsFlowkotlinxflowFlowdoorFlowArrayarrayOfSuspendFunction0 | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid = CAST(? AS BIGINT) | | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid = ? | |findByUidLiveSELECT * From Person WHERE personUid = CAST(? AS BIGINT) |SELECT * From Person WHERE personUid = ? |findByUidAsyncSELECT * FROM Person WHERE personUid = CAST(? AS BIGINT) |SELECT * FROM Person WHERE personUid = ? |findByUidAsFlow |SELECT * FROM Person WHERE personUid = ? |findPersonsWithPermissionAsListPersonAndListDisplayDetailstimestampexcludeClazzexcludeSelectedsortOrdersearchText | | WITH CanViewPersonUidsViaCoursePermission(personUid) AS | /* Select personUids that can be viewed based on CoursePermission given the active user | for their enrolments | */ | (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM ClazzEnrolment ClazzEnrolment_ForActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE CAST(? AS BIGINT) != 0 | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive | | UNION | /* Select personUids that can be viewed based on CoursePermission for the active user | where the CoursePermission is granted directly to them | */ | SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM CoursePermission | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE CAST(? AS BIGINT) != 0 | AND CoursePermission.cpToPersonUid = CAST(? AS BIGINT)) | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE /* Begin permission check */ | ( | ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (Person.personUid IN | (SELECT CanViewPersonUidsViaCoursePermission.personUid | FROM CanViewPersonUidsViaCoursePermission)) | OR (Person.personUid = CAST(? AS BIGINT)) | ) | /* End permission check */ | AND (CAST(? AS BIGINT) = 0 OR CAST(? AS BIGINT) NOT IN | (SELECT clazzEnrolmentClazzUid | FROM ClazzEnrolment | WHERE clazzEnrolmentPersonUid = Person.personUid | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft | AND ClazzEnrolment.clazzEnrolmentActive)) | AND Person.personType = 0 | AND (Person.personUid NOT IN (?)) | AND (? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | GROUP BY Person.personUid, PersonPicture.personPictureUid | ORDER BY CASE(?) | WHEN 1 THEN Person.firstNames | WHEN 3 THEN Person.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Person.firstNames | WHEN 4 THEN Person.lastName | ELSE '' | END DESC | | | WITH CanViewPersonUidsViaCoursePermission(personUid) AS | /* Select personUids that can be viewed based on CoursePermission given the active user | for their enrolments | */ | (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM ClazzEnrolment ClazzEnrolment_ForActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE ? != 0 | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive | | UNION | /* Select personUids that can be viewed based on CoursePermission for the active user | where the CoursePermission is granted directly to them | */ | SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM CoursePermission | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE ? != 0 | AND CoursePermission.cpToPersonUid = ?) | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE /* Begin permission check */ | ( | ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (Person.personUid IN | (SELECT CanViewPersonUidsViaCoursePermission.personUid | FROM CanViewPersonUidsViaCoursePermission)) | OR (Person.personUid = ?) | ) | /* End permission check */ | AND (? = 0 OR ? NOT IN | (SELECT clazzEnrolmentClazzUid | FROM ClazzEnrolment | WHERE clazzEnrolmentPersonUid = Person.personUid | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft | AND ClazzEnrolment.clazzEnrolmentActive)) | AND Person.personType = 0 | AND (Person.personUid NOT IN (?)) | AND (? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | GROUP BY Person.personUid, PersonPicture.personPictureUid | ORDER BY CASE(?) | WHEN 1 THEN Person.firstNames | WHEN 3 THEN Person.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Person.firstNames | WHEN 4 THEN Person.lastName | ELSE '' | END DESC | |setArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArraymapRowsfindPersonsWithPermissionAsPagingSourceandroidxpagingPagingSourceDoorLimitOffsetPagingSourceSystemPermissionClazzEnrolmentCoursePermissionloadRows_limit_offset |SELECT * FROM ( | WITH CanViewPersonUidsViaCoursePermission(personUid) AS | /* Select personUids that can be viewed based on CoursePermission given the active user | for their enrolments | */ | (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM ClazzEnrolment ClazzEnrolment_ForActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE CAST(? AS BIGINT) != 0 | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive | | UNION | /* Select personUids that can be viewed based on CoursePermission for the active user | where the CoursePermission is granted directly to them | */ | SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM CoursePermission | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE CAST(? AS BIGINT) != 0 | AND CoursePermission.cpToPersonUid = CAST(? AS BIGINT)) | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE /* Begin permission check */ | ( | ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (Person.personUid IN | (SELECT CanViewPersonUidsViaCoursePermission.personUid | FROM CanViewPersonUidsViaCoursePermission)) | OR (Person.personUid = CAST(? AS BIGINT)) | ) | /* End permission check */ | AND (CAST(? AS BIGINT) = 0 OR CAST(? AS BIGINT) NOT IN | (SELECT clazzEnrolmentClazzUid | FROM ClazzEnrolment | WHERE clazzEnrolmentPersonUid = Person.personUid | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft | AND ClazzEnrolment.clazzEnrolmentActive)) | AND Person.personType = 0 | AND (Person.personUid NOT IN (?)) | AND (? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | GROUP BY Person.personUid, PersonPicture.personPictureUid | ORDER BY CASE(?) | WHEN 1 THEN Person.firstNames | WHEN 3 THEN Person.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Person.firstNames | WHEN 4 THEN Person.lastName | ELSE '' | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | WITH CanViewPersonUidsViaCoursePermission(personUid) AS | /* Select personUids that can be viewed based on CoursePermission given the active user | for their enrolments | */ | (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM ClazzEnrolment ClazzEnrolment_ForActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE ? != 0 | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive | | UNION | /* Select personUids that can be viewed based on CoursePermission for the active user | where the CoursePermission is granted directly to them | */ | SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM CoursePermission | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE ? != 0 | AND CoursePermission.cpToPersonUid = ?) | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE /* Begin permission check */ | ( | ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (Person.personUid IN | (SELECT CanViewPersonUidsViaCoursePermission.personUid | FROM CanViewPersonUidsViaCoursePermission)) | OR (Person.personUid = ?) | ) | /* End permission check */ | AND (? = 0 OR ? NOT IN | (SELECT clazzEnrolmentClazzUid | FROM ClazzEnrolment | WHERE clazzEnrolmentPersonUid = Person.personUid | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft | AND ClazzEnrolment.clazzEnrolmentActive)) | AND Person.personType = 0 | AND (Person.personUid NOT IN (?)) | AND (? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | GROUP BY Person.personUid, PersonPicture.personPictureUid | ORDER BY CASE(?) | WHEN 1 THEN Person.firstNames | WHEN 3 THEN Person.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Person.firstNames | WHEN 4 THEN Person.lastName | ELSE '' | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |countRows |SELECT COUNT(*) FROM ( | WITH CanViewPersonUidsViaCoursePermission(personUid) AS | /* Select personUids that can be viewed based on CoursePermission given the active user | for their enrolments | */ | (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM ClazzEnrolment ClazzEnrolment_ForActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE CAST(? AS BIGINT) != 0 | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive | | UNION | /* Select personUids that can be viewed based on CoursePermission for the active user | where the CoursePermission is granted directly to them | */ | SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM CoursePermission | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE CAST(? AS BIGINT) != 0 | AND CoursePermission.cpToPersonUid = CAST(? AS BIGINT)) | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE /* Begin permission check */ | ( | ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (Person.personUid IN | (SELECT CanViewPersonUidsViaCoursePermission.personUid | FROM CanViewPersonUidsViaCoursePermission)) | OR (Person.personUid = CAST(? AS BIGINT)) | ) | /* End permission check */ | AND (CAST(? AS BIGINT) = 0 OR CAST(? AS BIGINT) NOT IN | (SELECT clazzEnrolmentClazzUid | FROM ClazzEnrolment | WHERE clazzEnrolmentPersonUid = Person.personUid | AND CAST(? AS BIGINT) BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft | AND ClazzEnrolment.clazzEnrolmentActive)) | AND Person.personType = 0 | AND (Person.personUid NOT IN (?)) | AND (? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | GROUP BY Person.personUid, PersonPicture.personPictureUid | ORDER BY CASE(?) | WHEN 1 THEN Person.firstNames | WHEN 3 THEN Person.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Person.firstNames | WHEN 4 THEN Person.lastName | ELSE '' | END DESC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | WITH CanViewPersonUidsViaCoursePermission(personUid) AS | /* Select personUids that can be viewed based on CoursePermission given the active user | for their enrolments | */ | (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM ClazzEnrolment ClazzEnrolment_ForActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE ? != 0 | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive | | UNION | /* Select personUids that can be viewed based on CoursePermission for the active user | where the CoursePermission is granted directly to them | */ | SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM CoursePermission | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | WHERE ? != 0 | AND CoursePermission.cpToPersonUid = ?) | | SELECT Person.*, PersonPicture.* | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE /* Begin permission check */ | ( | ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (Person.personUid IN | (SELECT CanViewPersonUidsViaCoursePermission.personUid | FROM CanViewPersonUidsViaCoursePermission)) | OR (Person.personUid = ?) | ) | /* End permission check */ | AND (? = 0 OR ? NOT IN | (SELECT clazzEnrolmentClazzUid | FROM ClazzEnrolment | WHERE clazzEnrolmentPersonUid = Person.personUid | AND ? BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft | AND ClazzEnrolment.clazzEnrolmentActive)) | AND Person.personType = 0 | AND (Person.personUid NOT IN (?)) | AND (? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | GROUP BY Person.personUid, PersonPicture.personPictureUid | ORDER BY CASE(?) | WHEN 1 THEN Person.firstNames | WHEN 3 THEN Person.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Person.firstNames | WHEN 4 THEN Person.lastName | ELSE '' | END DESC | ) AS _PagingCount |findByUidWithDisplayDetailsLivePersonAndDisplayDetailactiveUserPersonUidPersonParentJoin | | SELECT Person.*, PersonParentJoin.* | FROM Person | LEFT JOIN PersonParentJoin on ppjUid = ( | SELECT ppjUid | FROM PersonParentJoin | WHERE ppjMinorPersonUid = CAST(? AS BIGINT) | AND ppjParentPersonUid = CAST(? AS BIGINT) | LIMIT 1) | WHERE Person.personUid = CAST(? AS BIGINT) | | | SELECT Person.*, PersonParentJoin.* | FROM Person | LEFT JOIN PersonParentJoin on ppjUid = ( | SELECT ppjUid | FROM PersonParentJoin | WHERE ppjMinorPersonUid = ? | AND ppjParentPersonUid = ? | LIMIT 1) | WHERE Person.personUid = ? | |_tmp_PersonParentJoin_nullCount_tmp_ppjUidppjUid_tmp_ppjPcsnppjPcsn_tmp_ppjLcsnppjLcsn_tmp_ppjLcbppjLcb_tmp_ppjLctppjLct_tmp_ppjParentPersonUidppjParentPersonUid_tmp_ppjMinorPersonUidppjMinorPersonUidtmp30_tmp_ppjRelationshipppjRelationshiptmp31_tmp_ppjEmailppjEmailtmp32_tmp_ppjPhoneppjPhonetmp33_tmp_ppjInactiveppjInactivetmp34_tmp_ppjStatusppjStatustmp35_tmp_ppjApprovalTiemstampppjApprovalTiemstamptmp36_tmp_ppjApprovalIpAddrppjApprovalIpAddrtmp37_tmp_PersonParentJoin_isAllNulltmp38tmp39tmp40tmp41tmp42tmp43_tmp_TransferJobItem_nullCount_tmp_tjiUidtjiUidtmp44_tmp_tjiTjUidtjiTjUidtmp45_tmp_tjTotalSizetjTotalSizetmp46_tmp_tjTransferredtjTransferredtmp47_tmp_tjAttemptCounttjAttemptCounttmp48_tmp_tjiSrctjiSrctmp49_tmp_tjiDesttjiDesttmp50_tmp_tjiTypetjiTypetmp51_tmp_tjiStatustjiStatustmp52_tmp_tjiTableIdtjiTableIdtmp53_tmp_tjiEntityUidtjiEntityUidtmp54_tmp_tjiEntityEtagtjiEntityEtagtmp55_tmp_tjiLockIdToReleasetjiLockIdToReleasetmp56_tmp_tjiPartialTmpFiletjiPartialTmpFiletmp57_tmp_TransferJobItem_isAllNullparentJoinpersonPicturepersonPictureTransferJobItemTransferJobItemfindByUidWithDisplayDetailsFlow | | SELECT Person.*, PersonParentJoin.* , PersonPicture.*, TransferJobItem.* | FROM Person | LEFT JOIN PersonParentJoin | ON ppjUid = | (SELECT ppjUid | FROM PersonParentJoin | WHERE ppjMinorPersonUid = CAST(? AS BIGINT) | AND ppjParentPersonUid = CAST(? AS BIGINT) | LIMIT 1) | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = CAST(? AS BIGINT) | LEFT JOIN TransferJobItem | ON TransferJobItem.tjiUid = | (SELECT TransferJobItem.tjiUid | FROM TransferJobItem | WHERE TransferJobItem.tjiEntityUid = CAST(? AS BIGINT) | AND TransferJobItem.tjiTableId = 50 | AND TransferJobItem.tjiEntityEtag = PersonPicture.personPictureLct | AND TransferJobItem.tjiStatus != 21 | LIMIT 1) | | WHERE Person.personUid = CAST(? AS BIGINT) | | | SELECT Person.*, PersonParentJoin.* , PersonPicture.*, TransferJobItem.* | FROM Person | LEFT JOIN PersonParentJoin | ON ppjUid = | (SELECT ppjUid | FROM PersonParentJoin | WHERE ppjMinorPersonUid = ? | AND ppjParentPersonUid = ? | LIMIT 1) | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = ? | LEFT JOIN TransferJobItem | ON TransferJobItem.tjiUid = | (SELECT TransferJobItem.tjiUid | FROM TransferJobItem | WHERE TransferJobItem.tjiEntityUid = ? | AND TransferJobItem.tjiTableId = 50 | AND TransferJobItem.tjiEntityEtag = PersonPicture.personPictureLct | AND TransferJobItem.tjiStatus != 21 | LIMIT 1) | | WHERE Person.personUid = ? | |getAllPersonSELECT * FROM PersongetNamesByUidPersonNames | | SELECT Person.firstNames, Person.lastName | FROM Person | WHERE Person.personUid = CAST(? AS BIGINT) | | | SELECT Person.firstNames, Person.lastName | FROM Person | WHERE Person.personUid = ? | |getNamesByUidAsync | | SELECT Person.firstNames, Person.lastName | FROM Person | WHERE Person.personUid = CAST(? AS BIGINT) | | | SELECT Person.firstNames, Person.lastName | FROM Person | WHERE Person.personUid = ? | |updateUsernamecurrentTime | | UPDATE Person | SET username = ?, | personLct = CAST(? AS BIGINT) | WHERE Person.personUid = CAST(? AS BIGINT) | | | UPDATE Person | SET username = ?, | personLct = ? | WHERE Person.personUid = ? | |selectExistingUsernamesusernames | | SELECT Person.username | FROM Person | WHERE Person.username IN (?) | TEXT      "                        #     ' '1     )    comustadmobilecoredbdaoPersonDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoPersonDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperinsertListAsyncentityListcollectionsListlibentitiesPersonreplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAinsertOrReplacepersoncountUsernameIntusernamekotlinxserializationjsonJsondecodeFromStringRepositoryConfigconfigKSerializerbuiltinsserializerCompanionrepoHttpRequestPersonDao/countUsernameFunction0statementbodyAsTextHttpResponserequestgethttpClientExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrldoorNodeIdHeaderheadercache-controlno-storeparameterencodeToStringfindUidAndPasswordHashAsyncPersonUidAndPasswordHash_resultfindByUsernameAndPasswordHash2passwordHashinsertPersonAuthpersonAuthPersonAuthwithRepoChangeMonitorfindByUsernamefindByUsernameAsyncfindSystemAccountnodeIdfindByUiduidfindByUidWithPicturecompositesPersonAndPictureaccountPersonUidreplicateHttpRequestCatchAndLogPersonDao/findByUidWithPicture_responseonClientRepoDoorMessageHttpResponsefindByUidWithPictureAsFlowflowFlowfindByUidLivefindByUidAsyncPersonDao/findByUidAsyncfindByUidAsFlowupdateAsyncentityinsertPersonGrouppersonGroupPersonGroupinsertPersonGroupMemberpersonGroupMemberPersonGroupMemberfindPersonsWithPermissionAsListPersonAndListDisplayDetailstimestampexcludeClazzexcludeSelectedsortOrdersearchTextfindPersonsWithPermissionAsPagingSourceandroidxpagingPagingSourceDoorRepositoryReplicatePullPagingSourcePersonDao/findPersonsWithPermissionAsPagingSourceSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParamsBoolean_pagingParamsreplicateHttpRequestOrThrowListSerializernullablepagingSourceLoadParametersendOfPaginationReachedfindByUidWithDisplayDetailsLivePersonAndDisplayDetailpersonUidactiveUserPersonUidfindByUidWithDisplayDetailsFlowasRepoFlowPersonDao/findByUidWithDisplayDetailsFlowgetAllPersongetNamesByUidPersonNamesPersonDao/getNamesByUidgetNamesByUidAsyncPersonDao/getNamesByUidAsyncupdateUsernamecurrentTimeselectExistingUsernamesusernamesinsertinsertAsyncinsertListupdateINSTANCE_RECEIVER       comustadmobilecoredbdaoPersonGroupDaoDEFINEDkotlinUnitAnyfindByUidlibentitiesPersonGroupuidLongfindByUidAsyncfindByUidLivekotlinxcoroutinesflowFlowupdateAsyncIntentityfindNameByGroupUidStringgroupUidINSTANCE_RECEIVERBaseDaoM  "   ?   <    @<comustadmobilecoredbdaoPersonGroupDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoPersonGroupDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByUidlibentitiesPersonGroupuidLongIllegalStateExceptionStringfindByUid: synchronous db access is NOT possible on Javascript!findByUidAsyncGET_PROPERTYfindByUidLivekotlinxcoroutinesflowFlowupdateAsyncIntentitygroupLctEQutilsystemTimeInMillisfindNameByGroupUidgroupUidinsertinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFBooleaninternalirEQEQ_newPknextIdAsyncinsertListentityListcollectionsListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER  "        %      < 8       <comustadmobilecoredbdaoPersonGroupDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitPersonGroupDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterPersonGroup_abortEntityInsertionAdapterlibentitiesPersonGroupOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO PersonGroup (groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag) VALUES(?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLonggroupUidsetObjectIntsetLonggroupMasterCsngroupLocalCsnsetIntgroupLastChangedBygroupLctsetStringgroupNamesetBooleangroupActivepersonGroupFlagINSTANCE_RECEIVERinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListcollectionsListupdateAsync_result_sqlUPDATE PersonGroup SET groupMasterCsn = ?, groupLocalCsn = ?, groupLastChangedBy = ?, groupLct = ?, groupName = ?, groupActive = ?, personGroupFlag = ? WHERE groupUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindByUiduidPreparedStatementConfigSELECT * FROM PersonGroup WHERE groupUid = CAST(? AS BIGINT)texttrimMargin |SELECT * FROM PersonGroup WHERE groupUid = ? |useResultsResultSetexecuteQuerymapNextRowit_tmp_groupUidgetLong_tmp_groupMasterCsn_tmp_groupLocalCsn_tmp_groupLastChangedBygetInt_tmp_groupLct_tmp_groupNamegetString_tmp_groupActivegetBoolean_tmp_personGroupFlagapplyExtensionFunctionType$this$applyEQfindByUidAsyncexecuteQueryAsyncKmpfindByUidLivekotlinxflowFlowdoorFlowArrayarrayOfSuspendFunction0 |SELECT * FROM PersonGroup WHERE groupUid = ? |findNameByGroupUid | | Select CASE | WHEN Person.firstNames IS NOT NULL THEN Person.firstNames | ELSE PersonGroup.groupName | END AS name | FROM PersonGroup | LEFT JOIN Person | ON Person.personGroupUid = PersonGroup.groupUid | WHERE PersonGroup.groupUid = CAST(? AS BIGINT) | LIMIT 1 | | | Select CASE | WHEN Person.firstNames IS NOT NULL THEN Person.firstNames | ELSE PersonGroup.groupName | END AS name | FROM PersonGroup | LEFT JOIN Person | ON Person.personGroupUid = PersonGroup.groupUid | WHERE PersonGroup.groupUid = ? | LIMIT 1 | |N      "           comustadmobilecoredbdaoPersonGroupDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoPersonGroupDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindByUidlibentitiesPersonGroupuid_resultGET_PROPERTYfindByUidAsyncfindByUidLivekotlinxcoroutinesflowFlowupdateAsyncIntentityreplicationwithRepoChangeMonitorAsyncSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindNameByGroupUidgroupUidinsertwithRepoChangeMonitorFunction0insertAsyncinsertListentityListcollectionsListupdateINSTANCE_RECEIVER"      comustadmobilecoredbdaoPersonGroupMemberDaoDEFINEDkotlinUnitAnyfindAllGroupWherePersonIsIncollectionsListlibentitiesPersonGroupMemberpersonUidLongcheckPersonBelongsToGroupgroupUidmoveGroupAsyncIntnewGroupoldGroupchangeTimeupdateGroupMemberActiveactiveStatusBooleanupdateTimefindByPersonUidAndGroupUidINSTANCE_RECEIVERBaseDaoN   "        <    @<comustadmobilecoredbdaoPersonGroupMemberDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoPersonGroupMemberDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindAllGroupWherePersonIsIncollectionsListlibentitiesPersonGroupMemberpersonUidLongGET_PROPERTYcheckPersonBelongsToGroupgroupUidmoveGroupAsyncIntnewGroupoldGroupchangeTimeupdateGroupMemberActiveactiveStatusBooleanupdateTimefindByPersonUidAndGroupUidinsertentityIllegalStateExceptionStringinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFinternalirEQEQgroupMemberUid_newPknextIdAsyncEQgroupMemberLctutilsystemTimeInMillisinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER  " %    +      v r     Y T% comustadmobilecoredbdaoPersonGroupMemberDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitPersonGroupMemberDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterPersonGroupMember_abortEntityInsertionAdapterlibentitiesPersonGroupMemberOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO PersonGroupMember (groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLonggroupMemberUidsetObjectIntsetLongsetBooleangroupMemberActivegroupMemberPersonUidgroupMemberGroupUidgroupMemberMasterCsngroupMemberLocalCsnsetIntgroupMemberLastChangedBygroupMemberLctINSTANCE_RECEIVERinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncinsertListentityListcollectionsListupdate_sqlUPDATE PersonGroupMember SET groupMemberActive = ?, groupMemberPersonUid = ?, groupMemberGroupUid = ?, groupMemberMasterCsn = ?, groupMemberLocalCsn = ?, groupMemberLastChangedBy = ?, groupMemberLct = ? WHERE groupMemberUid = ?extprepareAndUseStatementFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateLAMBDAfindAllGroupWherePersonIsInpersonUidprepareAndUseStatementAsyncPreparedStatementConfigSELECT * FROM PersonGroupMember WHERE groupMemberPersonUid = CAST(? AS BIGINT) AND PersonGroupMember.groupMemberActivetexttrimMargin |SELECT * FROM PersonGroupMember WHERE groupMemberPersonUid = ? AND PersonGroupMember.groupMemberActive |coroutinesSuspendFunction1useResultsResultSetexecuteQueryAsyncKmp_resultmapRowsit_tmp_groupMemberUidgetLong_tmp_groupMemberActivegetBoolean_tmp_groupMemberPersonUid_tmp_groupMemberGroupUid_tmp_groupMemberMasterCsn_tmp_groupMemberLocalCsn_tmp_groupMemberLastChangedBygetInt_tmp_groupMemberLctapplyExtensionFunctionType$this$applyEQcheckPersonBelongsToGroupgroupUid |SELECT * FROM PersonGroupMember WHERE groupMemberGroupUid = CAST(? AS BIGINT) | AND groupMemberPersonUid = CAST(? AS BIGINT) AND PersonGroupMember.groupMemberActive |SELECT * FROM PersonGroupMember WHERE groupMemberGroupUid = ? | AND groupMemberPersonUid = ? AND PersonGroupMember.groupMemberActive |moveGroupAsyncnewGroupoldGroupchangeTime | | UPDATE PersonGroupMember | SET groupMemberGroupUid = CAST(? AS BIGINT), | groupMemberLct = CAST(? AS BIGINT) | WHERE groupMemberPersonUid = CAST(? AS BIGINT) | AND groupMemberGroupUid = CAST(? AS BIGINT) | AND PersonGroupMember.groupMemberActive | | UPDATE PersonGroupMember | SET groupMemberGroupUid = ?, | groupMemberLct = ? | WHERE groupMemberPersonUid = ? | AND groupMemberGroupUid = ? | AND PersonGroupMember.groupMemberActive |executeUpdateAsyncKmpupdateGroupMemberActiveactiveStatusupdateTime | | UPDATE PersonGroupMember | SET groupMemberActive = ?, | groupMemberLct = CAST(? AS BIGINT) | WHERE groupMemberPersonUid = CAST(? AS BIGINT) | AND groupMemberGroupUid = CAST(? AS BIGINT) | AND PersonGroupMember.groupMemberActive | | UPDATE PersonGroupMember | SET groupMemberActive = ?, | groupMemberLct = ? | WHERE groupMemberPersonUid = ? | AND groupMemberGroupUid = ? | AND PersonGroupMember.groupMemberActive |findByPersonUidAndGroupUid | | SELECT PersonGroupMember.* | FROM PersonGroupMember | WHERE PersonGroupMember.groupMemberPersonUid = CAST(? AS BIGINT) | AND PersonGroupMember.groupMemberGroupUid = CAST(? AS BIGINT) | | | SELECT PersonGroupMember.* | FROM PersonGroupMember | WHERE PersonGroupMember.groupMemberPersonUid = ? | AND PersonGroupMember.groupMemberGroupUid = ? | |mapNextRowQ      "           comustadmobilecoredbdaoPersonGroupMemberDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoPersonGroupMemberDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindAllGroupWherePersonIsIncollectionsListlibentitiesPersonGroupMemberpersonUid_resultGET_PROPERTYcheckPersonBelongsToGroupgroupUidmoveGroupAsyncIntnewGroupoldGroupchangeTimereplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupdateGroupMemberActiveactiveStatusBooleanupdateTimefindByPersonUidAndGroupUidinsertentitywithRepoChangeMonitorFunction0insertAsyncinsertListentityListupdateINSTANCE_RECEIVER$   1  comustadmobilecoredbdaoPersonParentJoinDaoDEFINEDkotlinUnitAnyupsertAsyncLongentitylibentitiesPersonParentJoinfindByUidWithMinorAsyncPersonParentJoinAndMinorPersonuidfindByUidWithMinorAsyncFromWebfindByMinorPersonUidcollectionsListminorPersonUidfindByMinorPersonUidWhereParentNotEnrolledInClazzParentEnrolmentRequiredclazzUidFilterisParentOfBooleanuserPersonUidupdateAsyncpersonParentJoinisMinorApprovedINSTANCE_RECEIVERG  "         1 comustadmobilecoredbdaoPersonParentJoinDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoPersonParentJoinDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertAsyncLongentitylibentitiesPersonParentJoin_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQppjUid_newPknextIdAsyncIntEQppjLctutilsystemTimeInMillisfindByUidWithMinorAsyncPersonParentJoinAndMinorPersonuidfindByUidWithMinorAsyncFromWebfindByMinorPersonUidcollectionsListminorPersonUidfindByMinorPersonUidWhereParentNotEnrolledInClazzParentEnrolmentRequiredclazzUidFilterisParentOfuserPersonUidupdateAsyncpersonParentJoinisMinorApprovedINSTANCE_RECEIVER*  " %          +                                           16  G(&comustadmobilecoredbdaoPersonParentJoinDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitPersonParentJoinDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterPersonParentJoin_upsertEntityInsertionAdapterlibentitiesPersonParentJoinOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO PersonParentJoin (ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongppjUidsetObjectIntsetLongppjPcsnppjLcsnsetIntppjLcbppjLctppjParentPersonUidppjMinorPersonUidppjRelationshipsetStringppjEmailppjPhonesetBooleanppjInactiveppjStatusppjApprovalTiemstampppjApprovalIpAddrINSTANCE_RECEIVERupsertAsync_retValinsertAndReturnIdAsyncupdateAsyncpersonParentJoin_sqlUPDATE PersonParentJoin SET ppjPcsn = ?, ppjLcsn = ?, ppjLcb = ?, ppjLct = ?, ppjParentPersonUid = ?, ppjMinorPersonUid = ?, ppjRelationship = ?, ppjEmail = ?, ppjPhone = ?, ppjInactive = ?, ppjStatus = ?, ppjApprovalTiemstamp = ?, ppjApprovalIpAddr = ? WHERE ppjUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAfindByUidWithMinorAsyncPersonParentJoinAndMinorPersonuidPreparedStatementConfigtexttrimMargin | | SELECT PersonParentJoin.*, Person.* | FROM PersonParentJoin | LEFT JOIN Person ON Person.personUid = PersonParentJoin.ppjMinorPersonUid | WHERE PersonParentJoin.ppjUid = CAST(? AS BIGINT) | | | SELECT PersonParentJoin.*, Person.* | FROM PersonParentJoin | LEFT JOIN Person ON Person.personUid = PersonParentJoin.ppjMinorPersonUid | WHERE PersonParentJoin.ppjUid = ? | |useResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_PersonParentJoin_nullCount_tmp_ppjUidgetLongwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_ppjPcsntmp1_tmp_ppjLcsntmp2_tmp_ppjLcbgetInttmp3_tmp_ppjLcttmp4_tmp_ppjParentPersonUidtmp5_tmp_ppjMinorPersonUidtmp6_tmp_ppjRelationshiptmp7_tmp_ppjEmailgetStringtmp8_tmp_ppjPhonetmp9_tmp_ppjInactivegetBooleantmp10_tmp_ppjStatustmp11_tmp_ppjApprovalTiemstamptmp12_tmp_ppjApprovalIpAddrtmp13_tmp_PersonParentJoin_isAllNull_tmp_Person_nullCount_tmp_personUidpersonUidtmp14_tmp_usernameusernametmp15_tmp_firstNamesfirstNamestmp16_tmp_lastNamelastNametmp17_tmp_emailAddremailAddrtmp18_tmp_phoneNumphoneNumtmp19_tmp_gendergendertmp20_tmp_activeactivetmp21_tmp_dateOfBirthdateOfBirthtmp22_tmp_personAddresspersonAddresstmp23_tmp_personOrgIdpersonOrgIdtmp24_tmp_personGroupUidpersonGroupUidtmp25_tmp_personLctpersonLcttmp26_tmp_personCountrypersonCountrytmp27_tmp_personTypepersonTypetmp28_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNumtmp29_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNumtmp30_tmp_personLastChangedBypersonLastChangedBytmp31_tmp_adminadmintmp32_tmp_personNotespersonNotestmp33_tmp_fatherNamefatherNametmp34_tmp_fatherNumberfatherNumbertmp35_tmp_motherNamemotherNametmp36_tmp_motherNummotherNumtmp37_tmp_Person_isAllNullapplyExtensionFunctionType$this$applynotEXCLEQminorPersonPersonfindByUidWithMinorAsyncFromWebfindByMinorPersonUidcollectionsListminorPersonUid | | SELECT PersonParentJoin.* | FROM PersonParentJoin | WHERE ppjMinorPersonUid = CAST(? AS BIGINT) | | | SELECT PersonParentJoin.* | FROM PersonParentJoin | WHERE ppjMinorPersonUid = ? | |mapRowsfindByMinorPersonUidWhereParentNotEnrolledInClazzParentEnrolmentRequiredclazzUidFilter | | SELECT PersonParentJoin.ppjParentPersonUid AS parentPersonUid, | ChildEnrolment.clazzEnrolmentClazzUid AS clazzUid | FROM PersonParentJoin | JOIN ClazzEnrolment ChildEnrolment | ON ChildEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND (CAST(? AS BIGINT) = 0 OR ChildEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT)) | WHERE PersonParentJoin.ppjMinorPersonUid = CAST(? AS BIGINT) | AND PersonParentJoin.ppjParentPersonUid != 0 | AND NOT EXISTS( | SELECT clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = PersonParentJoin.ppjParentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = ChildEnrolment.clazzEnrolmentClazzUid | AND ClazzEnrolment.clazzEnrolmentRole = 1003 | AND CAST(ClazzEnrolment.clazzEnrolmentActive AS INTEGER) = 1) | | | SELECT PersonParentJoin.ppjParentPersonUid AS parentPersonUid, | ChildEnrolment.clazzEnrolmentClazzUid AS clazzUid | FROM PersonParentJoin | JOIN ClazzEnrolment ChildEnrolment | ON ChildEnrolment.clazzEnrolmentPersonUid = ? | AND (? = 0 OR ChildEnrolment.clazzEnrolmentClazzUid = ?) | WHERE PersonParentJoin.ppjMinorPersonUid = ? | AND PersonParentJoin.ppjParentPersonUid != 0 | AND NOT EXISTS( | SELECT clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = PersonParentJoin.ppjParentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = ChildEnrolment.clazzEnrolmentClazzUid | AND ClazzEnrolment.clazzEnrolmentRole = 1003 | AND CAST(ClazzEnrolment.clazzEnrolmentActive AS INTEGER) = 1) | |_tmp_parentPersonUidparentPersonUid_tmp_clazzUidclazzUidisParentOfuserPersonUid | | SELECT EXISTS( | SELECT ppjUid | FROM PersonParentJoin | WHERE ppjMinorPersonUid = CAST(? AS BIGINT) | AND ppjParentPersonUid = CAST(? AS BIGINT) | AND CAST(ppjInactive AS INTEGER) = 0) | | | SELECT EXISTS( | SELECT ppjUid | FROM PersonParentJoin | WHERE ppjMinorPersonUid = ? | AND ppjParentPersonUid = ? | AND CAST(ppjInactive AS INTEGER) = 0) | |isMinorApproved | | SELECT EXISTS( | SELECT ppjUid | FROM PersonParentJoin | WHERE ppjMinorPersonUid = CAST(? AS BIGINT) | AND CAST(ppjInactive AS INTEGER) = 0 | AND ppjStatus = 1) | | | SELECT EXISTS( | SELECT ppjUid | FROM PersonParentJoin | WHERE ppjMinorPersonUid = ? | AND CAST(ppjInactive AS INTEGER) = 0 | AND ppjStatus = 1) | |o      "      +          # 1  #comustadmobilecoredbdaoPersonParentJoinDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoPersonParentJoinDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertAsyncentitylibentitiesPersonParentJoin_resultreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByUidWithMinorAsyncPersonParentJoinAndMinorPersonuidhttpreplicateHttpRequestCatchAndLogPersonParentJoinDao/findByUidWithMinorAsyncFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponsefindByUidWithMinorAsyncFromWebfindByMinorPersonUidcollectionsListminorPersonUidfindByMinorPersonUidWhereParentNotEnrolledInClazzParentEnrolmentRequiredclazzUidFilterisParentOfBooleanuserPersonUidupdateAsyncpersonParentJoinisMinorApprovedPersonParentJoinDao/isMinorApprovedINSTANCE_RECEIVER)         comustadmobilecoredbdaoPersonPictureDaoDEFINEDkotlinUnitAnyupsertpersonPicturelibentitiesPersonPicturefindByPersonUidAsyncpersonUidLongfindByPersonUidLivekotlinxcoroutinesflowFlowfindByPersonUidAsFlowupdateAsyncupdateLctuidtimeupdateUriuriStringthumbnailUriImageDaoupdateTransferJobItemEtagentityUidtransferJobItemUidIntINSTANCE_RECEIVERBaseDaoV  "            < @<comustadmobilecoredbdaoPersonPictureDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoPersonPictureDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertpersonPicturelibentitiesPersonPicture_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQLongpersonPictureUid_newPknextIdAsyncIntEQpersonPictureLctutilsystemTimeInMillisfindByPersonUidAsyncpersonUidfindByPersonUidLivekotlinxcoroutinesflowFlowfindByPersonUidAsFlowupdateAsyncupdateLctuidtimeupdateUriuriStringthumbnailUriupdateTransferJobItemEtagentityUidtransferJobItemUidinsertentityIllegalStateExceptioninsert: synchronous db access is NOT possible on Javascript!insertAsyncinsertListentityListcollectionsListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER  " "      (!'                 .comustadmobilecoredbdaoPersonPictureDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitPersonPictureDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterPersonPicture_upsertEntityInsertionAdapterlibentitiesPersonPictureOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO PersonPicture (personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) VALUES(?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongpersonPictureUidsetObjectIntsetLongpersonPictureLctsetStringpersonPictureUripersonPictureThumbnailUrisetIntfileSizesetBooleanpersonPictureActiveINSTANCE_RECEIVER_insertAdapterPersonPicture_abortINSERT INTO PersonPicture (personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) VALUES(?, ?, ?, ?, ?, ?)upsertpersonPictureinsertAsyncinsert_retValinsertAndReturnIdinsertAndReturnIdAsyncinsertListentityListcollectionsListupdateAsync_sqlUPDATE PersonPicture SET personPictureLct = ?, personPictureUri = ?, personPictureThumbnailUri = ?, fileSize = ?, personPictureActive = ? WHERE personPictureUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdatefindByPersonUidAsyncpersonUidPreparedStatementConfigtexttrimMargin | | SELECT * | FROM PersonPicture | WHERE personPictureUid = CAST(? AS BIGINT) | AND CAST(personPictureActive AS INTEGER) = 1 | | | SELECT * | FROM PersonPicture | WHERE personPictureUid = ? | AND CAST(personPictureActive AS INTEGER) = 1 | |useResultsResultSetexecuteQueryAsyncKmp_resultmapNextRowit_tmp_personPictureUidgetLong_tmp_personPictureLct_tmp_personPictureUrigetString_tmp_personPictureThumbnailUri_tmp_fileSizegetInt_tmp_personPictureActivegetBooleanapplyExtensionFunctionType$this$applyEQfindByPersonUidLivekotlinxflowFlowdoorFlowArrayarrayOfSuspendFunction0 | | SELECT * | FROM PersonPicture | WHERE personPictureUid = CAST(? AS BIGINT) | | | SELECT * | FROM PersonPicture | WHERE personPictureUid = ? | |findByPersonUidAsFlow | | SELECT * | FROM PersonPicture | WHERE personPictureUid = CAST(? AS BIGINT) | AND CAST(personPictureActive AS INTEGER) = 1 | LIMIT 1 | | | SELECT * | FROM PersonPicture | WHERE personPictureUid = ? | AND CAST(personPictureActive AS INTEGER) = 1 | LIMIT 1 | |updateLctuidtime | | UPDATE PersonPicture | SET personPictureLct = CAST(? AS BIGINT) | WHERE personPictureUid = CAST(? AS BIGINT) | | | UPDATE PersonPicture | SET personPictureLct = ? | WHERE personPictureUid = ? | |updateUriurithumbnailUri | | UPDATE PersonPicture | SET personPictureUri = ?, | personPictureThumbnailUri = ?, | personPictureLct = CAST(? AS BIGINT) | WHERE personPictureUid = CAST(? AS BIGINT) | | | UPDATE PersonPicture | SET personPictureUri = ?, | personPictureThumbnailUri = ?, | personPictureLct = ? | WHERE personPictureUid = ? | |updateTransferJobItemEtagentityUidtransferJobItemUid | | UPDATE TransferJobItem | SET tjiEntityEtag = | (SELECT personPictureLct | FROM PersonPicture | WHERE personPictureUid = CAST(? AS BIGINT)) | WHERE tjiUid = ? | | | UPDATE TransferJobItem | SET tjiEntityEtag = | (SELECT personPictureLct | FROM PersonPicture | WHERE personPictureUid = ?) | WHERE tjiUid = ? | |}      "         $         #     comustadmobilecoredbdaoPersonPictureDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoPersonPictureDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperupsertpersonPicturelibentitiesPersonPicturereplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByPersonUidAsyncpersonUid_resultfindByPersonUidLivekotlinxflowFlowasRepoFlowreplicateHttpRequestCatchAndLogPersonPictureDao/findByPersonUidLiveFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponsefindByPersonUidAsFlowupdateAsyncupdateLctuidtimeupdateUriurithumbnailUriupdateTransferJobItemEtagentityUidtransferJobItemUidIntTransferJobIteminsertentitywithRepoChangeMonitorinsertAsyncinsertListentityListcollectionsListupdateINSTANCE_RECEIVER7             comustadmobilecoredbdaoReportDaoDEFINEDkotlinUnitAnygetResultscollectionsListlibentitiesReportquerydoorDoorQueryfindAllActiveReportandroidxpagingPagingSourceIntsearchBitStringpersonUidLongsortOrderisTemplateBooleanfindByUidentityUidupdateAsyncentityfindByUidLivekotlinxcoroutinesflowFlowuidfindAllActiveReportLivefindAllActiveReportListfindByUidListuidListtoggleVisibilityReportItemstoggleVisibilityselectedItemupdateTimereplaceListentityListINSTANCE_RECEIVERBaseDaoc   "   @       M C A<     @<comustadmobilecoredbdaoReportDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoReportDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinggetResultscollectionsListlibentitiesReportqueryDoorQueryIllegalStateExceptionStringgetResults: synchronous db access is NOT possible on Javascript!findAllActiveReportandroidxpagingPagingSourceIntsearchBitpersonUidLongsortOrderisTemplateBooleanGET_PROPERTYfindByUidentityUidupdateAsyncentityreportLctEQutilsystemTimeInMillisfindByUidLivekotlinxcoroutinesflowFlowuidfindAllActiveReportLivefindAllActiveReportListfindAllActiveReportList: synchronous db access is NOT possible on Javascript!findByUidListuidListfindByUidList: synchronous db access is NOT possible on Javascript!toggleVisibilityReportItemstoggleVisibilityselectedItemupdateTimereplaceListentityListreplaceList: synchronous db access is NOT possible on Javascript!insertinsert: synchronous db access is NOT possible on Javascript!insertAsync_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFinternalirEQEQreportUid_newPknextIdAsyncinsertListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER   "                   !                        84 99 3   comustadmobilecoredbdaoReportDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitReportDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterReport_upsertEntityInsertionAdapterlibentitiesReportOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO Report (reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongreportUidsetObjectIntsetLongreportOwnerUidsetIntxAxisreportDateRangeSelectionfromDatefromRelTofromRelOffSetfromRelUnittoDatetoRelTotoRelOffSettoRelUnitsetStringreportTitlereportDescriptionreportSeriessetBooleanreportInactiveisTemplatepriorityreportTitleIdreportDescIdreportMasterChangeSeqNumreportLocalChangeSeqNumreportLastChangedByreportLctINSTANCE_RECEIVER_insertAdapterReport_abortINSERT INTO Report (reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)replaceListentityListcollectionsListinsertListinsert_retValinsertAndReturnIdinsertAsyncinsertAndReturnIdAsyncupdateAsync_sqlUPDATE Report SET reportOwnerUid = ?, xAxis = ?, reportDateRangeSelection = ?, fromDate = ?, fromRelTo = ?, fromRelOffSet = ?, fromRelUnit = ?, toDate = ?, toRelTo = ?, toRelOffSet = ?, toRelUnit = ?, reportTitle = ?, reportDescription = ?, reportSeries = ?, reportInactive = ?, isTemplate = ?, priority = ?, reportTitleId = ?, reportDescId = ?, reportMasterChangeSeqNum = ?, reportLocalChangeSeqNum = ?, reportLastChangedBy = ?, reportLct = ? WHERE reportUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdategetResultsqueryDoorQueryPreparedStatementConfigsqlhasListOrArrayParamsbindToPreparedStmtuseResultsResultSetexecuteQuery_resultmapRowsit_tmp_reportUidgetLong_tmp_reportOwnerUid_tmp_xAxisgetInt_tmp_reportDateRangeSelection_tmp_fromDate_tmp_fromRelTo_tmp_fromRelOffSet_tmp_fromRelUnit_tmp_toDate_tmp_toRelTo_tmp_toRelOffSet_tmp_toRelUnit_tmp_reportTitlegetString_tmp_reportDescription_tmp_reportSeries_tmp_reportInactivegetBoolean_tmp_isTemplate_tmp_priority_tmp_reportTitleId_tmp_reportDescId_tmp_reportMasterChangeSeqNum_tmp_reportLocalChangeSeqNum_tmp_reportLastChangedBy_tmp_reportLctapplyExtensionFunctionType$this$applyEQfindAllActiveReportandroidxpagingPagingSourcesearchBitpersonUidsortOrderDoorLimitOffsetPagingSourceArrayarrayOfREPORTloadRows_limit_offsettexttrimMargin |SELECT * FROM (SELECT * FROM REPORT WHERE NOT reportInactive | AND reportOwnerUid = CAST(? AS BIGINT) | AND isTemplate = ? | AND reportTitle LIKE ? | ORDER BY priority, CASE(?) | WHEN 1 THEN Report.reportTitle | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Report.reportTitle | ELSE '' | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM (SELECT * FROM REPORT WHERE NOT reportInactive | AND reportOwnerUid = ? | AND isTemplate = ? | AND reportTitle LIKE ? | ORDER BY priority, CASE(?) | WHEN 1 THEN Report.reportTitle | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Report.reportTitle | ELSE '' | END DESC | ) AS _PagingData LIMIT ? OFFSET ? |executeQueryAsyncKmpcountRows |SELECT COUNT(*) FROM (SELECT * FROM REPORT WHERE NOT reportInactive | AND reportOwnerUid = CAST(? AS BIGINT) | AND isTemplate = ? | AND reportTitle LIKE ? | ORDER BY priority, CASE(?) | WHEN 1 THEN Report.reportTitle | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Report.reportTitle | ELSE '' | END DESC | ) AS _PagingCount |SELECT COUNT(*) FROM (SELECT * FROM REPORT WHERE NOT reportInactive | AND reportOwnerUid = ? | AND isTemplate = ? | AND reportTitle LIKE ? | ORDER BY priority, CASE(?) | WHEN 1 THEN Report.reportTitle | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN Report.reportTitle | ELSE '' | END DESC | ) AS _PagingCount |mapNextRowfindByUidentityUidSELECT * FROM Report WHERE reportUid = CAST(? AS BIGINT) |SELECT * FROM Report WHERE reportUid = ? |findByUidLivekotlinxflowFlowuiddoorFlowSuspendFunction0SELECT * From Report WHERE reportUid = CAST(? AS BIGINT) |SELECT * From Report WHERE reportUid = ? |findAllActiveReportLive |SELECT * FROM REPORT WHERE NOT reportInactive | AND isTemplate = ? | ORDER BY priority ASC | findAllActiveReportList |SELECT * FROM REPORT WHERE NOT reportInactive | AND isTemplate = ? | ORDER BY priority ASC | findByUidListuidListSELECT reportUid FROM Report WHERE reportUid IN (?)setArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArraytoggleVisibilityReportItemstoggleVisibilityselectedItemupdateTime | | UPDATE Report | SET reportInactive = ?, | reportLct = CAST(? AS BIGINT) | WHERE reportUid IN (?) | | | UPDATE Report | SET reportInactive = ?, | reportLct = ? | WHERE reportUid IN (?) | |a      "                comustadmobilecoredbdaoReportDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoReportDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinggetResultscollectionsListlibentitiesReportqueryDoorQuery_resultGET_PROPERTYfindAllActiveReportandroidxpagingPagingSourceIntsearchBitpersonUidsortOrderisTemplateBooleanfindByUidentityUidupdateAsyncentityreplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByUidLivekotlinxflowFlowuidfindAllActiveReportLivefindAllActiveReportListfindByUidListuidListtoggleVisibilityReportItemstoggleVisibilityselectedItemupdateTimereplaceListentityListwithRepoChangeMonitorFunction0insertinsertAsyncinsertListupdateINSTANCE_RECEIVER-        $ comustadmobilecoredbdaoScheduleDaoDEFINEDkotlinUnitAnyinsertLongentitylibentitiesScheduleBaseDaoupdateAsyncIntupsertListAsynccollectionsListupdateScheduleActivatedscheduleUidactiveBooleanchangeTimefindByUiduidfindByUidAsyncfindAllSchedulesByClazzUidandroidxpagingPagingSourceclazzUidfindAllSchedulesByClazzUidAsListfindAllSchedulesByClazzUidAsLiveListkotlinxcoroutinesflowFlowfindAllSchedulesByClazzUidAsyncINSTANCE_RECEIVERe   "  <            ?  V$  @<comustadmobilecoredbdaoScheduleDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoScheduleDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertLongentitylibentitiesScheduleIllegalStateExceptionStringinsert: synchronous db access is NOT possible on Javascript!updateAsyncIntscheduleLastChangedTimeEQutilsystemTimeInMillisGET_PROPERTYupsertListAsynccollectionsList_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabase_generatedPksMutableListmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQscheduleUid_newPknextIdAsyncplusAssignPLUSEQLAMBDAupdateScheduleActivatedactivechangeTimefindByUiduidfindByUid: synchronous db access is NOT possible on Javascript!findByUidAsyncfindAllSchedulesByClazzUidandroidxpagingPagingSourceclazzUidfindAllSchedulesByClazzUidAsListfindAllSchedulesByClazzUidAsList: synchronous db access is NOT possible on Javascript!findAllSchedulesByClazzUidAsLiveListkotlinxcoroutinesflowFlowfindAllSchedulesByClazzUidAsyncinsertAsyncinsertListentityListinsertList: synchronous db access is NOT possible on Javascript!updateupdate: synchronous db access is NOT possible on Javascript!INSTANCE_RECEIVER   "   :       "E#   B     <8      ie$ijfcomustadmobilecoredbdaoScheduleDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitScheduleDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterSchedule_abortEntityInsertionAdapterlibentitiesScheduleOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO Schedule (scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongscheduleUidsetObjectIntsetLongsceduleStartTimescheduleEndTimesetIntscheduleDayscheduleMonthscheduleFrequencyumCalendarUidscheduleClazzUidscheduleMasterChangeSeqNumscheduleLocalChangeSeqNumscheduleLastChangedByscheduleLastChangedTimesetBooleanscheduleActiveINSTANCE_RECEIVER_insertAdapterSchedule_upsertINSERT OR REPLACE INTO Schedule (scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)insert_retValinsertAndReturnIdupsertListAsynccollectionsListinsertListAsyncinsertAsyncinsertAndReturnIdAsyncinsertListentityListupdateAsync_result_sqlUPDATE Schedule SET sceduleStartTime = ?, scheduleEndTime = ?, scheduleDay = ?, scheduleMonth = ?, scheduleFrequency = ?, umCalendarUid = ?, scheduleClazzUid = ?, scheduleMasterChangeSeqNum = ?, scheduleLocalChangeSeqNum = ?, scheduleLastChangedBy = ?, scheduleLastChangedTime = ?, scheduleActive = ? WHERE scheduleUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtplusPLUSEQexecuteUpdateAsyncKmpLAMBDAupdateprepareAndUseStatementFunction1executeUpdateupdateScheduleActivatedactivechangeTimePreparedStatementConfigtexttrimMargin | | UPDATE Schedule | SET scheduleActive = ?, | scheduleLastChangedTime = CAST(? AS BIGINT) | WHERE scheduleUid = CAST(? AS BIGINT) | | | UPDATE Schedule | SET scheduleActive = ?, | scheduleLastChangedTime = ? | WHERE scheduleUid = ? | |findByUiduidSELECT * FROM Schedule WHERE scheduleUid = CAST(? AS BIGINT) |SELECT * FROM Schedule WHERE scheduleUid = ? |useResultsResultSetexecuteQuerymapNextRowit_tmp_scheduleUidgetLong_tmp_sceduleStartTime_tmp_scheduleEndTime_tmp_scheduleDaygetInt_tmp_scheduleMonth_tmp_scheduleFrequency_tmp_umCalendarUid_tmp_scheduleClazzUid_tmp_scheduleMasterChangeSeqNum_tmp_scheduleLocalChangeSeqNum_tmp_scheduleLastChangedBy_tmp_scheduleLastChangedTime_tmp_scheduleActivegetBooleanapplyExtensionFunctionType$this$applyEQfindByUidAsyncexecuteQueryAsyncKmpfindAllSchedulesByClazzUidandroidxpagingPagingSourceclazzUidDoorLimitOffsetPagingSourceArrayarrayOfloadRows_limit_offsetSELECT * FROM (SELECT * FROM Schedule WHERE scheduleClazzUid = CAST(? AS BIGINT) AND CAST(scheduleActive AS INTEGER) = 1 ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM (SELECT * FROM Schedule WHERE scheduleClazzUid = ? AND CAST(scheduleActive AS INTEGER) = 1 ) AS _PagingData LIMIT ? OFFSET ? |mapRowscountRowsSELECT COUNT(*) FROM (SELECT * FROM Schedule WHERE scheduleClazzUid = CAST(? AS BIGINT) AND CAST(scheduleActive AS INTEGER) = 1 ) AS _PagingCount |SELECT COUNT(*) FROM (SELECT * FROM Schedule WHERE scheduleClazzUid = ? AND CAST(scheduleActive AS INTEGER) = 1 ) AS _PagingCount |findAllSchedulesByClazzUidAsListSELECT * FROM Schedule WHERE scheduleClazzUid = CAST(? AS BIGINT) AND CAST(scheduleActive AS INTEGER) = 1 |SELECT * FROM Schedule WHERE scheduleClazzUid = ? AND CAST(scheduleActive AS INTEGER) = 1 |findAllSchedulesByClazzUidAsLiveListkotlinxflowFlowdoorFlowSuspendFunction0 |SELECT * FROM Schedule WHERE scheduleClazzUid = ? AND CAST(scheduleActive AS INTEGER) = 1 |findAllSchedulesByClazzUidAsyncSELECT * FROM Schedule WHERE scheduleClazzUid = CAST(? AS BIGINT) AND CAST(scheduleActive AS INTEGER) = 1 |SELECT * FROM Schedule WHERE scheduleClazzUid = ? AND CAST(scheduleActive AS INTEGER) = 1 |Y      "            $ comustadmobilecoredbdaoScheduleDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoScheduleDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertentitylibentitiesSchedule_resultreplicationwithRepoChangeMonitorGET_PROPERTYFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupdateAsyncIntwithRepoChangeMonitorAsynccoroutinesSuspendFunction0upsertListAsynccollectionsListupdateScheduleActivatedscheduleUidactiveBooleanchangeTimefindByUiduidfindByUidAsyncfindAllSchedulesByClazzUidandroidxpagingPagingSourceclazzUidfindAllSchedulesByClazzUidAsListfindAllSchedulesByClazzUidAsLiveListkotlinxflowFlowfindAllSchedulesByClazzUidAsyncinsertAsyncinsertListentityListupdateINSTANCE_RECEIVER     comustadmobilecoredbdaoScopedGrantDaoDEFINEDkotlinUnitAnyinsertAsyncLongscopedGrantlibentitiesScopedGrantinsertListAsyncscopedGrantListcollectionsListINSTANCE_RECEIVERH  "              comustadmobilecoredbdaoScopedGrantDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoScopedGrantDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsyncLongscopedGrantlibentitiesScopedGrant_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQsgUid_newPknextIdAsyncIntEQsgLctutilsystemTimeInMillisinsertListAsyncscopedGrantListcollectionsList_generatedPksMutableListmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitplusAssignPLUSEQLAMBDAINSTANCE_RECEIVERQ  "              %  comustadmobilecoredbdaoScopedGrantDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitScopedGrantDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterScopedGrant_abortEntityInsertionAdapterlibentitiesScopedGrantOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO ScopedGrant (sgUid, sgPcsn, sgLcsn, sgLcb, sgLct, sgTableId, sgEntityUid, sgPermissions, sgGroupUid, sgIndex, sgFlags) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongsgUidsetObjectIntsetLongsgPcsnsgLcsnsetIntsgLcbsgLctsgTableIdsgEntityUidsgPermissionssgGroupUidsgIndexsgFlagsINSTANCE_RECEIVERinsertAsyncscopedGrant_retValinsertAndReturnIdAsyncinsertListAsyncscopedGrantListcollectionsList?      "        comustadmobilecoredbdaoScopedGrantDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoScopedGrantDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsyncscopedGrantlibentitiesScopedGrant_resultreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAinsertListAsyncscopedGrantListcollectionsListINSTANCE_RECEIVER      comustadmobilecoredbdaoSiteDaoDEFINEDkotlinUnitAnygetSitelibentitiesSitegetSiteAsyncgetSiteAuthSaltAsyncStringgetSiteAsFlowkotlinxcoroutinesflowFlowreplaceAsyncLongsiteinsertupdateAsyncworkspaceINSTANCE_RECEIVERF  "  =          < comustadmobilecoredbdaoSiteDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoSiteDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinggetSitelibentitiesSiteIllegalStateExceptionStringgetSite: synchronous db access is NOT possible on Javascript!getSiteAsyncGET_PROPERTYgetSiteAuthSaltAsyncgetSiteAsFlowkotlinxcoroutinesflowFlowreplaceAsyncLongsite_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFBooleaninternalirEQEQsiteUid_newPknextIdAsyncIntEQsiteLctutilsystemTimeInMillisinsertinsert: synchronous db access is NOT possible on Javascript!updateAsyncworkspaceINSTANCE_RECEIVER  "                     ! comustadmobilecoredbdaoSiteDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitSiteDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterSite_upsertEntityInsertionAdapterlibentitiesSiteOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO Site (siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongsiteUidsetObjectIntsetLongsitePcsnsiteLcsnsetIntsiteLcbsiteLctsetStringsiteNamesetBooleanguestLoginregistrationAllowedauthSaltINSTANCE_RECEIVER_insertAdapterSite_abortINSERT INTO Site (siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)replaceAsyncsite_retValinsertAndReturnIdAsyncinsertinsertAndReturnIdupdateAsyncworkspace_sqlUPDATE Site SET sitePcsn = ?, siteLcsn = ?, siteLcb = ?, siteLct = ?, siteName = ?, guestLogin = ?, registrationAllowed = ?, authSalt = ? WHERE siteUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAgetSiteprepareAndUseStatementPreparedStatementConfigSELECT * FROM Site LIMIT 1Function1useResultsResultSetexecuteQuery_resultmapNextRowit_tmp_siteUidgetLong_tmp_sitePcsn_tmp_siteLcsn_tmp_siteLcbgetInt_tmp_siteLct_tmp_siteNamegetString_tmp_guestLogingetBoolean_tmp_registrationAllowed_tmp_authSaltapplyExtensionFunctionType$this$applyEQgetSiteAsyncexecuteQueryAsyncKmpgetSiteAuthSaltAsyncSELECT authSalt FROM Site LIMIT 1getSiteAsFlowkotlinxflowFlowdoorFlowArrayarrayOfSuspendFunction0g       "            #      comustadmobilecoredbdaoSiteDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoSiteDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelpergetSitelibentitiesSite_resultgetSiteAsyncreplicateHttpRequestCatchAndLogSiteDao/getSiteAsyncFunction0LOCAL_FUNCTION_FOR_LAMBDA_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeLAMBDAreplicationonClientRepoDoorMessageHttpResponsekotlinxserializationjsonJsongetSiteAuthSaltAsyncgetSiteAsFlowcoroutinesflowFlowasRepoFlowSuspendFunction0SiteDao/getSiteAsFlowreplaceAsyncsitewithRepoChangeMonitorAsyncinsertwithRepoChangeMonitorupdateAsyncworkspaceINSTANCE_RECEIVER/             comustadmobilecoredbdaoSiteTermsDaoDEFINEDkotlinUnitAnyfindSiteTermslibentitiesSiteTermslangCodeStringinsertAsyncLongsiteTermsfindByUidAsyncuidfindAllTermsAsListFlowkotlinxcoroutinesflowFlowcollectionsListactiveOnlyIntfindAllTermsfindAllWithLanguageAsListSiteTermsWithLanguageupsertListtermListupdateActiveByUidsTermsUidactiveBooleanchangeTimefindAvailableSiteTermLanguagesfindLatestByLanguagelangINSTANCE_RECEIVEROneToManyJoinDao_   "                   comustadmobilecoredbdaoSiteTermsDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoSiteTermsDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindSiteTermslibentitiesSiteTermslangCodeStringGET_PROPERTYinsertAsyncLongsiteTerms_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFBooleaninternalirEQEQsTermsUid_newPknextIdAsyncIntEQsTermsLctutilsystemTimeInMillisfindByUidAsyncuidfindAllTermsAsListFlowkotlinxcoroutinesflowFlowcollectionsListactiveOnlyfindAllTermsfindAllWithLanguageAsListSiteTermsWithLanguageupsertListtermList_generatedPksMutableListmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitplusAssignPLUSEQLAMBDAupdateActiveByUidactivechangeTimefindAvailableSiteTermLanguagesfindLatestByLanguagelanginsertListAsyncentityListupdateListAsyncINSTANCE_RECEIVER   "           #$           +      ;7           comustadmobilecoredbdaoSiteTermsDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitSiteTermsDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterSiteTerms_abortEntityInsertionAdapterlibentitiesSiteTermsOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO SiteTerms (sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongsTermsUidsetObjectIntsetLongsetStringtermsHtmlsTermsLangsTermsLangUidsetBooleansTermsActivesetIntsTermsLastChangedBysTermsPrimaryCsnsTermsLocalCsnsTermsLctINSTANCE_RECEIVER_insertAdapterSiteTerms_upsertINSERT OR REPLACE INTO SiteTerms (sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?)insertAsyncsiteTerms_retValinsertAndReturnIdAsyncupsertListtermListcollectionsListinsertListAsyncentityListupdateListAsync_sqlUPDATE SiteTerms SET termsHtml = ?, sTermsLang = ?, sTermsLangUid = ?, sTermsActive = ?, sTermsLastChangedBy = ?, sTermsPrimaryCsn = ?, sTermsLocalCsn = ?, sTermsLct = ? WHERE sTermsUid = ?extprepareAndUseStatementAsynccoroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtConnectionsetAutoCommitgetConnectionFOR_LOOPFOR_LOOP_ITERATORtmp0_iteratorIteratoriteratorhasNextFOR_LOOP_HAS_NEXTFOR_LOOP_INNER_WHILEFOR_LOOP_VARIABLE_entitynextFOR_LOOP_NEXTexecuteUpdateAsyncKmpcommitLAMBDAfindSiteTermslangCodePreparedStatementConfigtexttrimMargin | | SELECT * FROM SiteTerms WHERE sTermsUid = coalesce( | (SELECT sTermsUid FROM SiteTerms st_int WHERE st_int.sTermsLang = ? LIMIT 1), | (SELECT sTermsUid FROM SiteTerms st_int WHERE st_int.sTermsLang = 'en' LIMIT 1), | 0) | useResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_sTermsUidgetLong_tmp_termsHtmlgetString_tmp_sTermsLang_tmp_sTermsLangUid_tmp_sTermsActivegetBoolean_tmp_sTermsLastChangedBygetInt_tmp_sTermsPrimaryCsn_tmp_sTermsLocalCsn_tmp_sTermsLctapplyExtensionFunctionType$this$applyEQfindByUidAsyncuidSELECT * FROM SiteTerms WHERE sTermsUid = CAST(? AS BIGINT) |SELECT * FROM SiteTerms WHERE sTermsUid = ? |findAllTermsAsListFlowkotlinxflowFlowactiveOnlydoorFlowArrayarrayOfSuspendFunction0 | | SELECT SiteTerms.* | FROM SiteTerms | WHERE ? = 0 | OR CAST(sTermsActive AS INTEGER) = 1 | mapRowsfindAllTerms | | SELECT SiteTerms.* | FROM SiteTerms | WHERE ? = 0 | OR CAST(sTermsActive AS INTEGER) = 1 | findAllWithLanguageAsListSiteTermsWithLanguage |SELECT SiteTerms.*, Language.* | FROM SiteTerms | LEFT JOIN Language ON SiteTerms.sTermsLangUid = Language.langUid | WHERE CAST(sTermsActive AS INTEGER) = 1 | _tmp_Language_nullCount_tmp_langUidlangUidwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_namenametmp1_tmp_iso_639_1_standardiso_639_1_standardtmp2_tmp_iso_639_2_standardiso_639_2_standardtmp3_tmp_iso_639_3_standardiso_639_3_standardtmp4_tmp_Language_TypeLanguage_Typetmp5_tmp_languageActivelanguageActivetmp6_tmp_langLocalChangeSeqNumlangLocalChangeSeqNumtmp7_tmp_langMasterChangeSeqNumlangMasterChangeSeqNumtmp8_tmp_langLastChangedBylangLastChangedBytmp9_tmp_langLctlangLcttmp10_tmp_Language_isAllNullnotEXCLstLanguageLanguageupdateActiveByUidactivechangeTime | | UPDATE SiteTerms | SET sTermsActive = ?, | sTermsLct = CAST(? AS BIGINT) | WHERE sTermsUid = CAST(? AS BIGINT) | | | UPDATE SiteTerms | SET sTermsActive = ?, | sTermsLct = ? | WHERE sTermsUid = ? | |findAvailableSiteTermLanguages | | SELECT SiteTerms.sTermsLang | FROM SiteTerms | WHERE CAST(SiteTerms.sTermsActive AS INTEGER) = ? | findLatestByLanguagelang | | SELECT SiteTerms.* | FROM SiteTerms | WHERE SiteTerms.sTermsLang = ? | AND CAST(SiteTerms.sTermsActive AS INTEGER) = 1 | ORDER BY SiteTerms.sTermsLct DESC | LIMIT 1 |       "           #         #    + comustadmobilecoredbdaoSiteTermsDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoSiteTermsDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperfindSiteTermslibentitiesSiteTermslangCode_resultinsertAsyncsiteTermsreplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByUidAsyncuidfindAllTermsAsListFlowkotlinxflowFlowcollectionsListactiveOnlyIntasRepoFlowreplicateHttpRequestCatchAndLogSiteTermsDao/findAllTermsAsListFlowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponsefindAllTermsSiteTermsDao/findAllTermsfindAllWithLanguageAsListSiteTermsWithLanguageupsertListtermListupdateActiveByUidsTermsUidactiveBooleanchangeTimefindAvailableSiteTermLanguagesSiteTermsDao/findAvailableSiteTermLanguagesfindLatestByLanguagelanginsertListAsyncentityListupdateListAsyncINSTANCE_RECEIVER#    $  comustadmobilecoredbdaoStudentResultDaoDEFINEDkotlinUnitAnyinsertListAsynclistcollectionsListlibentitiesStudentResultupsertAsyncstudentResultfindByClazzAndStudentcompositesStudentResultAndCourseBlockSourcedIdclazzUidLongstudentPersonUidaccountPersonUidfindUidBySourcedIdsourcedIdStringexistsByUidBooleansrUidINSTANCE_RECEIVER@  "         $  comustadmobilecoredbdaoStudentResultDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoStudentResultDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsynclistcollectionsListlibentitiesStudentResult_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitsrLastModifiedEQutilsystemTimeInMillisLAMBDAGET_PROPERTYupsertAsyncstudentResultfindByClazzAndStudentcompositesStudentResultAndCourseBlockSourcedIdclazzUidstudentPersonUidaccountPersonUidfindUidBySourcedIdsourcedIdStringexistsByUidBooleansrUidINSTANCE_RECEIVER  " !          '"(   $                 comustadmobilecoredbdaoStudentResultDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitStudentResultDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterStudentResult_abortEntityInsertionAdapterlibentitiesStudentResultOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO StudentResult (srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongsrUidsetStringsrSourcedIdsrCourseBlockUidsrLineItemSourcedIdsrLineItemHrefsrClazzUidsrAssignmentUidsetIntsrStatussrMetaDatasrStudentPersonUidsrStudentPersonSourcedIdsrStudentGroupIdsrMarkerPersonUidsrMarkerGroupIdsrScoreStatussetFloatFloatsrScoresrScoreDatesrLastModifiedsrCommentsrAppIdsetBooleansrDeletedINSTANCE_RECEIVER_insertAdapterStudentResult_upsertINSERT OR REPLACE INTO StudentResult (srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)insertListAsynclistcollectionsListupsertAsyncstudentResultinsertAsyncfindByClazzAndStudentcompositesStudentResultAndCourseBlockSourcedIdclazzUidstudentPersonUidaccountPersonUidextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT StudentResult.*, | CourseBlock.cbSourcedId AS cbSourcedId | FROM StudentResult | LEFT JOIN CourseBlock | ON StudentResult.srCourseBlockUid = CourseBlock.cbUid | WHERE StudentResult.srClazzUid = CAST(? AS BIGINT) | AND StudentResult.srStudentPersonUid = CAST(? AS BIGINT) | AND CAST(? AS BIGINT) = CAST(? AS BIGINT) | | | SELECT StudentResult.*, | CourseBlock.cbSourcedId AS cbSourcedId | FROM StudentResult | LEFT JOIN CourseBlock | ON StudentResult.srCourseBlockUid = CourseBlock.cbUid | WHERE StudentResult.srClazzUid = ? | AND StudentResult.srStudentPersonUid = ? | AND ? = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_cbSourcedIdgetStringcbSourcedId_tmp_StudentResult_nullCount_tmp_srUidgetLongIFwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_srSourcedIdtmp1_tmp_srCourseBlockUidtmp2_tmp_srLineItemSourcedIdtmp3_tmp_srLineItemHreftmp4_tmp_srClazzUidtmp5_tmp_srAssignmentUidtmp6_tmp_srStatusgetInttmp7_tmp_srMetaDatatmp8_tmp_srStudentPersonUidtmp9_tmp_srStudentPersonSourcedIdtmp10_tmp_srStudentGroupIdtmp11_tmp_srMarkerPersonUidtmp12_tmp_srMarkerGroupIdtmp13_tmp_srScoreStatustmp14_tmp_srScoregetFloattmp15_tmp_srScoreDatetmp16_tmp_srLastModifiedtmp17_tmp_srCommenttmp18_tmp_srAppIdtmp19_tmp_srDeletedgetBooleantmp20_tmp_StudentResult_isAllNullinternalirEQEQapplyExtensionFunctionType$this$applyEQnotEXCLLAMBDAfindUidBySourcedIdsourcedId | | SELECT COALESCE( | (SELECT StudentResult.srUid | FROM StudentResult | WHERE srSourcedId = ?), 0) | mapNextRowexistsByUid | | SELECT EXISTS( | SELECT StudentResult.srUid | FROM StudentResult | WHERE StudentResult.srUid = CAST(? AS BIGINT)) | | | SELECT EXISTS( | SELECT StudentResult.srUid | FROM StudentResult | WHERE StudentResult.srUid = ?) | |l      "        $&          # comustadmobilecoredbdaoStudentResultDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoStudentResultDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertListAsynclistcollectionsListlibentitiesStudentResultreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupsertAsyncstudentResultfindByClazzAndStudentcompositesStudentResultAndCourseBlockSourcedIdclazzUidstudentPersonUidaccountPersonUidhttpreplicateHttpRequestCatchAndLogStudentResultDao/findByClazzAndStudentFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponse_resultfindUidBySourcedIdsourcedIdexistsByUidBooleansrUidINSTANCE_RECEIVER  comustadmobilecoredbdaoSyncNodeDaoDEFINEDkotlinUnitAnyreplacesyncNodedoorSyncNodegetLocalNodeClientIdLongINSTANCE_RECEIVERE   "   8 #     comustadmobilecoredbdaoSyncNodeDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitSyncNodeDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterSyncNode_upsertEntityInsertionAdapterSyncNodeOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO SyncNode (nodeClientId) VALUES(?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongnodeClientIdINSTANCE_RECEIVERreplacesyncNodeinsertgetLocalNodeClientIdextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT COALESCE( | (SELECT nodeClientId | FROM SyncNode | LIMIT 1), 0) | coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowitgetLongLAMBDA,    # - comustadmobilecoredbdaoSystemPermissionDaoDEFINEDkotlinUnitAnyfindAllByPersonUidcollectionsListlibentitiesSystemPermissionaccountPersonUidLongincludeDeletedBooleanfindAllByPersonUidEntitiesfindByPersonUidAsFlowkotlinxcoroutinesflowFlowfindByPersonUidpersonHasSystemPermissionpermissionpersonHasSystemPermissionAsFlowpersonHasSystemPermissionPairAsFlowcompositesPermissionPairfirstPermissionsecondPermissionpersonHasSystemPermissionPairpersonHasEditAndViewPermissionForPersonAsFlowEditAndViewPermissionotherPersonUidupsertAsyncsystemPermissionsINSTANCE_RECEIVERO  "      # -      comustadmobilecoredbdaoSystemPermissionDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoSystemPermissionDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingfindAllByPersonUidcollectionsListlibentitiesSystemPermissionaccountPersonUidLongincludeDeletedBooleanGET_PROPERTYfindAllByPersonUidEntitiesfindByPersonUidAsFlowkotlinxcoroutinesflowFlowfindByPersonUidpersonHasSystemPermissionpermissionpersonHasSystemPermissionAsFlowpersonHasSystemPermissionPairAsFlowcompositesPermissionPairfirstPermissionsecondPermissionpersonHasSystemPermissionPairpersonHasEditAndViewPermissionForPersonAsFlowEditAndViewPermissionotherPersonUidupsertAsyncsystemPermissions_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerrootDatabaseIFinternalirEQEQspUid_newPknextIdAsyncIntEQspLastModifiedutilsystemTimeInMillisINSTANCE_RECEIVER  " %      +            # e-comustadmobilecoredbdaoSystemPermissionDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitSystemPermissionDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterSystemPermission_upsertEntityInsertionAdapterlibentitiesSystemPermissionOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO SystemPermission (spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) VALUES(?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongspUidsetObjectIntsetLongspToPersonUidspToGroupUidspPermissionsFlagspLastModifiedsetBooleanspIsDeletedINSTANCE_RECEIVERupsertAsyncsystemPermissionsinsertAsyncfindAllByPersonUidcollectionsListaccountPersonUidincludeDeletedextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT SystemPermission.* | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (CAST(? AS INTEGER) = 1 OR NOT SystemPermission.spIsDeleted) | | | SELECT SystemPermission.* | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (CAST(? AS INTEGER) = 1 OR NOT SystemPermission.spIsDeleted) | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_spUidgetLong_tmp_spToPersonUid_tmp_spToGroupUid_tmp_spPermissionsFlag_tmp_spLastModified_tmp_spIsDeletedgetBooleanapplyExtensionFunctionType$this$applyEQLAMBDAfindAllByPersonUidEntities | | SELECT SystemPermission.* | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | | | SELECT SystemPermission.* | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | |findByPersonUidAsFlowkotlinxflowFlowdoorFlowArrayarrayOfSuspendFunction0 | | SELECT SystemPermission.* | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | LIMIT 1 | | | SELECT SystemPermission.* | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | LIMIT 1 | |mapNextRowfindByPersonUid | | SELECT SystemPermission.* | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | LIMIT 1 | | | SELECT SystemPermission.* | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | LIMIT 1 | |personHasSystemPermissionpermission | | SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | CAST(? AS BIGINT) | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | | | SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | ? | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | |personHasSystemPermissionAsFlow | | SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | CAST(? AS BIGINT) | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | | | SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | ? | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | |personHasSystemPermissionPairAsFlowcompositesPermissionPairfirstPermissionsecondPermission | | SELECT ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | CAST(? AS BIGINT) | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) as firstPermission, | ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | CAST(? AS BIGINT) | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) as secondPermission | | | SELECT ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | ? | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) as firstPermission, | ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | ? | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) as secondPermission | |_tmp_firstPermission_tmp_secondPermissionpersonHasSystemPermissionPair | | SELECT ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | CAST(? AS BIGINT) | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) as firstPermission, | ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | CAST(? AS BIGINT) | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) as secondPermission | | | SELECT ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | ? | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) as firstPermission, | ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | ? | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) as secondPermission | |personHasEditAndViewPermissionForPersonAsFlowEditAndViewPermissionotherPersonUidPersonParentJoinClazzEnrolmentCoursePermission | | /* Similar to the query used on list all persons, however it uses the the otherpersonuid param | * in the WHERE clauses to narrow down the search. | */ | WITH CanViewPersonUidsViaCoursePermission(personUid) AS | /* Select personUids that can be viewed based on CoursePermission given to the active | * user for their enrolment role in that course | */ | (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM ClazzEnrolment ClazzEnrolment_ForActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | WHERE CAST(? AS BIGINT) != 0 | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive | | UNION | /* Select personUids that can be viewed based on CoursePermission for the active user | where the CoursePermission is granted directly to them | */ | SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM CoursePermission | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | WHERE CAST(? AS BIGINT) != 0 | AND CoursePermission.cpToPersonUid = CAST(? AS BIGINT)) | | SELECT ( (SELECT CAST(? AS BIGINT) = CAST(? AS BIGINT)) | OR EXISTS(SELECT 1 | FROM PersonParentJoin | WHERE PersonParentJoin.ppjMinorPersonUid = CAST(? AS BIGINT) | AND PersonParentJoin.ppjParentPersonUid = CAST(? AS BIGINT)) | OR (SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (SELECT CAST(? AS BIGINT) IN | (SELECT CanViewPersonUidsViaCoursePermission.personUid | FROM CanViewPersonUidsViaCoursePermission)) | ) AS hasViewPermission, | | ( (SELECT CAST(? AS BIGINT) = CAST(? AS BIGINT)) | OR EXISTS(SELECT 1 | FROM PersonParentJoin | WHERE PersonParentJoin.ppjMinorPersonUid = CAST(? AS BIGINT) | AND PersonParentJoin.ppjParentPersonUid = CAST(? AS BIGINT)) | OR (SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 32768 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | ) AS hasEditPermission | | | /* Similar to the query used on list all persons, however it uses the the otherpersonuid param | * in the WHERE clauses to narrow down the search. | */ | WITH CanViewPersonUidsViaCoursePermission(personUid) AS | /* Select personUids that can be viewed based on CoursePermission given to the active | * user for their enrolment role in that course | */ | (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM ClazzEnrolment ClazzEnrolment_ForActiveUser | JOIN CoursePermission | ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid | AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole | AND (CoursePermission.cpPermissionsFlag & 8192) > 0 | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid = ? | WHERE ? != 0 | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive | | UNION | /* Select personUids that can be viewed based on CoursePermission for the active user | where the CoursePermission is granted directly to them | */ | SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid | FROM CoursePermission | JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember | ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid = ? | WHERE ? != 0 | AND CoursePermission.cpToPersonUid = ?) | | SELECT ( (SELECT ? = ?) | OR EXISTS(SELECT 1 | FROM PersonParentJoin | WHERE PersonParentJoin.ppjMinorPersonUid = ? | AND PersonParentJoin.ppjParentPersonUid = ?) | OR (SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 8192 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | OR (SELECT ? IN | (SELECT CanViewPersonUidsViaCoursePermission.personUid | FROM CanViewPersonUidsViaCoursePermission)) | ) AS hasViewPermission, | | ( (SELECT ? = ?) | OR EXISTS(SELECT 1 | FROM PersonParentJoin | WHERE PersonParentJoin.ppjMinorPersonUid = ? | AND PersonParentJoin.ppjParentPersonUid = ?) | OR (SELECT | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 32768 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | ) AS hasEditPermission | |_tmp_hasViewPermissionhasViewPermission_tmp_hasEditPermissionhasEditPermission~      "       )          # -3# 71-A comustadmobilecoredbdaoSystemPermissionDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoSystemPermissionDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperfindAllByPersonUidcollectionsListlibentitiesSystemPermissionaccountPersonUidincludeDeletedBoolean_resultfindAllByPersonUidEntitiesfindByPersonUidAsFlowkotlinxcoroutinesflowFlowasRepoFlowSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDAreplicateHttpRequestCatchAndLogSystemPermissionDao/findByPersonUidAsFlowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompanionLAMBDAreplicationonClientRepoDoorMessageHttpResponsefindByPersonUidpersonHasSystemPermissionpermissionSystemPermissionDao/personHasSystemPermissionpersonHasSystemPermissionAsFlowSystemPermissionDao/personHasSystemPermissionAsFlowpersonHasSystemPermissionPairAsFlowcompositesPermissionPairfirstPermissionsecondPermissionSystemPermissionDao/personHasSystemPermissionPairAsFlowpersonHasSystemPermissionPairSystemPermissionDao/personHasSystemPermissionPairpersonHasEditAndViewPermissionForPersonAsFlowEditAndViewPermissionotherPersonUidSystemPermissionDao/personHasEditAndViewPermissionForPersonAsFlowupsertAsyncsystemPermissionswithRepoChangeMonitorAsyncINSTANCE_RECEIVER*       % #comustadmobilecoredbdaoTransferJobDaoDEFINEDkotlinUnitAnyinsertLongjoblibentitiesTransferJobfindByUidjobUidIntfindByUidAsFlowkotlinxcoroutinesflowFlowupdateStatusstatusgetJobStatusupdateStatusIfCompletefindJobByEntityAndTableUidcollectionsListtableIdentityUidfindByContentEntryUidWithTotalsAsFlowcompositesTransferJobAndTotalscontentEntryUidjobTypefindOfflineItemUidForTransferJobUidINSTANCE_RECEIVER  "            %               b  % y    #comustadmobilecoredbdaoTransferJobDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitTransferJobDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterTransferJob_abortEntityInsertionAdapterlibentitiesTransferJobOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO TransferJob (tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQInttjUidsetObjectsetInttjTypetjStatussetStringtjNametjUuidtjTableIdsetLongLongtjEntityUidtjTimeCreatedtjCreationTypetjOiUidINSTANCE_RECEIVERinsertjob_retValinsertAndReturnIdAsyncfindByUidjobUidextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT TransferJob.* | FROM TransferJob | WHERE TransferJob.tjUid = ? | coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_tjUidgetInt_tmp_tjType_tmp_tjStatus_tmp_tjNamegetString_tmp_tjUuid_tmp_tjTableId_tmp_tjEntityUidgetLong_tmp_tjTimeCreated_tmp_tjCreationType_tmp_tjOiUidapplyExtensionFunctionType$this$applyEQLAMBDAfindByUidAsFlowkotlinxflowFlowdoorFlowArrayarrayOfSuspendFunction0 | | SELECT TransferJob.* | FROM TransferJob | WHERE TransferJob.tjUid = ? | updateStatusstatus | | UPDATE TransferJob | SET tjStatus = ? | WHERE tjUid = ? | executeUpdateAsyncKmpgetJobStatus | | SELECT COALESCE( | (SELECT TransferJob.tjStatus | FROM TransferJob | WHERE tjUid = ?), 0) | updateStatusIfComplete | | UPDATE TransferJob | SET tjStatus = 21 | WHERE tjUid = ? | AND NOT EXISTS( | SELECT TransferJobItem.tjiUid | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = ? | AND TransferJobItem.tjiStatus != 21) | findJobByEntityAndTableUidcollectionsListtableIdentityUid | | SELECT TransferJob.* | FROM TransferJob | WHERE EXISTS( | SELECT TransferJobItem.tjiUid | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid | AND TransferJobItem.tjiTableId = ? | AND TransferJobItem.tjiEntityUid = CAST(? AS BIGINT)) | | | SELECT TransferJob.* | FROM TransferJob | WHERE EXISTS( | SELECT TransferJobItem.tjiUid | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid | AND TransferJobItem.tjiTableId = ? | AND TransferJobItem.tjiEntityUid = ?) | |mapRowsfindByContentEntryUidWithTotalsAsFlowcompositesTransferJobAndTotalscontentEntryUidjobTypeContentEntryVersionTransferJobItemTransferJobError | | SELECT TransferJob.*, | | (SELECT SUM(TransferJobItem.tjTotalSize) | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid) AS totalSize, | (SELECT SUM(TransferJobItem.tjTransferred) | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid) AS transferred | , | TransferJobError.tjeErrorStr AS latestErrorStr | FROM TransferJob | LEFT JOIN TransferJobError | ON TransferJobError.tjeId = | (SELECT TransferJobError.tjeId | FROM TransferJobError | WHERE TransferJob.tjStatus = 22 | AND TransferJobError.tjeTjUid = TransferJob.tjUid | ORDER BY TransferJobError.tjeDismissed DESC | LIMIT 1) | WHERE TransferJob.tjTableId = 738 | AND TransferJob.tjEntityUid IN | | (SELECT ContentEntryVersion.cevUid | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = CAST(? AS BIGINT)) | | AND ( TransferJob.tjStatus < 21 | OR (TransferJobError.tjeErrorStr IS NOT NULL AND NOT TransferJobError.tjeDismissed)) | AND TransferJob.tjType = ? | | | SELECT TransferJob.*, | | (SELECT SUM(TransferJobItem.tjTotalSize) | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid) AS totalSize, | (SELECT SUM(TransferJobItem.tjTransferred) | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid) AS transferred | , | TransferJobError.tjeErrorStr AS latestErrorStr | FROM TransferJob | LEFT JOIN TransferJobError | ON TransferJobError.tjeId = | (SELECT TransferJobError.tjeId | FROM TransferJobError | WHERE TransferJob.tjStatus = 22 | AND TransferJobError.tjeTjUid = TransferJob.tjUid | ORDER BY TransferJobError.tjeDismissed DESC | LIMIT 1) | WHERE TransferJob.tjTableId = 738 | AND TransferJob.tjEntityUid IN | | (SELECT ContentEntryVersion.cevUid | FROM ContentEntryVersion | WHERE ContentEntryVersion.cevContentEntryUid = ?) | | AND ( TransferJob.tjStatus < 21 | OR (TransferJobError.tjeErrorStr IS NOT NULL AND NOT TransferJobError.tjeDismissed)) | AND TransferJob.tjType = ? | |_tmp_totalSizetotalSize_tmp_transferredtransferred_tmp_latestErrorStrlatestErrorStr_tmp_TransferJob_nullCountwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inctmp1tmp2tmp3tmp4tmp5tmp6tmp7tmp8tmp9_tmp_TransferJob_isAllNullnotEXCLtransferJobfindOfflineItemUidForTransferJobUid | | SELECT COALESCE( | (SELECT TransferJob.tjOiUid | FROM TransferJob | WHERE TransferJob.tjUid = ?), 0) |     comustadmobilecoredbdaoTransferJobErrorDaoDEFINEDkotlinUnitAnyinsertAsyncerrorlibentitiesTransferJobErrorfindByJobIdcollectionsListjobUidIntdismissErrorByJobIddismissedBooleanINSTANCE_RECEIVERn  " $  h   *             comustadmobilecoredbdaoTransferJobErrorDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitTransferJobErrorDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterTransferJobError_abortEntityInsertionAdapterlibentitiesTransferJobErrorOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO TransferJobError (tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed) VALUES(?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQInttjeIdsetObjectsetInttjeTjUidsetLongLongtjeTimesetStringtjeErrorStrsetBooleantjeDismissedINSTANCE_RECEIVERinsertAsyncerrorfindByJobIdcollectionsListjobUidextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT TransferJobError.* | FROM TransferJobError | WHERE TransferJobError.tjeTjUid = ? | coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_tjeIdgetInt_tmp_tjeTjUid_tmp_tjeTimegetLong_tmp_tjeErrorStrgetString_tmp_tjeDismissedgetBooleanapplyExtensionFunctionType$this$applyEQLAMBDAdismissErrorByJobIddismissed | | UPDATE TransferJobError | SET tjeDismissed = ? | WHERE TransferJobError.tjeTjUid = ? | executeUpdateAsyncKmp,     1 $  comustadmobilecoredbdaoTransferJobItemDaoDEFINEDkotlinUnitAnyinsertListitemscollectionsListlibentitiesTransferJobIteminsertLongitemfindByJobUidjobUidIntfindPendingByJobUidupdateTransferredProgressjobItemUidtransferredupdateStatusstatusinsertOutgoingReplicationForTransferJobItemIfDonedestNodeIdtransferJobItemUidupdateStatusIfNotCompleteForAllInJobfindNumberJobItemsNotCompletefindByEntityUidListkotlinxcoroutinesflowFlowentityUidListtableIdINSTANCE_RECEIVER  " #            )              1 $    comustadmobilecoredbdaoTransferJobItemDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitTransferJobItemDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterTransferJobItem_abortEntityInsertionAdapterlibentitiesTransferJobItemOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO TransferJobItem (tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQInttjiUidsetObjectsetInttjiTjUidsetLongLongtjTotalSizetjTransferredtjAttemptCountsetStringtjiSrctjiDesttjiTypetjiStatustjiTableIdtjiEntityUidtjiEntityEtagtjiLockIdToReleasetjiPartialTmpFileINSTANCE_RECEIVERinsertListitemscollectionsListinsertListAsyncinsertitem_retValinsertAndReturnIdAsyncfindByJobUidjobUidextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT TransferJobItem.* | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = ? | coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_tjiUidgetInt_tmp_tjiTjUid_tmp_tjTotalSizegetLong_tmp_tjTransferred_tmp_tjAttemptCount_tmp_tjiSrcgetString_tmp_tjiDest_tmp_tjiType_tmp_tjiStatus_tmp_tjiTableId_tmp_tjiEntityUid_tmp_tjiEntityEtag_tmp_tjiLockIdToRelease_tmp_tjiPartialTmpFileapplyExtensionFunctionType$this$applyEQLAMBDAfindPendingByJobUid | | SELECT TransferJobItem.* | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = ? | AND TransferJobItem.tjiStatus < 21 | updateTransferredProgressjobItemUidtransferred | | UPDATE TransferJobItem | SET tjTransferred = CAST(? AS BIGINT) | WHERE tjiUid = ? | | | UPDATE TransferJobItem | SET tjTransferred = ? | WHERE tjiUid = ? | |executeUpdateAsyncKmpupdateStatusstatus | | UPDATE TransferJobItem | SET tjiStatus = ? | WHERE tjiUid = ? | insertOutgoingReplicationForTransferJobItemIfDonedestNodeIdtransferJobItemUid | | INSERT INTO OutgoingReplication(destNodeId, orTableId, orPk1, orPk2) | SELECT CAST(? AS BIGINT) AS destNodeId, | TransferJobItem.tjiTableId AS orTableId, | TransferJobItem.tjiEntityUid AS orPk1, | 0 AS orPk2 | FROM TransferJobItem | WHERE TransferJobItem.tjiUid = ? | AND TransferJobItem.tjiTableId != 0 | AND TransferJobItem.tjiStatus = 21 | AND NOT EXISTS( | SELECT OtherJob.tjiUid | FROM TransferJobItem OtherJob | WHERE OtherJob.tjiTableId = TransferJobItem.tjiTableId | AND OtherJob.tjiEntityUid = TransferJobItem.tjiEntityUid | AND OtherJob.tjiEntityEtag = TransferJobItem.tjiEntityEtag | AND OtherJob.tjiStatus != 21) | | | INSERT INTO OutgoingReplication(destNodeId, orTableId, orPk1, orPk2) | SELECT ? AS destNodeId, | TransferJobItem.tjiTableId AS orTableId, | TransferJobItem.tjiEntityUid AS orPk1, | 0 AS orPk2 | FROM TransferJobItem | WHERE TransferJobItem.tjiUid = ? | AND TransferJobItem.tjiTableId != 0 | AND TransferJobItem.tjiStatus = 21 | AND NOT EXISTS( | SELECT OtherJob.tjiUid | FROM TransferJobItem OtherJob | WHERE OtherJob.tjiTableId = TransferJobItem.tjiTableId | AND OtherJob.tjiEntityUid = TransferJobItem.tjiEntityUid | AND OtherJob.tjiEntityEtag = TransferJobItem.tjiEntityEtag | AND OtherJob.tjiStatus != 21) | |updateStatusIfNotCompleteForAllInJob | | UPDATE TransferJobItem | SET tjiStatus = ? | WHERE tjiTjUid = ? | AND tjiStatus != 21 | findNumberJobItemsNotComplete | | SELECT COUNT(*) | FROM TransferJobItem | WHERE TransferJobItem.tjiTjUid = ? | AND TransferjobItem.tjiStatus != 21 | mapNextRowfindByEntityUidListkotlinxflowFlowentityUidListtableIddoorFlowArrayarrayOfSuspendFunction0 | | SELECT TransferJobItem.* | FROM TransferJobItem | WHERE TransferJobItem.tjiTableId = ? | AND TransferJobItem.tjiEntityUid IN (?) | setArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArray3           !comustadmobilecoredbdaoUserSessionDaoDEFINEDkotlinUnitAnyinsertSessionLongsessionlibentitiesUserSessionfindSessionsByPersoncollectionsListpersonUidfindAllLocalSessionsLivekotlinxcoroutinesflowFlowUserSessionAndPersonfindAllLocalSessionsAsyncfindLocalSessionByUsernameusernameStringcountAllLocalSessionsAsyncIntmaxDateOfBirthendSessionsessionUidnewStatusreasonendTimefindByUidLiveendOtherSessionsexemptNodeIdchangeTimefindActiveNodeIdsByPersonUidspersonUidsfindActiveNodesIdsByGroupUidsgroupUidscountActiveSessionsForUserAndNodenodeIdINSTANCE_RECEIVERV  "                !comustadmobilecoredbdaoUserSessionDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoUserSessionDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertSessionLongsessionlibentitiesUserSession_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQusUid_newPknextIdAsyncIntEQusLctutilsystemTimeInMillisfindSessionsByPersoncollectionsListpersonUidfindAllLocalSessionsLivekotlinxcoroutinesflowFlowUserSessionAndPersonfindAllLocalSessionsAsyncfindLocalSessionByUsernameusernameStringcountAllLocalSessionsAsyncmaxDateOfBirthendSessionsessionUidnewStatusreasonendTimefindByUidLiveendOtherSessionsexemptNodeIdchangeTimefindActiveNodeIdsByPersonUidspersonUidsfindActiveNodesIdsByGroupUidsgroupUidscountActiveSessionsForUserAndNodenodeIdINSTANCE_RECEIVERX  "             %    }                                       a K  T    C!comustadmobilecoredbdaoUserSessionDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitUserSessionDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterUserSession_abortEntityInsertionAdapterlibentitiesUserSessionOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO UserSession (usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongusUidsetObjectIntsetLongusPcsnusLcsnusLcbusLctusPersonUidusClientNodeIdusStartTimeusEndTimesetIntusStatususReasonsetStringusAuthusSessionTypeINSTANCE_RECEIVERinsertSessionsession_retValinsertAndReturnIdAsyncfindSessionsByPersoncollectionsListpersonUidextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT UserSession.* | FROM UserSession | WHERE usPersonUid = CAST(? AS BIGINT) | | | SELECT UserSession.* | FROM UserSession | WHERE usPersonUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_usUidgetLong_tmp_usPcsn_tmp_usLcsn_tmp_usLcb_tmp_usLct_tmp_usPersonUid_tmp_usClientNodeId_tmp_usStartTime_tmp_usEndTime_tmp_usStatusgetInt_tmp_usReason_tmp_usAuthgetString_tmp_usSessionTypeapplyExtensionFunctionType$this$applyEQLAMBDAfindAllLocalSessionsLivekotlinxflowFlowUserSessionAndPersondoorFlowArrayarrayOfPersonPersonPictureSyncNodeSuspendFunction0 | | SELECT UserSession.*, Person.*, PersonPicture.* | FROM UserSession | JOIN Person | ON Person.personUid = UserSession.usPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = UserSession.usPersonUid | WHERE UserSession.usClientNodeId = ( | SELECT COALESCE( | (SELECT nodeClientId | FROM SyncNode | LIMIT 1), 0)) | AND UserSession.usStatus = 1 | AND (UserSession.usSessionType & 8) != 8 | _tmp_Person_nullCount_tmp_personUidwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inc_tmp_usernameusernametmp1_tmp_firstNamesfirstNamestmp2_tmp_lastNamelastNametmp3_tmp_emailAddremailAddrtmp4_tmp_phoneNumphoneNumtmp5_tmp_gendergendertmp6_tmp_activegetBooleanactivetmp7_tmp_dateOfBirthdateOfBirthtmp8_tmp_personAddresspersonAddresstmp9_tmp_personOrgIdpersonOrgIdtmp10_tmp_personGroupUidpersonGroupUidtmp11_tmp_personLctpersonLcttmp12_tmp_personCountrypersonCountrytmp13_tmp_personTypepersonTypetmp14_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNumtmp15_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNumtmp16_tmp_personLastChangedBypersonLastChangedBytmp17_tmp_adminadmintmp18_tmp_personNotespersonNotestmp19_tmp_fatherNamefatherNametmp20_tmp_fatherNumberfatherNumbertmp21_tmp_motherNamemotherNametmp22_tmp_motherNummotherNumtmp23_tmp_Person_isAllNull_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUidtmp24_tmp_personPictureLctpersonPictureLcttmp25_tmp_personPictureUripersonPictureUritmp26_tmp_personPictureThumbnailUripersonPictureThumbnailUritmp27_tmp_fileSizefileSizetmp28_tmp_personPictureActivepersonPictureActivetmp29_tmp_PersonPicture_isAllNull_tmp_UserSession_nullCounttmp30tmp31tmp32tmp33tmp34tmp35tmp36tmp37tmp38tmp39tmp40tmp41tmp42_tmp_UserSession_isAllNullnotEXCLpersonpersonPictureuserSessionfindAllLocalSessionsAsync | | SELECT UserSession.*, Person.*, PersonPicture.* | FROM UserSession | JOIN Person | ON Person.personUid = UserSession.usPersonUid | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = UserSession.usPersonUid | WHERE UserSession.usClientNodeId = ( | SELECT COALESCE( | (SELECT nodeClientId | FROM SyncNode | LIMIT 1), 0)) | AND UserSession.usStatus = 1 | AND (UserSession.usSessionType & 8) != 8 | findLocalSessionByUsername | | SELECT UserSession.*, Person.* | FROM UserSession | JOIN Person ON UserSession.usPersonUid = Person.personUid | WHERE Person.username = ? | AND UserSession.usClientNodeId = ( | SELECT COALESCE( | (SELECT nodeClientId | FROM SyncNode | LIMIT 1), 0)) | AND UserSession.usStatus = 1 | mapNextRowcountAllLocalSessionsAsyncmaxDateOfBirth | | SELECT COUNT(*) | FROM UserSession | JOIN Person | ON UserSession.usPersonUid = Person.personUid | WHERE UserSession.usClientNodeId = ( | SELECT COALESCE( | (SELECT nodeClientId | FROM SyncNode | LIMIT 1), 0)) | AND UserSession.usStatus = 1 | AND (CAST(? AS BIGINT) = 0 OR Person.dateOfBirth < CAST(? AS BIGINT)) | AND (UserSession.usSessionType & 8) != 8 | | | SELECT COUNT(*) | FROM UserSession | JOIN Person | ON UserSession.usPersonUid = Person.personUid | WHERE UserSession.usClientNodeId = ( | SELECT COALESCE( | (SELECT nodeClientId | FROM SyncNode | LIMIT 1), 0)) | AND UserSession.usStatus = 1 | AND (? = 0 OR Person.dateOfBirth < ?) | AND (UserSession.usSessionType & 8) != 8 | |endSessionsessionUidnewStatusreasonendTime | | UPDATE UserSession | SET usAuth = null, | usStatus = ?, | usReason = ?, | usEndTime = CAST(? AS BIGINT), | usLct = CAST(? AS BIGINT) | WHERE UserSession.usUid = CAST(? AS BIGINT) | | | UPDATE UserSession | SET usAuth = null, | usStatus = ?, | usReason = ?, | usEndTime = ?, | usLct = ? | WHERE UserSession.usUid = ? | |executeUpdateAsyncKmpfindByUidLive | | SELECT UserSession.* | FROM UserSession | WHERE UserSession.usUid = CAST(? AS BIGINT) | LIMIT 1 | | | SELECT UserSession.* | FROM UserSession | WHERE UserSession.usUid = ? | LIMIT 1 | |endOtherSessionsexemptNodeIdchangeTime | | UPDATE UserSession | SET usAuth = null, | usStatus = ?, | usReason = ?, | usLct = CAST(? AS BIGINT) | WHERE usPersonUid = CAST(? AS BIGINT) | AND usClientNodeId != CAST(? AS BIGINT) | AND usStatus != ? | | | UPDATE UserSession | SET usAuth = null, | usStatus = ?, | usReason = ?, | usLct = ? | WHERE usPersonUid = ? | AND usClientNodeId != ? | AND usStatus != ? | |findActiveNodeIdsByPersonUidspersonUids | | SELECT DISTINCT UserSession.usClientNodeId | FROM UserSession | WHERE UserSession.usPersonUid IN (?) | AND UserSession.usStatus = 1 | setArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArrayfindActiveNodesIdsByGroupUidsgroupUids | | SELECT DISTINCT UserSession.usClientNodeId | FROM UserSession | JOIN PersonGroupMember | ON PersonGroupMember.groupMemberPersonUid = UserSession.usPersonUid | WHERE PersonGroupMember.groupMemberGroupUid IN (?) | countActiveSessionsForUserAndNodenodeId | | SELECT COUNT(*) | FROM UserSession | WHERE UserSession.usPersonUid = CAST(? AS BIGINT) | AND UserSession.usStatus = 1 | AND UserSession.usClientNodeId = CAST(? AS BIGINT) | | | SELECT COUNT(*) | FROM UserSession | WHERE UserSession.usPersonUid = ? | AND UserSession.usStatus = 1 | AND UserSession.usClientNodeId = ? | |Y      "              !comustadmobilecoredbdaoUserSessionDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoUserSessionDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertSessionsessionlibentitiesUserSession_resultreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindSessionsByPersoncollectionsListpersonUidfindAllLocalSessionsLivekotlinxflowFlowUserSessionAndPersonfindAllLocalSessionsAsyncfindLocalSessionByUsernameusernamecountAllLocalSessionsAsyncIntmaxDateOfBirthendSessionsessionUidnewStatusreasonendTimefindByUidLiveendOtherSessionsexemptNodeIdchangeTimefindActiveNodeIdsByPersonUidspersonUidsfindActiveNodesIdsByGroupUidsgroupUidscountActiveSessionsForUserAndNodenodeIdINSTANCE_RECEIVER!    comustadmobilecoredbdaoxapiActivityEntityDaoDEFINEDkotlinUnitAnyinsertOrIgnoreAsyncentitiescollectionsListlibActivityEntityupdateIfMoreInfoChangedactivityUidLongactMoreInfoStringactLctupdateIfNotYetDefinedactUidactTypeactInteractionTypeIntactCorrectResponsePatternsfindByUidAsyncINSTANCE_RECEIVER=  "          comustadmobilecoredbdaoxapiActivityEntityDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoActivityEntityDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreAsyncentitiescollectionsListlibActivityEntity_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitactLctEQutilsystemTimeInMillisLAMBDAGET_PROPERTYupdateIfMoreInfoChangedactivityUidactMoreInfoStringupdateIfNotYetDefinedactUidactTypeactInteractionTypeIntactCorrectResponsePatternsfindByUidAsyncINSTANCE_RECEIVERt  " #      )             comustadmobilecoredbdaoxapiActivityEntityDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitActivityEntityDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterActivityEntity_ignoreEntityInsertionAdapterlibentitiesActivityEntityOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR IGNORE INTO ActivityEntity (actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) VALUES(?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongactUidsetStringactIdIriactTypeactMoreInfosetIntactInteractionTypeactCorrectResponsePatternsactLctINSTANCE_RECEIVERinsertOrIgnoreAsynccollectionsListinsertListAsyncupdateIfMoreInfoChangedactivityUidextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | UPDATE ActivityEntity | SET actMoreInfo = ?, | actLct = CAST(? AS BIGINT) | WHERE actUid = CAST(? AS BIGINT) | AND actMoreInfo != ? | | | UPDATE ActivityEntity | SET actMoreInfo = ?, | actLct = ? | WHERE actUid = ? | AND actMoreInfo != ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAupdateIfNotYetDefined | | UPDATE ActivityEntity | SET actType = ?, | actMoreInfo = ?, | actInteractionType = ?, | actCorrectResponsePatterns = ?, | actLct = CAST(? AS BIGINT) | WHERE actUid = CAST(? AS BIGINT) | AND (SELECT ActivityEntityInternal.actType | FROM ActivityEntity ActivityEntityInternal | WHERE ActivityEntityInternal.actUid = CAST(? AS BIGINT)) IS NULL | AND (SELECT ActivityEntityInternal.actInteractionType | FROM ActivityEntity ActivityEntityInternal | WHERE ActivityEntityInternal.actUid = CAST(? AS BIGINT)) = 0 | AND (SELECT ActivityEntityInternal.actCorrectResponsePatterns | FROM ActivityEntity ActivityEntityInternal | WHERE ActivityEntityInternal.actUid = CAST(? AS BIGINT)) IS NULL | | | UPDATE ActivityEntity | SET actType = ?, | actMoreInfo = ?, | actInteractionType = ?, | actCorrectResponsePatterns = ?, | actLct = ? | WHERE actUid = ? | AND (SELECT ActivityEntityInternal.actType | FROM ActivityEntity ActivityEntityInternal | WHERE ActivityEntityInternal.actUid = ?) IS NULL | AND (SELECT ActivityEntityInternal.actInteractionType | FROM ActivityEntity ActivityEntityInternal | WHERE ActivityEntityInternal.actUid = ?) = 0 | AND (SELECT ActivityEntityInternal.actCorrectResponsePatterns | FROM ActivityEntity ActivityEntityInternal | WHERE ActivityEntityInternal.actUid = ?) IS NULL | |findByUidAsync | | SELECT ActivityEntity.* | FROM ActivityEntity | WHERE ActivityEntity.actUid = CAST(? AS BIGINT) | | | SELECT ActivityEntity.* | FROM ActivityEntity | WHERE ActivityEntity.actUid = ? | |useResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_actUidgetLong_tmp_actIdIrigetString_tmp_actType_tmp_actMoreInfo_tmp_actInteractionTypegetInt_tmp_actCorrectResponsePatterns_tmp_actLctapplyExtensionFunctionType$this$applyEQH      "       comustadmobilecoredbdaoxapiActivityEntityDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoActivityEntityDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreAsyncentitiescollectionsListlibActivityEntityreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupdateIfMoreInfoChangedactivityUidactMoreInfoactLctupdateIfNotYetDefinedactUidactTypeactInteractionTypeIntactCorrectResponsePatternsfindByUidAsync_resultINSTANCE_RECEIVER   comustadmobilecoredbdaoxapiActivityExtensionDaoDEFINEDkotlinUnitAnyupsertListAsynclistcollectionsListlibentitiesActivityExtensionEntityfindAllByActivityUidactivityUidLongINSTANCE_RECEIVER5   "          comustadmobilecoredbdaoxapiActivityExtensionDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoActivityExtensionDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertListAsynclistcollectionsListlibentitiesActivityExtensionEntity_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitaeeLastModEQutilsystemTimeInMillisLAMBDAGET_PROPERTYfindAllByActivityUidactivityUidINSTANCE_RECEIVERj  " ,       2          comustadmobilecoredbdaoxapiActivityExtensionDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitActivityExtensionDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterActivityExtensionEntity_upsertEntityInsertionAdapterlibentitiesActivityExtensionEntityOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO ActivityExtensionEntity (aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted) VALUES(?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongaeeActivityUidaeeKeyHashsetStringaeeKeyaeeJsonaeeLastModsetBooleanaeeIsDeletedINSTANCE_RECEIVERupsertListAsynclistcollectionsListinsertListAsyncfindAllByActivityUidactivityUidextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT ActivityExtensionEntity.* | FROM ActivityExtensionEntity | WHERE ActivityExtensionEntity.aeeActivityUid = CAST(? AS BIGINT) | | | SELECT ActivityExtensionEntity.* | FROM ActivityExtensionEntity | WHERE ActivityExtensionEntity.aeeActivityUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_aeeActivityUidgetLong_tmp_aeeKeyHash_tmp_aeeKeygetString_tmp_aeeJson_tmp_aeeLastMod_tmp_aeeIsDeletedgetBooleanapplyExtensionFunctionType$this$applyEQLAMBDA@      "       comustadmobilecoredbdaoxapiActivityExtensionDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoActivityExtensionDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertListAsynclistcollectionsListlibentitiesActivityExtensionEntityreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindAllByActivityUidactivityUid_resultINSTANCE_RECEIVER  ,  comustadmobilecoredbdaoxapiActivityInteractionDaoDEFINEDkotlinUnitAnyinsertOrIgnoreAsyncentitiescollectionsListlibActivityInteractionEntityfindActivityUidsWithInteractionEntitiesAsyncLongactivityUidsfindAllByActivityUidAsyncactivityUidINSTANCE_RECEIVER6 " "         ,  comustadmobilecoredbdaoxapiActivityInteractionDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoActivityInteractionDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreAsyncentitiescollectionsListlibActivityInteractionEntity_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitaieLastModEQutilsystemTimeInMillisLAMBDAGET_PROPERTYfindActivityUidsWithInteractionEntitiesAsyncactivityUidsfindAllByActivityUidAsyncactivityUidINSTANCE_RECEIVERu  " .      4 ,            comustadmobilecoredbdaoxapiActivityInteractionDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitActivityInteractionDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterActivityInteractionEntity_ignoreEntityInsertionAdapterlibentitiesActivityInteractionEntityOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR IGNORE INTO ActivityInteractionEntity (aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted) VALUES(?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongaieActivityUidaieHashsetIntaiePropsetStringaieIdaieLastModsetBooleanaieIsDeletedINSTANCE_RECEIVERinsertOrIgnoreAsynccollectionsListinsertListAsyncfindActivityUidsWithInteractionEntitiesAsyncactivityUidsextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT DISTINCT ActivityInteractionEntity.aieActivityUid | FROM ActivityInteractionEntity | WHERE ActivityInteractionEntity.aieActivityUid IN (?) | coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtsetArrayArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArrayuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsitgetLongLAMBDAfindAllByActivityUidAsyncactivityUid | | SELECT ActivityInteractionEntity.* | FROM ActivityInteractionEntity | WHERE ActivityInteractionEntity.aieActivityUid = CAST(? AS BIGINT) | | | SELECT ActivityInteractionEntity.* | FROM ActivityInteractionEntity | WHERE ActivityInteractionEntity.aieActivityUid = ? | |_tmp_aieActivityUid_tmp_aieHash_tmp_aiePropgetInt_tmp_aieIdgetString_tmp_aieLastMod_tmp_aieIsDeletedgetBooleanapplyExtensionFunctionType$this$applyEQA      "      ,  comustadmobilecoredbdaoxapiActivityInteractionDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoActivityInteractionDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreAsyncentitiescollectionsListlibActivityInteractionEntityreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindActivityUidsWithInteractionEntitiesAsyncactivityUids_resultfindAllByActivityUidAsyncactivityUidINSTANCE_RECEIVER!      comustadmobilecoredbdaoxapiActivityLangMapEntryDaoDEFINEDkotlinUnitAnyupsertListentitiescollectionsListlibActivityLangMapEntryupsertIfInteractionEntityExistsalmeActivityUidLongalmeHashalmePropNameStringalmeLangCodealmeValuealmeAieHashalmeLastModupdateIfChangedfindAllByActivityUidactivityUidINSTANCE_RECEIVER= # "            comustadmobilecoredbdaoxapiActivityLangMapEntryDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoActivityLangMapEntryDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertListentitiescollectionsListlibActivityLangMapEntry_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitalmeLastModEQutilsystemTimeInMillisLAMBDAGET_PROPERTYupsertIfInteractionEntityExistsalmeActivityUidalmeHashalmePropNameStringalmeLangCodealmeValuealmeAieHashupdateIfChangedfindAllByActivityUidactivityUidINSTANCE_RECEIVERr   " )       /  L  :      comustadmobilecoredbdaoxapiActivityLangMapEntryDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitActivityLangMapEntryDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterActivityLangMapEntry_upsertEntityInsertionAdapterlibentitiesActivityLangMapEntryOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO ActivityLangMapEntry (almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod) VALUES(?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongalmeActivityUidalmeHashsetStringalmeLangCodealmePropNamealmeValuealmeAieHashalmeLastModINSTANCE_RECEIVERupsertListcollectionsListinsertListAsyncupsertIfInteractionEntityExistsextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | INSERT OR REPLACE | INTO ActivityLangMapEntry(almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod) | SELECT CAST(? AS BIGINT) AS almeActivityUid, | CAST(? AS BIGINT) AS almeHash, | ? AS almeLangCode, | ? AS almePropName, | ? AS almeValue, | CAST(? AS BIGINT) AS almeAieHash, | CAST(? AS BIGINT) AS almeLastMod | WHERE EXISTS(SELECT 1 | FROM ActivityInteractionEntity | WHERE ActivityInteractionEntity.aieActivityUid = CAST(? AS BIGINT) | AND ActivityInteractionEntity.aieHash = CAST(? AS BIGINT)) | | | | INSERT | INTO ActivityLangMapEntry(almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod) | SELECT ? AS almeActivityUid, | ? AS almeHash, | ? AS almeLangCode, | ? AS almePropName, | ? AS almeValue, | ? AS almeAieHash, | ? AS almeLastMod | WHERE EXISTS(SELECT 1 | FROM ActivityInteractionEntity | WHERE ActivityInteractionEntity.aieActivityUid = ? | AND ActivityInteractionEntity.aieHash = ?) | | ON CONFLICT(almeActivityUid, almeHash) DO UPDATE | SET almeValue = EXCLUDED.almeValue, | almeLastMod = EXCLUDED.almeLastMod | coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAupdateIfChanged | | UPDATE ActivityLangMapEntry | SET almeValue = ?, | almeLastMod = CAST(? AS BIGINT) | WHERE almeActivityUid = CAST(? AS BIGINT) | AND almeHash = CAST(? AS BIGINT) | AND almeValue != ? | | | UPDATE ActivityLangMapEntry | SET almeValue = ?, | almeLastMod = ? | WHERE almeActivityUid = ? | AND almeHash = ? | AND almeValue != ? | |findAllByActivityUidactivityUid | | SELECT ActivityLangMapEntry.* | FROM ActivityLangMapEntry | WHERE ActivityLangMapEntry.almeActivityUid = CAST(? AS BIGINT) | | | SELECT ActivityLangMapEntry.* | FROM ActivityLangMapEntry | WHERE ActivityLangMapEntry.almeActivityUid = ? | |useResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_almeActivityUidgetLong_tmp_almeHash_tmp_almeLangCodegetString_tmp_almePropName_tmp_almeValue_tmp_almeAieHash_tmp_almeLastModapplyExtensionFunctionType$this$applyEQj      "         ,          #comustadmobilecoredbdaoxapiActivityLangMapEntryDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoActivityLangMapEntryDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertListentitiescollectionsListlibActivityLangMapEntryreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupsertIfInteractionEntityExistsalmeActivityUidalmeHashalmePropNamealmeLangCodealmeValuealmeAieHashalmeLastModupdateIfChangedfindAllByActivityUidactivityUidhttpreplicateHttpRequestCatchAndLogActivityLangMapEntryDao/findAllByActivityUidFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponse_resultINSTANCE_RECEIVER%      comustadmobilecoredbdaoxapiActorDaoDEFINEDkotlinUnitAnyinsertOrIgnoreListAsyncentitiescollectionsListlibActorEntityupsertListAsyncupdateIfNameChangeduidLongnameStringupdateTimefindByUidAsyncfindByUidAndPersonUidAsyncactorUidaccountPersonUidfindUidAndEtagByListAsynccompositesActorUidEtagAndLastModuidListfindGroupMembersgroupActorUidINSTANCE_RECEIVERU  "              comustadmobilecoredbdaoxapiActorDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoActorDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreListAsyncentitiescollectionsListlibActorEntity_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabase_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitIFBooleaninternalirEQEQactorUid_newPknextIdAsyncIntEQplusAssignPLUSEQactorLctutilsystemTimeInMillisLAMBDAupsertListAsyncupdateIfNameChangeduidnameStringupdateTimefindByUidAsyncfindByUidAndPersonUidAsyncaccountPersonUidfindUidAndEtagByListAsynccompositesActorUidEtagAndLastModuidListfindGroupMembersgroupActorUidINSTANCE_RECEIVER  "          & &               pQcomustadmobilecoredbdaoxapiActorDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitActorDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterActorEntity_ignoreEntityInsertionAdapterlibentitiesActorEntityOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR IGNORE INTO ActorEntity (actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongactorUidsetObjectIntsetLongactorPersonUidsetStringactorNameactorMboxactorMbox_sha1sumactorOpenidactorAccountNameactorAccountHomePageactorEtagactorLctsetIntactorObjectTypeINSTANCE_RECEIVER_insertAdapterActorEntity_upsertINSERT OR REPLACE INTO ActorEntity (actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)insertOrIgnoreListAsynccollectionsListinsertListAsyncupsertListAsyncupdateIfNameChangeduidnameupdateTimeextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | UPDATE ActorEntity | SET actorName = ?, | actorLct = CAST(? AS BIGINT) | WHERE actorUid = CAST(? AS BIGINT) | AND ActorEntity.actorName != ? | | | UPDATE ActorEntity | SET actorName = ?, | actorLct = ? | WHERE actorUid = ? | AND ActorEntity.actorName != ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAfindByUidAsync | | SELECT ActorEntity.* | FROM ActorEntity | WHERE ActorEntity.actorUid = CAST(? AS BIGINT) | | | SELECT ActorEntity.* | FROM ActorEntity | WHERE ActorEntity.actorUid = ? | |useResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_actorUidgetLong_tmp_actorPersonUid_tmp_actorNamegetString_tmp_actorMbox_tmp_actorMbox_sha1sum_tmp_actorOpenid_tmp_actorAccountName_tmp_actorAccountHomePage_tmp_actorEtag_tmp_actorLct_tmp_actorObjectTypegetIntapplyExtensionFunctionType$this$applyEQfindByUidAndPersonUidAsyncaccountPersonUid | | SELECT ActorEntity.* | FROM ActorEntity | WHERE ActorEntity.actorUid = CAST(? AS BIGINT) | AND ActorEntity.actorPersonUid = CAST(? AS BIGINT) | | | SELECT ActorEntity.* | FROM ActorEntity | WHERE ActorEntity.actorUid = ? | AND ActorEntity.actorPersonUid = ? | |findUidAndEtagByListAsynccompositesActorUidEtagAndLastModuidList | | SELECT ActorEntity.actorUid, ActorEntity.actorEtag, ActorEntity.actorLct | FROM ActorEntity | WHERE ActorEntity.actorUid IN (?) | setArrayArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArraymapRowsfindGroupMembersgroupActorUid | | SELECT ActorEntity.* | FROM ActorEntity | WHERE ActorEntity.actorUid IN ( | SELECT GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = CAST(? AS BIGINT) | AND GroupMemberActorJoin.gmajLastMod = ( | SELECT GroupActorEntity.actorLct | FROM ActorEntity GroupActorEntity | WHERE GroupActorEntity.actorUid = CAST(? AS BIGINT)) | ) | | | SELECT ActorEntity.* | FROM ActorEntity | WHERE ActorEntity.actorUid IN ( | SELECT GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = ? | AND GroupMemberActorJoin.gmajLastMod = ( | SELECT GroupActorEntity.actorLct | FROM ActorEntity GroupActorEntity | WHERE GroupActorEntity.actorUid = ?) | ) | |L       "         comustadmobilecoredbdaoxapiActorDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoActorDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreListAsyncentitiescollectionsListlibActorEntityreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupsertListAsyncupdateIfNameChangeduidnameupdateTimefindByUidAsync_resultfindByUidAndPersonUidAsyncactorUidaccountPersonUidfindUidAndEtagByListAsynccompositesActorUidEtagAndLastModuidListfindGroupMembersgroupActorUidINSTANCE_RECEIVER  # comustadmobilecoredbdaoxapiGroupMemberActorJoinDaoDEFINEDkotlinUnitAnyinsertOrIgnoreListAsyncentitiescollectionsListlibGroupMemberActorJoinupsertListAsyncupdateLastModifiedTimeIfNeededAsyncgmajGroupActorUidLonggmajMemberActorUidlastModTimeINSTANCE_RECEIVER7 # "         # comustadmobilecoredbdaoxapiGroupMemberActorJoinDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoGroupMemberActorJoinDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreListAsyncentitiescollectionsListlibGroupMemberActorJoin_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitgmajLastModEQutilsystemTimeInMillisLAMBDAGET_PROPERTYupsertListAsyncupdateLastModifiedTimeIfNeededAsyncgmajGroupActorUidgmajMemberActorUidlastModTimeINSTANCE_RECEIVERL   " )  p /)p/ #  -  comustadmobilecoredbdaoxapiGroupMemberActorJoinDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitGroupMemberActorJoinDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterGroupMemberActorJoin_ignoreEntityInsertionAdapterlibentitiesGroupMemberActorJoinOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR IGNORE INTO GroupMemberActorJoin (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) VALUES(?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLonggmajGroupActorUidgmajMemberActorUidgmajLastModINSTANCE_RECEIVER_insertAdapterGroupMemberActorJoin_upsertINSERT OR REPLACE INTO GroupMemberActorJoin (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) VALUES(?, ?, ?)insertOrIgnoreListAsynccollectionsListinsertListAsyncupsertListAsyncupdateLastModifiedTimeIfNeededAsynclastModTimeextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | UPDATE GroupMemberActorJoin | SET gmajLastMod = CAST(? AS BIGINT) | WHERE gmajGroupActorUid = CAST(? AS BIGINT) | AND gmajMemberActorUid = CAST(? AS BIGINT) | AND gmajLastMod != CAST(? AS BIGINT) | | | UPDATE GroupMemberActorJoin | SET gmajLastMod = ? | WHERE gmajGroupActorUid = ? | AND gmajMemberActorUid = ? | AND gmajLastMod != ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtexecuteUpdateAsyncKmpLAMBDAA      "      # comustadmobilecoredbdaoxapiGroupMemberActorJoinDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoGroupMemberActorJoinDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreListAsyncentitiescollectionsListlibGroupMemberActorJoinreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAupsertListAsyncupdateLastModifiedTimeIfNeededAsyncgmajGroupActorUidgmajMemberActorUidlastModTimeINSTANCE_RECEIVER   comustadmobilecoredbdaoxapiStateDeleteCommandDaoDEFINEDkotlinUnitAnyinsertAsyncdeleteCommandlibentitiesStateDeleteCommandINSTANCE_RECEIVER& ! "    comustadmobilecoredbdaoxapiStateDeleteCommandDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoStateDeleteCommandDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsyncdeleteCommandlibentitiesStateDeleteCommandsdcLastModEQLongutilsystemTimeInMillisGET_PROPERTYINSTANCE_RECEIVERA  " '      - comustadmobilecoredbdaoxapiStateDeleteCommandDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitStateDeleteCommandDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterStateDeleteCommand_upsertEntityInsertionAdapterlibentitiesStateDeleteCommandOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO StateDeleteCommand (sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo) VALUES(?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongsdcActorUidsdcHashsdcActivityUidsetStringsdcStateIdsdcLastModextsetLongNullablesdcRegistrationHisdcRegistrationLoINSTANCE_RECEIVERinsertAsyncdeleteCommand;      "      comustadmobilecoredbdaoxapiStateDeleteCommandDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoStateDeleteCommandDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsyncdeleteCommandlibentitiesStateDeleteCommandreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAINSTANCE_RECEIVER%       comustadmobilecoredbdaoxapiStateEntityDaoDEFINEDkotlinUnitAnyupsertAsyncstateEntitiescollectionsListlibentitiesStateEntityfindByActorAndHashaccountPersonUidLongactorUidseHashincludeDeletedBooleanfindByAgentAndActivityseActivityUidregistrationUuidHiregistrationUuidLomodifiedSincegetStateIdscompositesStateIdAndLastModifiedgetH5PPreloadINSTANCE_RECEIVERB  "           comustadmobilecoredbdaoxapiStateEntityDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoStateEntityDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertAsyncstateEntitiescollectionsListlibentitiesStateEntity_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitseLastModEQutilsystemTimeInMillisLAMBDAGET_PROPERTYfindByActorAndHashaccountPersonUidactorUidseHashincludeDeletedBooleanfindByAgentAndActivityseActivityUidregistrationUuidHiregistrationUuidLomodifiedSincegetStateIdscompositesStateIdAndLastModifiedgetH5PPreloadINSTANCE_RECEIVER  "              &             K O I comustadmobilecoredbdaoxapiStateEntityDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitStateEntityDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterStateEntity_upsertEntityInsertionAdapterlibentitiesStateEntityOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO StateEntity (seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongseActorUidseHashseActivityUidsetStringseStateIdseLastModseTimeStoredseContentTypesetIntseCompressedseContentsetBooleanseDeletedextsetLongNullableseRegistrationHiseRegistrationLoseH5PPreloadedseH5PSubContentIdINSTANCE_RECEIVERupsertAsyncstateEntitiescollectionsListinsertListAsyncfindByActorAndHashaccountPersonUidactorUidincludeDeletedprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT StateEntity.* | FROM StateEntity | WHERE (SELECT ActorEntity.actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorUid = CAST(? AS BIGINT)) = CAST(? AS BIGINT) | AND seActorUid = CAST(? AS BIGINT) | AND seHash = CAST(? AS BIGINT) | AND ( CAST(? AS INTEGER) = 1 | OR CAST(StateEntity.seDeleted AS INTEGER) = 0) | | | SELECT StateEntity.* | FROM StateEntity | WHERE (SELECT ActorEntity.actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorUid = ?) = ? | AND seActorUid = ? | AND seHash = ? | AND ( CAST(? AS INTEGER) = 1 | OR CAST(StateEntity.seDeleted AS INTEGER) = 0) | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_seActorUidgetLong_tmp_seHash_tmp_seActivityUid_tmp_seStateIdgetStringNonNull_tmp_seLastMod_tmp_seTimeStored_tmp_seContentType_tmp_seCompressedgetInt_tmp_seContent_tmp_seDeletedgetBoolean_tmp_seRegistrationHigetLongNullable_tmp_seRegistrationLo_tmp_seH5PPreloaded_tmp_seH5PSubContentIdgetStringapplyExtensionFunctionType$this$applyEQLAMBDAfindByAgentAndActivityregistrationUuidHiregistrationUuidLomodifiedSince | | SELECT StateEntity.* | FROM StateEntity | WHERE (SELECT ActorEntity.actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorUid = CAST(? AS BIGINT)) = CAST(? AS BIGINT) | AND seActorUid = CAST(? AS BIGINT) | AND seActivityUid = CAST(? AS BIGINT) | AND (CAST(? AS BIGINT) = 0 OR StateEntity.seLastMod > CAST(? AS BIGINT)) | AND (( ? IS NULL | AND StateEntity.seRegistrationHi IS NULL | AND ? IS NULL | AND StateEntity.seRegistrationLo IS NULL) | OR ( StateEntity.seRegistrationHi = ? | AND StateEntity.seRegistrationLo = ?)) | AND StateEntity.seStateId IS NOT NULL | | | SELECT StateEntity.* | FROM StateEntity | WHERE (SELECT ActorEntity.actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorUid = ?) = ? | AND seActorUid = ? | AND seActivityUid = ? | AND (? = 0 OR StateEntity.seLastMod > ?) | AND (( ? IS NULL | AND StateEntity.seRegistrationHi IS NULL | AND ? IS NULL | AND StateEntity.seRegistrationLo IS NULL) | OR ( StateEntity.seRegistrationHi = ? | AND StateEntity.seRegistrationLo = ?)) | AND StateEntity.seStateId IS NOT NULL | |mapRowsgetStateIdscompositesStateIdAndLastModified | | SELECT StateEntity.seStateId, StateEntity.seLastMod | FROM StateEntity | WHERE (SELECT ActorEntity.actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorUid = CAST(? AS BIGINT)) = CAST(? AS BIGINT) | AND seActorUid = CAST(? AS BIGINT) | AND seActivityUid = CAST(? AS BIGINT) | AND (CAST(? AS BIGINT) = 0 OR StateEntity.seLastMod > CAST(? AS BIGINT)) | AND (( ? IS NULL | AND StateEntity.seRegistrationHi IS NULL | AND ? IS NULL | AND StateEntity.seRegistrationLo IS NULL) | OR ( StateEntity.seRegistrationHi = ? | AND StateEntity.seRegistrationLo = ?)) | AND StateEntity.seStateId IS NOT NULL | AND CAST(StateEntity.seDeleted AS INTEGER) = 0 | | | SELECT StateEntity.seStateId, StateEntity.seLastMod | FROM StateEntity | WHERE (SELECT ActorEntity.actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorUid = ?) = ? | AND seActorUid = ? | AND seActivityUid = ? | AND (? = 0 OR StateEntity.seLastMod > ?) | AND (( ? IS NULL | AND StateEntity.seRegistrationHi IS NULL | AND ? IS NULL | AND StateEntity.seRegistrationLo IS NULL) | OR ( StateEntity.seRegistrationHi = ? | AND StateEntity.seRegistrationLo = ?)) | AND StateEntity.seStateId IS NOT NULL | AND CAST(StateEntity.seDeleted AS INTEGER) = 0 | |getH5PPreload | | SELECT StateEntity.* | FROM StateEntity | WHERE (SELECT ActorEntity.actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorUid = CAST(? AS BIGINT)) = CAST(? AS BIGINT) | AND seActorUid = CAST(? AS BIGINT) | AND seActivityUid = CAST(? AS BIGINT) | AND (( ? IS NULL | AND StateEntity.seRegistrationHi IS NULL | AND ? IS NULL | AND StateEntity.seRegistrationLo IS NULL) | OR ( StateEntity.seRegistrationHi = ? | AND StateEntity.seRegistrationLo = ?)) | AND StateEntity.seH5PSubContentId IS NOT NULL | AND CAST(StateEntity.seH5PPreloaded AS INTEGER) = 1 | | | SELECT StateEntity.* | FROM StateEntity | WHERE (SELECT ActorEntity.actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorUid = ?) = ? | AND seActorUid = ? | AND seActivityUid = ? | AND (( ? IS NULL | AND StateEntity.seRegistrationHi IS NULL | AND ? IS NULL | AND StateEntity.seRegistrationLo IS NULL) | OR ( StateEntity.seRegistrationHi = ? | AND StateEntity.seRegistrationLo = ?)) | AND StateEntity.seH5PSubContentId IS NOT NULL | AND CAST(StateEntity.seH5PPreloaded AS INTEGER) = 1 | |s      "      !          #  %  comustadmobilecoredbdaoxapiStateEntityDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoStateEntityDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertAsyncstateEntitiescollectionsListlibentitiesStateEntityreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByActorAndHashaccountPersonUidactorUidseHashincludeDeletedBooleanhttpreplicateHttpRequestCatchAndLogStateEntityDao/findByActorAndHashFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponse_resultfindByAgentAndActivityseActivityUidregistrationUuidHiregistrationUuidLomodifiedSinceStateEntityDao/findByAgentAndActivitynullablegetStateIdscompositesStateIdAndLastModifiedStateEntityDao/getStateIdsgetH5PPreloadINSTANCE_RECEIVER    comustadmobilecoredbdaoxapiStatementContextActivityJoinDaoDEFINEDkotlinUnitAnyinsertOrIgnoreListAsyncentitiescollectionsListlibStatementContextActivityJoinfindAllByStatementIdstatementIdHiLongstatementIdLoscajContextTypeIntINSTANCE_RECEIVER' + "      comustadmobilecoredbdaoxapiStatementContextActivityJoinDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoStatementContextActivityJoinDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreListAsyncentitiescollectionsListlibStatementContextActivityJoinGET_PROPERTYfindAllByStatementIdstatementIdHiLongstatementIdLoscajContextTypeIntINSTANCE_RECEIVERn ( " 1    7   tU      comustadmobilecoredbdaoxapiStatementContextActivityJoinDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitStatementContextActivityJoinDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterStatementContextActivityJoin_ignoreEntityInsertionAdapterlibentitiesStatementContextActivityJoinOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR IGNORE INTO StatementContextActivityJoin (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag) VALUES(?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongscajFromStatementIdHiscajFromStatementIdLoscajToHashsetIntscajContextTypescajToActivityUidsetStringscajToActivityIdscajEtagINSTANCE_RECEIVERinsertOrIgnoreListAsynccollectionsListinsertListAsyncfindAllByStatementIdstatementIdHistatementIdLoextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT StatementContextActivityJoin.* | FROM StatementContextActivityJoin | WHERE StatementContextActivityJoin.scajFromStatementIdHi = CAST(? AS BIGINT) | AND StatementContextActivityJoin.scajFromStatementIdLo = CAST(? AS BIGINT) | AND StatementContextActivityJoin.scajContextType = ? | | | SELECT StatementContextActivityJoin.* | FROM StatementContextActivityJoin | WHERE StatementContextActivityJoin.scajFromStatementIdHi = ? | AND StatementContextActivityJoin.scajFromStatementIdLo = ? | AND StatementContextActivityJoin.scajContextType = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_scajFromStatementIdHigetLong_tmp_scajFromStatementIdLo_tmp_scajToHash_tmp_scajContextTypegetInt_tmp_scajToActivityUid_tmp_scajToActivityIdgetString_tmp_scajEtagapplyExtensionFunctionType$this$applyEQLAMBDAB $     "       comustadmobilecoredbdaoxapiStatementContextActivityJoinDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoStatementContextActivityJoinDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreListAsyncentitiescollectionsListlibStatementContextActivityJoinreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindAllByStatementIdstatementIdHistatementIdLoscajContextTypeInt_resultINSTANCE_RECEIVER`          %* (&   %+  " !( /#comustadmobilecoredbdaoxapiStatementDaoDEFINEDkotlinUnitAnyinsertOrIgnoreListAsyncentityListcollectionsListlibentitiesStatementEntitygetOneStatementkotlinxcoroutinesflowFlowgetResultsStatementReportDataquerydoorDoorQuerygetListResultsandroidxpagingPagingSourceIntStatementEntityAndDisplayDetailsgetPersonPersongetStatementsstatementIdHiLongstatementIdLofindByIdfindStatusStatementsByContentEntryUidcontentEntryUidcourseBlockUidaccountPersonUidfindStatusStatementByParentContentEntryUidparentUidfindStatusStatementsForStudentByClazzUidclazzUidfindStatusForStudentsInClazzStatementscompositesStatementEntityAndRelatedroleIdsortOrdersearchTextString%filtercurrentTimestudentsLimitstudentsOffsetcompletionOrProgressTrueValBooleanfindStatusForStudentsInClazzByUidListstudentPersonUidsfindActorEntitiesForStudentInClazzByUidListActorEntityfindStatusForStudentsInClazzBlockStatusfindStatusForStudentsInClazzAsFlowfindResumableRegistrationactivityUidactorUidfindPersonsWithAttemptsStatementsfindPersonsWithAttemptsPersonAndPictureAndNumAttemptsfindSessionsByPersonAndContentStatementspersonUidfindSessionsByPersonAndContentSessionTimeAndProgressInfofindActivityEntryLangMapsForStatementsBySessionActivityLangMapEntryregistrationHiregistrationLofindStatementsBySessionStatementEntityAndVerbselectedPersonUiddeSelectedVerbUidsgetUniqueVerbsForSessionVerbEntityAndNamescoreOrProgressDataExistsForContentfindByUidWithActivityAsyncStatementAndActivityINSTANCE_RECEIVER}   "              ? %* (&   %+  " !( /#comustadmobilecoredbdaoxapiStatementDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoStatementDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreListAsyncentityListcollectionsListlibentitiesStatementEntity_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitstatementLctEQutilsystemTimeInMillisLAMBDAGET_PROPERTYgetOneStatementkotlinxcoroutinesflowFlowgetResultsStatementReportDataqueryDoorQuerygetListResultsandroidxpagingPagingSourceIntStatementEntityAndDisplayDetailsgetPersonPersonIllegalStateExceptionStringgetPerson: synchronous db access is NOT possible on Javascript!getStatementsstatementIdHistatementIdLofindByIdfindStatusStatementsByContentEntryUidcontentEntryUidcourseBlockUidaccountPersonUidfindStatusStatementByParentContentEntryUidparentUidfindStatusStatementsForStudentByClazzUidclazzUidfindStatusForStudentsInClazzStatementscompositesStatementEntityAndRelatedroleIdsortOrdersearchTextfiltercurrentTimestudentsLimitstudentsOffsetcompletionOrProgressTrueValBooleanfindStatusForStudentsInClazzByUidListstudentPersonUidsfindActorEntitiesForStudentInClazzByUidListActorEntityfindStatusForStudentsInClazzBlockStatusfindStatusForStudentsInClazzAsFlowfindResumableRegistrationactivityUidactorUidfindPersonsWithAttemptsStatementsfindPersonsWithAttemptsPersonAndPictureAndNumAttemptsfindSessionsByPersonAndContentStatementspersonUidfindSessionsByPersonAndContentSessionTimeAndProgressInfofindActivityEntryLangMapsForStatementsBySessionActivityLangMapEntryregistrationHiregistrationLofindStatementsBySessionStatementEntityAndVerbselectedPersonUiddeSelectedVerbUidsgetUniqueVerbsForSessionVerbEntityAndNamescoreOrProgressDataExistsForContentfindByUidWithActivityAsyncStatementAndActivityINSTANCE_RECEIVER   " $  "         *   %                  !                             '%]* ( V &   #"# #       % y  +B DMD      " FFh a! "t!E      "k!<("! "!/       !           ##"      # hcomustadmobilecoredbdaoxapiStatementDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitStatementDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterStatementEntity_ignoreEntityInsertionAdapterlibentitiesStatementEntityOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR IGNORE INTO StatementEntity (statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongstatementIdHistatementIdLostatementActorPersonUidstatementVerbUidsetIntstatementObjectTypestatementObjectUid1statementObjectUid2statementActorUidauthorityActorUidteamUidextsetBooleanNullableresultCompletionresultSuccesssetFloatNullableFloatresultScoreScaledresultScoreRawresultScoreMinresultScoreMaxsetLongNullableresultDurationsetStringresultResponsetimestampstoredcontextRegistrationHicontextRegistrationLocontextPlatformcontextStatementRefIdHicontextStatementRefIdLocontextInstructorActorUidstatementLctsetIntNullableextensionProgresssetBooleancompletionOrProgressstatementContentEntryUidstatementLearnerGroupUidstatementClazzUidstatementCbUidstatementDoorNodeisSubStatementINSTANCE_RECEIVERinsertOrIgnoreListAsyncentityListcollectionsListinsertListAsyncgetOneStatementkotlinxcoroutinesflowFlowdoorFlowArrayarrayOfSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDAprepareAndUseStatementAsyncPreparedStatementConfigSELECT * From StatementEntity LIMIT 1SuspendFunction1_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_statementIdHigetLong_tmp_statementIdLo_tmp_statementActorPersonUid_tmp_statementVerbUid_tmp_statementObjectTypegetInt_tmp_statementObjectUid1_tmp_statementObjectUid2_tmp_statementActorUid_tmp_authorityActorUid_tmp_teamUid_tmp_resultCompletiongetBooleanNullable_tmp_resultSuccess_tmp_resultScoreScaledgetFloatNullable_tmp_resultScoreRaw_tmp_resultScoreMin_tmp_resultScoreMax_tmp_resultDurationgetLongNullable_tmp_resultResponsegetString_tmp_timestamp_tmp_stored_tmp_contextRegistrationHi_tmp_contextRegistrationLo_tmp_contextPlatform_tmp_contextStatementRefIdHi_tmp_contextStatementRefIdLo_tmp_contextInstructorActorUid_tmp_statementLct_tmp_extensionProgressgetIntNullable_tmp_completionOrProgressgetBoolean_tmp_statementContentEntryUid_tmp_statementLearnerGroupUid_tmp_statementClazzUid_tmp_statementCbUid_tmp_statementDoorNode_tmp_isSubStatementapplyExtensionFunctionType$this$applyEQLAMBDAgetResultsStatementReportDataqueryDoorQuerysqlhasListOrArrayParamsbindToPreparedStmtmapRows_tmp_yAxisgetFloatyAxis_tmp_xAxisxAxis_tmp_subgroupsubgroupgetListResultsandroidxpagingPagingSourceStatementEntityAndDisplayDetailsDoorLimitOffsetPagingSourcePersonloadRows_limit_offsetcopyWithExtraParamsSELECT * FROM () AS _PagingData LIMIT ? OFFSET ?_tmp_StatementEntity_nullCountIFwasNullPOSTFIX_INCRIR_TEMPORARY_VARIABLEtmp0inctmp1tmp2tmp3tmp4tmp5tmp6tmp7tmp8tmp9tmp10tmp11tmp12tmp13tmp14tmp15tmp16tmp17tmp18tmp19tmp20tmp21tmp22tmp23tmp24tmp25tmp26tmp27tmp28tmp29tmp30tmp31tmp32tmp33tmp34_tmp_StatementEntity_isAllNullinternalirEQEQ_tmp_Person_nullCount_tmp_personUidpersonUidtmp35_tmp_usernameusernametmp36_tmp_firstNamesfirstNamestmp37_tmp_lastNamelastNametmp38_tmp_emailAddremailAddrtmp39_tmp_phoneNumphoneNumtmp40_tmp_gendergendertmp41_tmp_activeactivetmp42_tmp_dateOfBirthdateOfBirthtmp43_tmp_personAddresspersonAddresstmp44_tmp_personOrgIdpersonOrgIdtmp45_tmp_personGroupUidpersonGroupUidtmp46_tmp_personLctpersonLcttmp47_tmp_personCountrypersonCountrytmp48_tmp_personTypepersonTypetmp49_tmp_personMasterChangeSeqNumpersonMasterChangeSeqNumtmp50_tmp_personLocalChangeSeqNumpersonLocalChangeSeqNumtmp51_tmp_personLastChangedBypersonLastChangedBytmp52_tmp_adminadmintmp53_tmp_personNotespersonNotestmp54_tmp_fatherNamefatherNametmp55_tmp_fatherNumberfatherNumbertmp56_tmp_motherNamemotherNametmp57_tmp_motherNummotherNumtmp58_tmp_Person_isAllNullnotEXCLstatementpersoncountRowscopySELECT COUNT(*) FROM ()getPersonprepareAndUseStatementSELECT * FROM PERSON LIMIT 1executeQuerygetStatementstexttrimMargin | | SELECT StatementEntity.* | FROM StatementEntity | WHERE ( (CAST(? AS BIGINT) = 0 AND CAST(? AS BIGINT) = 0) | OR (statementIdHi = CAST(? AS BIGINT) AND statementIdLo = CAST(? AS BIGINT))) | | | | SELECT StatementEntity.* | FROM StatementEntity | WHERE ( (? = 0 AND ? = 0) | OR (statementIdHi = ? AND statementIdLo = ?)) | | |findById | | SELECT StatementEntity.* | FROM StatementEntity | WHERE statementIdHi = CAST(? AS BIGINT) | AND statementIdLo = CAST(? AS BIGINT) | | | SELECT StatementEntity.* | FROM StatementEntity | WHERE statementIdHi = ? | AND statementIdLo = ? | |findStatusStatementsByContentEntryUidcontentEntryUidcourseBlockUidaccountPersonUid | | SELECT StatementEntity.* | | | FROM StatementEntity | WHERE StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND (CAST(? AS BIGINT) = 0 OR StatementEntity.statementCbUid = CAST(? AS BIGINT)) | | AND ( (CAST(StatementEntity.resultCompletion AS INTEGER) = 1) | OR (StatementEntity.extensionProgress IS NOT NULL)) | | | | | | SELECT StatementEntity.* | | | FROM StatementEntity | WHERE StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND (? = 0 OR StatementEntity.statementCbUid = ?) | | AND ( (CAST(StatementEntity.resultCompletion AS INTEGER) = 1) | OR (StatementEntity.extensionProgress IS NOT NULL)) | | | | |findStatusStatementByParentContentEntryUidparentUid | | SELECT StatementEntity.* | | FROM StatementEntity | WHERE StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid IN ( | SELECT ContentEntryParentChildJoin.cepcjChildContentEntryUid | FROM ContentEntryParentChildJoin | WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = CAST(? AS BIGINT)) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND ( (CAST(StatementEntity.resultCompletion AS INTEGER) = 1) | OR (StatementEntity.extensionProgress IS NOT NULL)) | | | | SELECT StatementEntity.* | | FROM StatementEntity | WHERE StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid IN ( | SELECT ContentEntryParentChildJoin.cepcjChildContentEntryUid | FROM ContentEntryParentChildJoin | WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = ?) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND ( (CAST(StatementEntity.resultCompletion AS INTEGER) = 1) | OR (StatementEntity.extensionProgress IS NOT NULL)) | | |findStatusStatementsForStudentByClazzUidclazzUid | | WITH PersonUids(personUid) AS ( | SELECT CAST(? AS BIGINT) AS personUid | ), | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | | | SELECT StatementEntity.* | | FROM StatementEntity | WHERE ( | (SELECT EXISTS( | SELECT 1 | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentRole = 1000)) | ) | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid) | AND StatementEntity.statementClazzUid = CAST(? AS BIGINT) | AND ( (CAST(StatementEntity.resultCompletion AS INTEGER) = 1) | OR (StatementEntity.extensionProgress IS NOT NULL)) | | | | WITH PersonUids(personUid) AS ( | SELECT ? AS personUid | ), | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | | | SELECT StatementEntity.* | | FROM StatementEntity | WHERE ( | (SELECT EXISTS( | SELECT 1 | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentRole = 1000)) | ) | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid) | AND StatementEntity.statementClazzUid = ? | AND ( (CAST(StatementEntity.resultCompletion AS INTEGER) = 1) | OR (StatementEntity.extensionProgress IS NOT NULL)) | | |findStatusForStudentsInClazzStatementscompositesStatementEntityAndRelatedroleIdsortOrdersearchTextfiltercurrentTimestudentsLimitstudentsOffsetcompletionOrProgressTrueVal | | -- Get the PersonUids for those that are within the current page as per studentsLimit and | -- studentsOffset | WITH | PersonUids(personUid) AS ( | SELECT CourseMember.personUid | FROM (SELECT Person.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (CAST(? AS BIGINT) | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = CAST(? AS BIGINT)), 0) = CAST(? AS BIGINT)) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = CAST(? AS BIGINT) | AND (CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | ) | OR Person.personUid = CAST(? AS BIGINT) | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | LIMIT ? | OFFSET ? | ) | , | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | | | | -- Fetch all statements that could be completion or progress for the Gradebook report | SELECT StatementEntity.*, ActorEntity.*, GroupMemberActorJoin.* | FROM StatementEntity | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT DISTINCT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid) | WHERE StatementEntity.statementClazzUid = CAST(? AS BIGINT) | AND StatementEntity.completionOrProgress = ? | AND StatementEntity.statementActorUid IN ( | SELECT DISTINCT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid) | AND ( StatementEntity.resultScoreScaled IS NOT NULL | OR StatementEntity.resultCompletion IS NOT NULL | OR StatementEntity.resultSuccess IS NOT NULL | OR StatementEntity.extensionProgress IS NOT NULL | ) | | | | -- Get the PersonUids for those that are within the current page as per studentsLimit and | -- studentsOffset | WITH | PersonUids(personUid) AS ( | SELECT CourseMember.personUid | FROM (SELECT Person.*, | (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, | | (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, | | (SELECT ClazzEnrolment.clazzEnrolmentRole | FROM ClazzEnrolment | WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid | AND ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1) AS enrolmentRole | FROM Person | WHERE Person.personUid IN | (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentClazzUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentRole = ? | AND (? != 1 | OR (? | BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined | AND ClazzEnrolment.clazzEnrolmentDateLeft))) | /* Begin permission check */ | AND ( | (( | /* If the accountPersonUid is the owner of the course, all permissions are granted */ | (COALESCE( | (SELECT _Clazz_Permission.clazzOwnerPersonUid | FROM Clazz _Clazz_Permission | WHERE _Clazz_Permission.clazzUid = ?), 0) = ?) | /* | If there is a CoursePermission entity that is for the course as per the clazzUid | parameter that is granted to the person directly or to the enrolmentRole that the | person has in the course, then permission is granted. | */ | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | | LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson | ON CoursePermission.cpToEnrolmentRole != 0 | AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = | (SELECT COALESCE( | (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid | FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner | WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = ? | AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive | ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC | LIMIT 1), 0)) | | WHERE CoursePermission.cpClazzUid = ? | AND (CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) | AND (CoursePermission.cpPermissionsFlag & | 128 | | ) > 0) | OR EXISTS(SELECT SystemPermission.spUid | FROM SystemPermission | WHERE SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | 128 | | ) > 0) | ) | ) | OR Person.personUid = ? | ) | /* End permission check */ | AND Person.firstNames || ' ' || Person.lastName LIKE ? | GROUP BY Person.personUid) AS CourseMember | ORDER BY CASE(?) | WHEN 1 THEN CourseMember.firstNames | WHEN 3 THEN CourseMember.lastName | ELSE '' | END ASC, | CASE(?) | WHEN 2 THEN CourseMember.firstNames | WHEN 4 THEN CourseMember.lastName | ELSE '' | END DESC, | CASE(?) | WHEN 7 THEN CourseMember.earliestJoinDate | WHEN 9 THEN CourseMember.latestDateLeft | ELSE 0 | END ASC, | CASE(?) | WHEN 8 THEN CourseMember.earliestJoinDate | WHEN 10 THEN CourseMember.latestDateLeft | ELSE 0 | END DESC | LIMIT ? | OFFSET ? | ) | , | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | | | | -- Fetch all statements that could be completion or progress for the Gradebook report | SELECT StatementEntity.*, ActorEntity.*, GroupMemberActorJoin.* | FROM StatementEntity | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT DISTINCT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid) | WHERE StatementEntity.statementClazzUid = ? | AND StatementEntity.completionOrProgress = ? | AND StatementEntity.statementActorUid IN ( | SELECT DISTINCT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid) | AND ( StatementEntity.resultScoreScaled IS NOT NULL | OR StatementEntity.resultCompletion IS NOT NULL | OR StatementEntity.resultSuccess IS NOT NULL | OR StatementEntity.extensionProgress IS NOT NULL | ) | | |_tmp_GroupMemberActorJoin_nullCount_tmp_gmajGroupActorUidgmajGroupActorUid_tmp_gmajMemberActorUidgmajMemberActorUid_tmp_gmajLastModgmajLastMod_tmp_GroupMemberActorJoin_isAllNull_tmp_ActorEntity_nullCount_tmp_actorUidactorUid_tmp_actorPersonUidactorPersonUid_tmp_actorNameactorName_tmp_actorMboxactorMbox_tmp_actorMbox_sha1sumactorMbox_sha1sum_tmp_actorOpenidactorOpenid_tmp_actorAccountNameactorAccountName_tmp_actorAccountHomePageactorAccountHomePage_tmp_actorEtagactorEtag_tmp_actorLctactorLct_tmp_actorObjectTypeactorObjectType_tmp_ActorEntity_isAllNullstatementEntitygroupMemberActorJoinGroupMemberActorJoinactorEntityActorEntityfindStatusForStudentsInClazzByUidListstudentPersonUids | | WITH PersonUids(personUid) AS ( | SELECT Person.personUid | FROM Person | WHERE Person.personUid IN (?) | ), | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | | | | -- Fetch all statements that could be completion or progress for the Gradebook report | SELECT StatementEntity.*, ActorEntity.*, GroupMemberActorJoin.* | FROM StatementEntity | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT DISTINCT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid) | WHERE StatementEntity.statementClazzUid = CAST(? AS BIGINT) | AND StatementEntity.completionOrProgress = ? | AND StatementEntity.statementActorUid IN ( | SELECT DISTINCT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid) | AND ( StatementEntity.resultScoreScaled IS NOT NULL | OR StatementEntity.resultCompletion IS NOT NULL | OR StatementEntity.resultSuccess IS NOT NULL | OR StatementEntity.extensionProgress IS NOT NULL | ) | | | | WITH PersonUids(personUid) AS ( | SELECT Person.personUid | FROM Person | WHERE Person.personUid IN (?) | ), | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | | | | -- Fetch all statements that could be completion or progress for the Gradebook report | SELECT StatementEntity.*, ActorEntity.*, GroupMemberActorJoin.* | FROM StatementEntity | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT DISTINCT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid) | WHERE StatementEntity.statementClazzUid = ? | AND StatementEntity.completionOrProgress = ? | AND StatementEntity.statementActorUid IN ( | SELECT DISTINCT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid) | AND ( StatementEntity.resultScoreScaled IS NOT NULL | OR StatementEntity.resultCompletion IS NOT NULL | OR StatementEntity.resultSuccess IS NOT NULL | OR StatementEntity.extensionProgress IS NOT NULL | ) | | |setArraycreateArrayOrProxyArrayOfConnectiongetConnectionBIGINTtoTypedArrayfindActorEntitiesForStudentInClazzByUidList | | WITH PersonUids(personUid) AS ( | SELECT Person.personUid | FROM Person | WHERE Person.personUid IN (?) | ), | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | | | SELECT ActorEntity.* | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | AND CAST(? AS BIGINT) = CAST(? AS BIGINT) | AND CAST(? AS BIGINT) = CAST(? AS BIGINT) | | | WITH PersonUids(personUid) AS ( | SELECT Person.personUid | FROM Person | WHERE Person.personUid IN (?) | ), | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | | | SELECT ActorEntity.* | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | AND ? = ? | AND ? = ? | |findStatusForStudentsInClazzBlockStatus | | WITH PersonUids(personUid) AS ( | SELECT Person.personUid | FROM Person | WHERE Person.personUid IN (?) | ), | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | , | | PersonUidsAndCourseBlocks(personUid, cbUid, cbType, caMarkingType) AS ( | SELECT Person.personUid AS personUid, | CourseBlock.cbUid AS cbUid, | CourseBlock.cbType AS cbType, | ClazzAssignment.caMarkingType AS caMarkingType | FROM Person | JOIN CourseBlock | ON CourseBlock.cbClazzUid = CAST(? AS BIGINT) | LEFT JOIN ClazzAssignment | ON CourseBlock.cbType = 103 | AND ClazzAssignment.caUid = CourseBlock.cbEntityUid | WHERE Person.personUid IN (?) | ) | | SELECT PersonUidsAndCourseBlocks.personUid AS sPersonUid, | PersonUidsAndCourseBlocks.cbUid AS sCbUid, | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | | ) AS sProgress, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | )) AS sIsCompleted, | (SELECT CASE | /*If there is a statement marked as success, then count as successful even if | *there were subsequent failed attempts | */ | WHEN ( | SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ) | ) THEN 1 | /*If there are no statements marked as success, however there are statements marekd as fail, | *then count as fail | */ | WHEN ( | SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ) | ) THEN 0 | /* Else there is no known success/fail result*/ | ELSE NULL | END | ) AS sIsSuccess, | -- See ClazzGradebookScreen for info on which score is selected | (SELECT CASE | -- When there is a peer marked assignment, take the average of the latest distinct ... | WHEN ( PersonUidsAndCourseBlocks.cbType = 103 | AND PersonUidsAndCourseBlocks.caMarkingType = 2 | ) | THEN (SELECT AVG(StatementEntity.resultScoreScaled) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND StatementEntity.timestamp = ( | SELECT MAX(StatementEntity_Inner.timestamp) | FROM StatementEntity StatementEntity_Inner | | JOIN ActorEntity ActorEntity_Inner | ON ActorEntity_Inner.actorUid = StatementEntity_Inner.statementActorUid | LEFT JOIN GroupMemberActorJoin GroupMemberActorJoin_Inner | ON ActorEntity_Inner.actorObjectType = 2 | AND (GroupMemberActorJoin_Inner.gmajGroupActorUid, GroupMemberActorJoin_Inner.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity_Inner.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity_Inner.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND StatementEntity_Inner.contextInstructorActorUid = StatementEntity.contextInstructorActorUid) | LIMIT 1) | -- When an assignment, but not peer marked, then the latest score | WHEN PersonUidsAndCourseBlocks.cbType = 103 | THEN (SELECT StatementEntity.resultScoreScaled | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | ORDER BY StatementEntity.timestamp DESC | LIMIT 1) | -- else the best score accomplished so far | ELSE (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | )) | END | ) AS sScoreScaled | FROM PersonUidsAndCourseBlocks | WHERE CAST(? AS BIGINT) = CAST(? AS BIGINT) | | | WITH PersonUids(personUid) AS ( | SELECT Person.personUid | FROM Person | WHERE Person.personUid IN (?) | ), | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | , | | PersonUidsAndCourseBlocks(personUid, cbUid, cbType, caMarkingType) AS ( | SELECT Person.personUid AS personUid, | CourseBlock.cbUid AS cbUid, | CourseBlock.cbType AS cbType, | ClazzAssignment.caMarkingType AS caMarkingType | FROM Person | JOIN CourseBlock | ON CourseBlock.cbClazzUid = ? | LEFT JOIN ClazzAssignment | ON CourseBlock.cbType = 103 | AND ClazzAssignment.caUid = CourseBlock.cbEntityUid | WHERE Person.personUid IN (?) | ) | | SELECT PersonUidsAndCourseBlocks.personUid AS sPersonUid, | PersonUidsAndCourseBlocks.cbUid AS sCbUid, | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | | ) AS sProgress, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | )) AS sIsCompleted, | (SELECT CASE | /*If there is a statement marked as success, then count as successful even if | *there were subsequent failed attempts | */ | WHEN ( | SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ) | ) THEN 1 | /*If there are no statements marked as success, however there are statements marekd as fail, | *then count as fail | */ | WHEN ( | SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ) | ) THEN 0 | /* Else there is no known success/fail result*/ | ELSE NULL | END | ) AS sIsSuccess, | -- See ClazzGradebookScreen for info on which score is selected | (SELECT CASE | -- When there is a peer marked assignment, take the average of the latest distinct ... | WHEN ( PersonUidsAndCourseBlocks.cbType = 103 | AND PersonUidsAndCourseBlocks.caMarkingType = 2 | ) | THEN (SELECT AVG(StatementEntity.resultScoreScaled) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND StatementEntity.timestamp = ( | SELECT MAX(StatementEntity_Inner.timestamp) | FROM StatementEntity StatementEntity_Inner | | JOIN ActorEntity ActorEntity_Inner | ON ActorEntity_Inner.actorUid = StatementEntity_Inner.statementActorUid | LEFT JOIN GroupMemberActorJoin GroupMemberActorJoin_Inner | ON ActorEntity_Inner.actorObjectType = 2 | AND (GroupMemberActorJoin_Inner.gmajGroupActorUid, GroupMemberActorJoin_Inner.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity_Inner.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity_Inner.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND StatementEntity_Inner.contextInstructorActorUid = StatementEntity.contextInstructorActorUid) | LIMIT 1) | -- When an assignment, but not peer marked, then the latest score | WHEN PersonUidsAndCourseBlocks.cbType = 103 | THEN (SELECT StatementEntity.resultScoreScaled | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | ORDER BY StatementEntity.timestamp DESC | LIMIT 1) | -- else the best score accomplished so far | ELSE (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | )) | END | ) AS sScoreScaled | FROM PersonUidsAndCourseBlocks | WHERE ? = ? | |_tmp_sPersonUidsPersonUid_tmp_sCbUidsCbUid_tmp_sProgresssProgress_tmp_sIsCompletedsIsCompleted_tmp_sIsSuccesssIsSuccess_tmp_sScoreScaledsScoreScaledfindStatusForStudentsInClazzAsFlowClazzAssignmentCourseBlock | | WITH PersonUids(personUid) AS ( | SELECT Person.personUid | FROM Person | WHERE Person.personUid IN (?) | ), | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | , | | PersonUidsAndCourseBlocks(personUid, cbUid, cbType, caMarkingType) AS ( | SELECT Person.personUid AS personUid, | CourseBlock.cbUid AS cbUid, | CourseBlock.cbType AS cbType, | ClazzAssignment.caMarkingType AS caMarkingType | FROM Person | JOIN CourseBlock | ON CourseBlock.cbClazzUid = CAST(? AS BIGINT) | LEFT JOIN ClazzAssignment | ON CourseBlock.cbType = 103 | AND ClazzAssignment.caUid = CourseBlock.cbEntityUid | WHERE Person.personUid IN (?) | ) | | SELECT PersonUidsAndCourseBlocks.personUid AS sPersonUid, | PersonUidsAndCourseBlocks.cbUid AS sCbUid, | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | | ) AS sProgress, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | )) AS sIsCompleted, | (SELECT CASE | /*If there is a statement marked as success, then count as successful even if | *there were subsequent failed attempts | */ | WHEN ( | SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ) | ) THEN 1 | /*If there are no statements marked as success, however there are statements marekd as fail, | *then count as fail | */ | WHEN ( | SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ) | ) THEN 0 | /* Else there is no known success/fail result*/ | ELSE NULL | END | ) AS sIsSuccess, | -- See ClazzGradebookScreen for info on which score is selected | (SELECT CASE | -- When there is a peer marked assignment, take the average of the latest distinct ... | WHEN ( PersonUidsAndCourseBlocks.cbType = 103 | AND PersonUidsAndCourseBlocks.caMarkingType = 2 | ) | THEN (SELECT AVG(StatementEntity.resultScoreScaled) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND StatementEntity.timestamp = ( | SELECT MAX(StatementEntity_Inner.timestamp) | FROM StatementEntity StatementEntity_Inner | | JOIN ActorEntity ActorEntity_Inner | ON ActorEntity_Inner.actorUid = StatementEntity_Inner.statementActorUid | LEFT JOIN GroupMemberActorJoin GroupMemberActorJoin_Inner | ON ActorEntity_Inner.actorObjectType = 2 | AND (GroupMemberActorJoin_Inner.gmajGroupActorUid, GroupMemberActorJoin_Inner.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity_Inner.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity_Inner.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND StatementEntity_Inner.contextInstructorActorUid = StatementEntity.contextInstructorActorUid) | LIMIT 1) | -- When an assignment, but not peer marked, then the latest score | WHEN PersonUidsAndCourseBlocks.cbType = 103 | THEN (SELECT StatementEntity.resultScoreScaled | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | ORDER BY StatementEntity.timestamp DESC | LIMIT 1) | -- else the best score accomplished so far | ELSE (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | )) | END | ) AS sScoreScaled | FROM PersonUidsAndCourseBlocks | WHERE CAST(? AS BIGINT) = CAST(? AS BIGINT) | | | WITH PersonUids(personUid) AS ( | SELECT Person.personUid | FROM Person | WHERE Person.personUid IN (?) | ), | | | -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship | AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( | SELECT ActorEntity.actorUid AS actorUid, | ActorEntity.actorPersonUid AS actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorPersonUid IN | (SELECT PersonUids.personUid | FROM PersonUids) | ), | | -- Add in group actor uids | ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( | SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | UNION | SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, | AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid | FROM AgentActorUidsForPersonUid | JOIN GroupMemberActorJoin | ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid | ) | , | | PersonUidsAndCourseBlocks(personUid, cbUid, cbType, caMarkingType) AS ( | SELECT Person.personUid AS personUid, | CourseBlock.cbUid AS cbUid, | CourseBlock.cbType AS cbType, | ClazzAssignment.caMarkingType AS caMarkingType | FROM Person | JOIN CourseBlock | ON CourseBlock.cbClazzUid = ? | LEFT JOIN ClazzAssignment | ON CourseBlock.cbType = 103 | AND ClazzAssignment.caUid = CourseBlock.cbEntityUid | WHERE Person.personUid IN (?) | ) | | SELECT PersonUidsAndCourseBlocks.personUid AS sPersonUid, | PersonUidsAndCourseBlocks.cbUid AS sCbUid, | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | | ) AS sProgress, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | )) AS sIsCompleted, | (SELECT CASE | /*If there is a statement marked as success, then count as successful even if | *there were subsequent failed attempts | */ | WHEN ( | SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 | ) | ) THEN 1 | /*If there are no statements marked as success, however there are statements marekd as fail, | *then count as fail | */ | WHEN ( | SELECT EXISTS( | SELECT 1 | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 | ) | ) THEN 0 | /* Else there is no known success/fail result*/ | ELSE NULL | END | ) AS sIsSuccess, | -- See ClazzGradebookScreen for info on which score is selected | (SELECT CASE | -- When there is a peer marked assignment, take the average of the latest distinct ... | WHEN ( PersonUidsAndCourseBlocks.cbType = 103 | AND PersonUidsAndCourseBlocks.caMarkingType = 2 | ) | THEN (SELECT AVG(StatementEntity.resultScoreScaled) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND StatementEntity.timestamp = ( | SELECT MAX(StatementEntity_Inner.timestamp) | FROM StatementEntity StatementEntity_Inner | | JOIN ActorEntity ActorEntity_Inner | ON ActorEntity_Inner.actorUid = StatementEntity_Inner.statementActorUid | LEFT JOIN GroupMemberActorJoin GroupMemberActorJoin_Inner | ON ActorEntity_Inner.actorObjectType = 2 | AND (GroupMemberActorJoin_Inner.gmajGroupActorUid, GroupMemberActorJoin_Inner.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity_Inner.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity_Inner.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | AND StatementEntity_Inner.contextInstructorActorUid = StatementEntity.contextInstructorActorUid) | LIMIT 1) | -- When an assignment, but not peer marked, then the latest score | WHEN PersonUidsAndCourseBlocks.cbType = 103 | THEN (SELECT StatementEntity.resultScoreScaled | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | ) | ORDER BY StatementEntity.timestamp DESC | LIMIT 1) | -- else the best score accomplished so far | ELSE (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | | JOIN ActorEntity | ON ActorEntity.actorUid = StatementEntity.statementActorUid | LEFT JOIN GroupMemberActorJoin | ON ActorEntity.actorObjectType = 2 | AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( | SELECT GroupMemberActorJoin.gmajGroupActorUid, | GroupMemberActorJoin.gmajMemberActorUid | FROM GroupMemberActorJoin | WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid | AND GroupMemberActorJoin.gmajMemberActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) | | WHERE ( | StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid | AND StatementEntity.statementActorUid IN ( | SELECT ActorUidsForPersonUid.actorUid | FROM ActorUidsForPersonUid | WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) | | )) | END | ) AS sScoreScaled | FROM PersonUidsAndCourseBlocks | WHERE ? = ? | |findResumableRegistrationactivityUid | | WITH MostRecentRegistration(statementIdHi, statementIdLo, contextRegistrationHi, contextRegistrationLo) AS ( | SELECT StatementEntity.statementIdHi, StatementEntity.contextRegistrationLo, | StatementEntity.contextRegistrationHi, StatementEntity.contextRegistrationLo | FROM StatementEntity | WHERE StatementEntity.statementActorUid = CAST(? AS BIGINT) | AND StatementEntity.statementObjectUid1 = CAST(? AS BIGINT) | AND StatementEntity.contextRegistrationHi != 0 | ORDER BY StatementEntity.timestamp DESC | LIMIT 1 | ) | | SELECT StatementEntity.* | FROM StatementEntity | WHERE StatementEntity.statementIdHi = (SELECT statementIdHi FROM MostRecentRegistration) | AND StatementEntity.statementIdLo = (SELECT statementIdLo FROM MostRecentRegistration) | AND NOT EXISTS( | SELECT 1 | FROM StatementEntity StatementEntity_Inner | WHERE StatementEntity_Inner.statementActorUid = CAST(? AS BIGINT) | AND StatementEntity_Inner.statementObjectUid1 = CAST(? AS BIGINT) | AND StatementEntity_Inner.contextRegistrationHi = (SELECT contextRegistrationHi FROM MostRecentRegistration) | AND StatementEntity_Inner.contextRegistrationLo = (SELECT contextRegistrationLo FROM MostRecentRegistration) | AND CAST(StatementEntity_Inner.completionOrProgress AS INTEGER) = 1 | AND ( StatementEntity_Inner.resultCompletion IS NOT NULL | AND CAST(StatementEntity_Inner.resultCompletion AS INTEGER) = 1) | ) | AND CAST(? AS BIGINT) IN | (SELECT ActorEntity.actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorUid = CAST(? AS BIGINT)) | | | | WITH MostRecentRegistration(statementIdHi, statementIdLo, contextRegistrationHi, contextRegistrationLo) AS ( | SELECT StatementEntity.statementIdHi, StatementEntity.contextRegistrationLo, | StatementEntity.contextRegistrationHi, StatementEntity.contextRegistrationLo | FROM StatementEntity | WHERE StatementEntity.statementActorUid = ? | AND StatementEntity.statementObjectUid1 = ? | AND StatementEntity.contextRegistrationHi != 0 | ORDER BY StatementEntity.timestamp DESC | LIMIT 1 | ) | | SELECT StatementEntity.* | FROM StatementEntity | WHERE StatementEntity.statementIdHi = (SELECT statementIdHi FROM MostRecentRegistration) | AND StatementEntity.statementIdLo = (SELECT statementIdLo FROM MostRecentRegistration) | AND NOT EXISTS( | SELECT 1 | FROM StatementEntity StatementEntity_Inner | WHERE StatementEntity_Inner.statementActorUid = ? | AND StatementEntity_Inner.statementObjectUid1 = ? | AND StatementEntity_Inner.contextRegistrationHi = (SELECT contextRegistrationHi FROM MostRecentRegistration) | AND StatementEntity_Inner.contextRegistrationLo = (SELECT contextRegistrationLo FROM MostRecentRegistration) | AND CAST(StatementEntity_Inner.completionOrProgress AS INTEGER) = 1 | AND ( StatementEntity_Inner.resultCompletion IS NOT NULL | AND CAST(StatementEntity_Inner.resultCompletion AS INTEGER) = 1) | ) | AND ? IN | (SELECT ActorEntity.actorPersonUid | FROM ActorEntity | WHERE ActorEntity.actorUid = ?) | | |findPersonsWithAttemptsStatements | | SELECT StatementEntity.* | FROM Person | JOIN StatementEntity | ON (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ORDER BY StatementEntity.extensionProgress DESC | LIMIT 1) | OR (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ORDER BY StatementEntity.resultScoreScaled DESC | LIMIT 1) | OR (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | ORDER BY StatementEntity.timestamp DESC | LIMIT 1) | WHERE Person.personUid IN | (SELECT DISTINCT StatementEntity.statementActorPersonUid | | FROM StatementEntity | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | /* permission check */ | AND ( StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | )) | ) | AND ( ? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | | | | SELECT StatementEntity.* | FROM Person | JOIN StatementEntity | ON (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ORDER BY StatementEntity.extensionProgress DESC | LIMIT 1) | OR (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ORDER BY StatementEntity.resultScoreScaled DESC | LIMIT 1) | OR (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | ORDER BY StatementEntity.timestamp DESC | LIMIT 1) | WHERE Person.personUid IN | (SELECT DISTINCT StatementEntity.statementActorPersonUid | | FROM StatementEntity | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.statementContentEntryUid = ? | /* permission check */ | AND ( StatementEntity.statementActorPersonUid = ? | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | )) | ) | AND ( ? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | | |findPersonsWithAttemptsPersonAndPictureAndNumAttemptsSystemPermissionClazzEnrolmentPersonPictureCoursePermission |SELECT * FROM ( | SELECT Person.*, PersonPicture.*, | (SELECT COUNT(*) | FROM (SELECT DISTINCT StatementEntity.contextRegistrationHi, StatementEntity.contextRegistrationLo | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | ) AS DistinctRegistrations) AS numAttempts, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1)) AS isCompleted, | (SELECT CASE | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 1 | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND StatementEntity.resultSuccess IS NOT NULL | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 0 | ELSE NULL | END) AS isSuccessful, | ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxProgress, | ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxScore, | | ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | ) AS mostRecentAttemptTime | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT StatementEntity.statementActorPersonUid | | FROM StatementEntity | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | /* permission check */ | AND ( StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | )) | ) | AND ( ? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | ORDER BY | CASE | WHEN ? = 5 THEN ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 7 THEN ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 9 THEN ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | ) | ELSE 0 | END ASC, | CASE | WHEN ? = 1 THEN Person.firstNames | WHEN ? = 3 THEN Person.lastName | ELSE '' | END ASC, | CASE | WHEN ? = 6 THEN ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 8 THEN ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 10 THEN ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | ) | ELSE 0 | END DESC, | CASE | WHEN ? = 2 THEN Person.firstNames | WHEN ? = 4 THEN Person.lastName | END DESC |) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT Person.*, PersonPicture.*, | (SELECT COUNT(*) | FROM (SELECT DISTINCT StatementEntity.contextRegistrationHi, StatementEntity.contextRegistrationLo | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | ) AS DistinctRegistrations) AS numAttempts, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1)) AS isCompleted, | (SELECT CASE | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 1 | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND StatementEntity.resultSuccess IS NOT NULL | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 0 | ELSE NULL | END) AS isSuccessful, | ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxProgress, | ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxScore, | | ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | ) AS mostRecentAttemptTime | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT StatementEntity.statementActorPersonUid | | FROM StatementEntity | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.statementContentEntryUid = ? | /* permission check */ | AND ( StatementEntity.statementActorPersonUid = ? | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | )) | ) | AND ( ? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | ORDER BY | CASE | WHEN ? = 5 THEN ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 7 THEN ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 9 THEN ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | ) | ELSE 0 | END ASC, | CASE | WHEN ? = 1 THEN Person.firstNames | WHEN ? = 3 THEN Person.lastName | ELSE '' | END ASC, | CASE | WHEN ? = 6 THEN ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 8 THEN ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 10 THEN ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | ) | ELSE 0 | END DESC, | CASE | WHEN ? = 2 THEN Person.firstNames | WHEN ? = 4 THEN Person.lastName | END DESC |) AS _PagingData LIMIT ? OFFSET ? |_tmp_numAttemptsnumAttempts_tmp_isCompletedisCompleted_tmp_isSuccessfulisSuccessful_tmp_maxScoremaxScore_tmp_maxProgressmaxProgress_tmp_PersonPicture_nullCount_tmp_personPictureUidpersonPictureUid_tmp_personPictureLctpersonPictureLct_tmp_personPictureUripersonPictureUri_tmp_personPictureThumbnailUripersonPictureThumbnailUri_tmp_fileSizefileSize_tmp_personPictureActivepersonPictureActive_tmp_PersonPicture_isAllNullpicture |SELECT COUNT(*) FROM ( | SELECT Person.*, PersonPicture.*, | (SELECT COUNT(*) | FROM (SELECT DISTINCT StatementEntity.contextRegistrationHi, StatementEntity.contextRegistrationLo | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | ) AS DistinctRegistrations) AS numAttempts, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1)) AS isCompleted, | (SELECT CASE | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 1 | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND StatementEntity.resultSuccess IS NOT NULL | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 0 | ELSE NULL | END) AS isSuccessful, | ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxProgress, | ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxScore, | | ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | ) AS mostRecentAttemptTime | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT StatementEntity.statementActorPersonUid | | FROM StatementEntity | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | /* permission check */ | AND ( StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | )) | ) | AND ( ? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | ORDER BY | CASE | WHEN ? = 5 THEN ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 7 THEN ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 9 THEN ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | ) | ELSE 0 | END ASC, | CASE | WHEN ? = 1 THEN Person.firstNames | WHEN ? = 3 THEN Person.lastName | ELSE '' | END ASC, | CASE | WHEN ? = 6 THEN ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 8 THEN ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 10 THEN ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = Person.personUid | ) | ELSE 0 | END DESC, | CASE | WHEN ? = 2 THEN Person.firstNames | WHEN ? = 4 THEN Person.lastName | END DESC |) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT Person.*, PersonPicture.*, | (SELECT COUNT(*) | FROM (SELECT DISTINCT StatementEntity.contextRegistrationHi, StatementEntity.contextRegistrationLo | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | ) AS DistinctRegistrations) AS numAttempts, | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1)) AS isCompleted, | (SELECT CASE | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 1 | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND StatementEntity.resultSuccess IS NOT NULL | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 0 | ELSE NULL | END) AS isSuccessful, | ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxProgress, | ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxScore, | | ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | ) AS mostRecentAttemptTime | FROM Person | LEFT JOIN PersonPicture | ON PersonPicture.personPictureUid = Person.personUid | WHERE Person.personUid IN | (SELECT DISTINCT StatementEntity.statementActorPersonUid | | FROM StatementEntity | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.statementContentEntryUid = ? | /* permission check */ | AND ( StatementEntity.statementActorPersonUid = ? | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | )) | ) | AND ( ? = '%' | OR Person.firstNames || ' ' || Person.lastName LIKE ?) | ORDER BY | CASE | WHEN ? = 5 THEN ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 7 THEN ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 9 THEN ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | ) | ELSE 0 | END ASC, | CASE | WHEN ? = 1 THEN Person.firstNames | WHEN ? = 3 THEN Person.lastName | ELSE '' | END ASC, | CASE | WHEN ? = 6 THEN ( | SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 8 THEN ( | SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) | WHEN ? = 10 THEN ( | SELECT MAX(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = Person.personUid | ) | ELSE 0 | END DESC, | CASE | WHEN ? = 2 THEN Person.firstNames | WHEN ? = 4 THEN Person.lastName | END DESC |) AS _PagingCount |findSessionsByPersonAndContentStatements | | WITH | DistinctRegistrationUids(contextRegistrationHi, contextRegistrationLo, statementClazzUid) AS ( | SELECT DISTINCT StatementEntity.contextRegistrationHi, | StatementEntity.contextRegistrationLo, | StatementEntity.statementClazzUid | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)) | | SELECT StatementEntity.* | FROM DistinctRegistrationUids | JOIN StatementEntity | ON (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | -- Statement for time started | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | ORDER BY StatementEntity.timestamp ASC | LIMIT 1) | | --statement for max progress | OR (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ORDER BY StatementEntity.extensionProgress DESC | LIMIT 1) | | --statement for max score | OR (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ORDER BY StatementEntity.resultScoreScaled DESC | LIMIT 1) | | --statement with completion | OR (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | LIMIT 1) | WHERE ( | CAST(? AS BIGINT) = CAST(? AS BIGINT) | OR EXISTS( | SELECT CoursePermission.cpUid | FROM CoursePermission | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = DistinctRegistrationUids.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE CoursePermission.cpClazzUid = DistinctRegistrationUids.statementClazzUid | AND ( CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | ) | | | WITH | DistinctRegistrationUids(contextRegistrationHi, contextRegistrationLo, statementClazzUid) AS ( | SELECT DISTINCT StatementEntity.contextRegistrationHi, | StatementEntity.contextRegistrationLo, | StatementEntity.statementClazzUid | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = ?) | | SELECT StatementEntity.* | FROM DistinctRegistrationUids | JOIN StatementEntity | ON (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | -- Statement for time started | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | ORDER BY StatementEntity.timestamp ASC | LIMIT 1) | | --statement for max progress | OR (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ORDER BY StatementEntity.extensionProgress DESC | LIMIT 1) | | --statement for max score | OR (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ORDER BY StatementEntity.resultScoreScaled DESC | LIMIT 1) | | --statement with completion | OR (StatementEntity.statementIdHi, StatementEntity.statementIdLo) IN | (SELECT StatementEntity.statementIdHi, StatementEntity.statementIdLo | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | LIMIT 1) | WHERE ( | ? = ? | OR EXISTS( | SELECT CoursePermission.cpUid | FROM CoursePermission | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = DistinctRegistrationUids.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE CoursePermission.cpClazzUid = DistinctRegistrationUids.statementClazzUid | AND ( CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | ) | |findSessionsByPersonAndContentSessionTimeAndProgressInfo |SELECT * FROM ( | WITH | DistinctRegistrationUids(contextRegistrationHi, contextRegistrationLo, statementClazzUid) AS ( | SELECT DISTINCT StatementEntity.contextRegistrationHi, | StatementEntity.contextRegistrationLo, | StatementEntity.statementClazzUid | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)) | , | SessionsByPerson(contextRegistrationHi, contextRegistrationLo, timeStarted, maxProgress, maxScore, isCompleted, isSuccessful, resultDuration) AS ( | SELECT DistinctRegistrationUids.contextRegistrationHi AS contextRegistrationHi, | DistinctRegistrationUids.contextRegistrationLo AS contextRegistrationLo, | (SELECT MIN(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | ) AS timeStarted, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxProgress, | | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxScore, | | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | )) AS isCompleted, | (SELECT CASE | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 1 | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND StatementEntity.resultSuccess IS NOT NULL | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0) THEN 0 | ELSE NULL | END) AS isSuccessful, | (SELECT MAX(StatementEntity.resultDuration) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT)) AS resultDuration | FROM DistinctRegistrationUids | WHERE ( | CAST(? AS BIGINT) = CAST(? AS BIGINT) | OR EXISTS( | SELECT CoursePermission.cpUid | FROM CoursePermission | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = DistinctRegistrationUids.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE CoursePermission.cpClazzUid = DistinctRegistrationUids.statementClazzUid | AND ( CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | )) | SELECT SessionsByPerson.* | FROM SessionsByPerson | ORDER BY | CASE ? | WHEN 1 THEN timeStarted | ELSE NULL | END DESC, | CASE ? | WHEN 2 THEN timeStarted | ELSE NULL | END ASC, | CASE ? | WHEN 4 THEN maxScore | ELSE NULL | END DESC, | CASE ? | WHEN 3 THEN maxScore | ELSE NULL | END ASC, | CASE ? | WHEN 6 THEN maxProgress | ELSE NULL | END DESC, | CASE ? | WHEN 5 THEN maxProgress | ELSE NULL | END ASC | ) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | WITH | DistinctRegistrationUids(contextRegistrationHi, contextRegistrationLo, statementClazzUid) AS ( | SELECT DISTINCT StatementEntity.contextRegistrationHi, | StatementEntity.contextRegistrationLo, | StatementEntity.statementClazzUid | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = ?) | , | SessionsByPerson(contextRegistrationHi, contextRegistrationLo, timeStarted, maxProgress, maxScore, isCompleted, isSuccessful, resultDuration) AS ( | SELECT DistinctRegistrationUids.contextRegistrationHi AS contextRegistrationHi, | DistinctRegistrationUids.contextRegistrationLo AS contextRegistrationLo, | (SELECT MIN(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | ) AS timeStarted, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxProgress, | | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxScore, | | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | )) AS isCompleted, | (SELECT CASE | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 1 | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND StatementEntity.resultSuccess IS NOT NULL | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0) THEN 0 | ELSE NULL | END) AS isSuccessful, | (SELECT MAX(StatementEntity.resultDuration) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ?) AS resultDuration | FROM DistinctRegistrationUids | WHERE ( | ? = ? | OR EXISTS( | SELECT CoursePermission.cpUid | FROM CoursePermission | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = DistinctRegistrationUids.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE CoursePermission.cpClazzUid = DistinctRegistrationUids.statementClazzUid | AND ( CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | )) | SELECT SessionsByPerson.* | FROM SessionsByPerson | ORDER BY | CASE ? | WHEN 1 THEN timeStarted | ELSE NULL | END DESC, | CASE ? | WHEN 2 THEN timeStarted | ELSE NULL | END ASC, | CASE ? | WHEN 4 THEN maxScore | ELSE NULL | END DESC, | CASE ? | WHEN 3 THEN maxScore | ELSE NULL | END ASC, | CASE ? | WHEN 6 THEN maxProgress | ELSE NULL | END DESC, | CASE ? | WHEN 5 THEN maxProgress | ELSE NULL | END ASC | ) AS _PagingData LIMIT ? OFFSET ? |_tmp_timeStartedtimeStarted |SELECT COUNT(*) FROM ( | WITH | DistinctRegistrationUids(contextRegistrationHi, contextRegistrationLo, statementClazzUid) AS ( | SELECT DISTINCT StatementEntity.contextRegistrationHi, | StatementEntity.contextRegistrationLo, | StatementEntity.statementClazzUid | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT)) | , | SessionsByPerson(contextRegistrationHi, contextRegistrationLo, timeStarted, maxProgress, maxScore, isCompleted, isSuccessful, resultDuration) AS ( | SELECT DistinctRegistrationUids.contextRegistrationHi AS contextRegistrationHi, | DistinctRegistrationUids.contextRegistrationLo AS contextRegistrationLo, | (SELECT MIN(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | ) AS timeStarted, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxProgress, | | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxScore, | | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | )) AS isCompleted, | (SELECT CASE | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 1 | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND StatementEntity.resultSuccess IS NOT NULL | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0) THEN 0 | ELSE NULL | END) AS isSuccessful, | (SELECT MAX(StatementEntity.resultDuration) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT)) AS resultDuration | FROM DistinctRegistrationUids | WHERE ( | CAST(? AS BIGINT) = CAST(? AS BIGINT) | OR EXISTS( | SELECT CoursePermission.cpUid | FROM CoursePermission | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = DistinctRegistrationUids.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE CoursePermission.cpClazzUid = DistinctRegistrationUids.statementClazzUid | AND ( CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | )) | SELECT SessionsByPerson.* | FROM SessionsByPerson | ORDER BY | CASE ? | WHEN 1 THEN timeStarted | ELSE NULL | END DESC, | CASE ? | WHEN 2 THEN timeStarted | ELSE NULL | END ASC, | CASE ? | WHEN 4 THEN maxScore | ELSE NULL | END DESC, | CASE ? | WHEN 3 THEN maxScore | ELSE NULL | END ASC, | CASE ? | WHEN 6 THEN maxProgress | ELSE NULL | END DESC, | CASE ? | WHEN 5 THEN maxProgress | ELSE NULL | END ASC | ) AS _PagingCount |SELECT COUNT(*) FROM ( | WITH | DistinctRegistrationUids(contextRegistrationHi, contextRegistrationLo, statementClazzUid) AS ( | SELECT DISTINCT StatementEntity.contextRegistrationHi, | StatementEntity.contextRegistrationLo, | StatementEntity.statementClazzUid | FROM StatementEntity | WHERE StatementEntity.statementContentEntryUid = ? | AND StatementEntity.statementActorPersonUid = ?) | , | SessionsByPerson(contextRegistrationHi, contextRegistrationLo, timeStarted, maxProgress, maxScore, isCompleted, isSuccessful, resultDuration) AS ( | SELECT DistinctRegistrationUids.contextRegistrationHi AS contextRegistrationHi, | DistinctRegistrationUids.contextRegistrationLo AS contextRegistrationLo, | (SELECT MIN(StatementEntity.timestamp) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | ) AS timeStarted, | | (SELECT MAX(StatementEntity.extensionProgress) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxProgress, | | (SELECT MAX(StatementEntity.resultScoreScaled) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | ) AS maxScore, | | (SELECT EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 | )) AS isCompleted, | (SELECT CASE | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1) THEN 1 | WHEN EXISTS( | SELECT 1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 | AND StatementEntity.resultSuccess IS NOT NULL | AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0) THEN 0 | ELSE NULL | END) AS isSuccessful, | (SELECT MAX(StatementEntity.resultDuration) | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = DistinctRegistrationUids.contextRegistrationHi | AND StatementEntity.contextRegistrationLo = DistinctRegistrationUids.contextRegistrationLo | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ?) AS resultDuration | FROM DistinctRegistrationUids | WHERE ( | ? = ? | OR EXISTS( | SELECT CoursePermission.cpUid | FROM CoursePermission | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = DistinctRegistrationUids.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE CoursePermission.cpClazzUid = DistinctRegistrationUids.statementClazzUid | AND ( CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | ) | )) | SELECT SessionsByPerson.* | FROM SessionsByPerson | ORDER BY | CASE ? | WHEN 1 THEN timeStarted | ELSE NULL | END DESC, | CASE ? | WHEN 2 THEN timeStarted | ELSE NULL | END ASC, | CASE ? | WHEN 4 THEN maxScore | ELSE NULL | END DESC, | CASE ? | WHEN 3 THEN maxScore | ELSE NULL | END ASC, | CASE ? | WHEN 6 THEN maxProgress | ELSE NULL | END DESC, | CASE ? | WHEN 5 THEN maxProgress | ELSE NULL | END ASC | ) AS _PagingCount |findActivityEntryLangMapsForStatementsBySessionActivityLangMapEntryregistrationHiregistrationLo | | SELECT ActivityLangMapEntry.* | FROM ActivityLangMapEntry | WHERE ActivityLangMapEntry.almeActivityUid IN ( | SELECT DISTINCT StatementEntity.statementObjectUid1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = CAST(? AS BIGINT) | AND StatementEntity.contextRegistrationLo = CAST(? AS BIGINT)) | | | SELECT ActivityLangMapEntry.* | FROM ActivityLangMapEntry | WHERE ActivityLangMapEntry.almeActivityUid IN ( | SELECT DISTINCT StatementEntity.statementObjectUid1 | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = ? | AND StatementEntity.contextRegistrationLo = ?) | |_tmp_almeActivityUidalmeActivityUid_tmp_almeHashalmeHash_tmp_almeLangCodealmeLangCode_tmp_almePropNamealmePropName_tmp_almeValuealmeValue_tmp_almeAieHashalmeAieHash_tmp_almeLastModalmeLastModfindStatementsBySessionStatementEntityAndVerbselectedPersonUiddeSelectedVerbUidsActivityEntityVerbEntityVerbLangMapEntry |SELECT * FROM ( | SELECT StatementEntity.*, VerbEntity.*, VerbLangMapEntry.*, ActivityEntity.*, | ActivityLangMapEntry.*, | ActivityLangMapDescription.almeValue AS statementActivityDescription | FROM StatementEntity | LEFT JOIN VerbEntity | ON StatementEntity.statementVerbUid = VerbEntity.verbUid | LEFT JOIN VerbLangMapEntry | ON (VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash) = | (SELECT VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash | FROM VerbLangMapEntry | WHERE VerbLangMapEntry.vlmeVerbUid = VerbEntity.verbUid | ORDER BY VerbLangMapEntry.vlmeLastModified DESC | LIMIT 1) | LEFT JOIN ActivityEntity | ON ActivityEntity.actUid = StatementEntity.statementObjectUid1 | LEFT JOIN ActivityLangMapEntry | ON (ActivityLangMapEntry.almeActivityUid, ActivityLangMapEntry.almeHash) = | (SELECT ActivityLangMapEntry.almeActivityUid, ActivityLangMapEntry.almeHash | FROM ActivityLangMapEntry | WHERE ActivityLangMapEntry.almeActivityUid = StatementEntity.statementObjectUid1 | AND ActivityLangMapEntry.almePropName = 'name' | LIMIT 1) | LEFT JOIN ActivityLangMapEntry ActivityLangMapDescription | ON (ActivityLangMapDescription.almeActivityUid, ActivityLangMapDescription.almeHash) = | (SELECT ActivityLangMapDescription.almeActivityUid, ActivityLangMapDescription.almeHash | FROM ActivityLangMapEntry ActivityLangMapDescription | WHERE ActivityLangMapDescription.almeActivityUid = StatementEntity.statementObjectUid1 | AND ActivityLangMapDescription.almePropName = 'description' | LIMIT 1) | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.contextRegistrationHi = CAST(? AS BIGINT) | AND StatementEntity.contextRegistrationLo = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND (? = '%' OR VerbEntity.verbUrlId LIKE ?) | AND StatementEntity.statementVerbUid NOT IN (?) | /* Permission check */ | AND ( | CAST(? AS BIGINT) = CAST(? AS BIGINT) | OR EXISTS( | SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( | CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole | ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted | ) | OR ( | | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | ) | ) | ORDER BY | CASE ? | WHEN 1 THEN StatementEntity.timestamp | ELSE NULL | END DESC, | CASE ? | WHEN 2 THEN StatementEntity.timestamp | ELSE NULL | END ASC, | CASE ? | WHEN 3 THEN StatementEntity.resultScoreRaw | ELSE NULL | END DESC, | CASE ? | WHEN 4 THEN StatementEntity.resultScoreRaw | ELSE NULL | END ASC |) AS _PagingData LIMIT ? OFFSET ? |SELECT * FROM ( | SELECT StatementEntity.*, VerbEntity.*, VerbLangMapEntry.*, ActivityEntity.*, | ActivityLangMapEntry.*, | ActivityLangMapDescription.almeValue AS statementActivityDescription | FROM StatementEntity | LEFT JOIN VerbEntity | ON StatementEntity.statementVerbUid = VerbEntity.verbUid | LEFT JOIN VerbLangMapEntry | ON (VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash) = | (SELECT VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash | FROM VerbLangMapEntry | WHERE VerbLangMapEntry.vlmeVerbUid = VerbEntity.verbUid | ORDER BY VerbLangMapEntry.vlmeLastModified DESC | LIMIT 1) | LEFT JOIN ActivityEntity | ON ActivityEntity.actUid = StatementEntity.statementObjectUid1 | LEFT JOIN ActivityLangMapEntry | ON (ActivityLangMapEntry.almeActivityUid, ActivityLangMapEntry.almeHash) = | (SELECT ActivityLangMapEntry.almeActivityUid, ActivityLangMapEntry.almeHash | FROM ActivityLangMapEntry | WHERE ActivityLangMapEntry.almeActivityUid = StatementEntity.statementObjectUid1 | AND ActivityLangMapEntry.almePropName = 'name' | LIMIT 1) | LEFT JOIN ActivityLangMapEntry ActivityLangMapDescription | ON (ActivityLangMapDescription.almeActivityUid, ActivityLangMapDescription.almeHash) = | (SELECT ActivityLangMapDescription.almeActivityUid, ActivityLangMapDescription.almeHash | FROM ActivityLangMapEntry ActivityLangMapDescription | WHERE ActivityLangMapDescription.almeActivityUid = StatementEntity.statementObjectUid1 | AND ActivityLangMapDescription.almePropName = 'description' | LIMIT 1) | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.contextRegistrationHi = ? | AND StatementEntity.contextRegistrationLo = ? | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND (? = '%' OR VerbEntity.verbUrlId LIKE ?) | AND StatementEntity.statementVerbUid NOT IN (?) | /* Permission check */ | AND ( | ? = ? | OR EXISTS( | SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( | CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole | ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted | ) | OR ( | | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | ) | ) | ORDER BY | CASE ? | WHEN 1 THEN StatementEntity.timestamp | ELSE NULL | END DESC, | CASE ? | WHEN 2 THEN StatementEntity.timestamp | ELSE NULL | END ASC, | CASE ? | WHEN 3 THEN StatementEntity.resultScoreRaw | ELSE NULL | END DESC, | CASE ? | WHEN 4 THEN StatementEntity.resultScoreRaw | ELSE NULL | END ASC |) AS _PagingData LIMIT ? OFFSET ? |_tmp_statementActivityDescriptionstatementActivityDescription_tmp_VerbEntity_nullCount_tmp_verbUidverbUid_tmp_verbUrlIdverbUrlId_tmp_verbDeletedverbDeleted_tmp_verbLctverbLct_tmp_VerbEntity_isAllNull_tmp_VerbLangMapEntry_nullCount_tmp_vlmeVerbUidvlmeVerbUid_tmp_vlmeLangHashvlmeLangHash_tmp_vlmeLangCodevlmeLangCode_tmp_vlmeEntryStringvlmeEntryString_tmp_vlmeLastModifiedvlmeLastModified_tmp_VerbLangMapEntry_isAllNull_tmp_ActivityEntity_nullCount_tmp_actUidactUid_tmp_actIdIriactIdIri_tmp_actTypeactType_tmp_actMoreInfoactMoreInfo_tmp_actInteractionTypeactInteractionType_tmp_actCorrectResponsePatternsactCorrectResponsePatterns_tmp_actLctactLct_tmp_ActivityEntity_isAllNull_tmp_ActivityLangMapEntry_nullCount_tmp_ActivityLangMapEntry_isAllNullverbverbDisplayactivityactivityLangMapEntry |SELECT COUNT(*) FROM ( | SELECT StatementEntity.*, VerbEntity.*, VerbLangMapEntry.*, ActivityEntity.*, | ActivityLangMapEntry.*, | ActivityLangMapDescription.almeValue AS statementActivityDescription | FROM StatementEntity | LEFT JOIN VerbEntity | ON StatementEntity.statementVerbUid = VerbEntity.verbUid | LEFT JOIN VerbLangMapEntry | ON (VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash) = | (SELECT VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash | FROM VerbLangMapEntry | WHERE VerbLangMapEntry.vlmeVerbUid = VerbEntity.verbUid | ORDER BY VerbLangMapEntry.vlmeLastModified DESC | LIMIT 1) | LEFT JOIN ActivityEntity | ON ActivityEntity.actUid = StatementEntity.statementObjectUid1 | LEFT JOIN ActivityLangMapEntry | ON (ActivityLangMapEntry.almeActivityUid, ActivityLangMapEntry.almeHash) = | (SELECT ActivityLangMapEntry.almeActivityUid, ActivityLangMapEntry.almeHash | FROM ActivityLangMapEntry | WHERE ActivityLangMapEntry.almeActivityUid = StatementEntity.statementObjectUid1 | AND ActivityLangMapEntry.almePropName = 'name' | LIMIT 1) | LEFT JOIN ActivityLangMapEntry ActivityLangMapDescription | ON (ActivityLangMapDescription.almeActivityUid, ActivityLangMapDescription.almeHash) = | (SELECT ActivityLangMapDescription.almeActivityUid, ActivityLangMapDescription.almeHash | FROM ActivityLangMapEntry ActivityLangMapDescription | WHERE ActivityLangMapDescription.almeActivityUid = StatementEntity.statementObjectUid1 | AND ActivityLangMapDescription.almePropName = 'description' | LIMIT 1) | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.contextRegistrationHi = CAST(? AS BIGINT) | AND StatementEntity.contextRegistrationLo = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | AND (? = '%' OR VerbEntity.verbUrlId LIKE ?) | AND StatementEntity.statementVerbUid NOT IN (?) | /* Permission check */ | AND ( | CAST(? AS BIGINT) = CAST(? AS BIGINT) | OR EXISTS( | SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( | CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole | ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted | ) | OR ( | | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | ) | ) | ORDER BY | CASE ? | WHEN 1 THEN StatementEntity.timestamp | ELSE NULL | END DESC, | CASE ? | WHEN 2 THEN StatementEntity.timestamp | ELSE NULL | END ASC, | CASE ? | WHEN 3 THEN StatementEntity.resultScoreRaw | ELSE NULL | END DESC, | CASE ? | WHEN 4 THEN StatementEntity.resultScoreRaw | ELSE NULL | END ASC |) AS _PagingCount |SELECT COUNT(*) FROM ( | SELECT StatementEntity.*, VerbEntity.*, VerbLangMapEntry.*, ActivityEntity.*, | ActivityLangMapEntry.*, | ActivityLangMapDescription.almeValue AS statementActivityDescription | FROM StatementEntity | LEFT JOIN VerbEntity | ON StatementEntity.statementVerbUid = VerbEntity.verbUid | LEFT JOIN VerbLangMapEntry | ON (VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash) = | (SELECT VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash | FROM VerbLangMapEntry | WHERE VerbLangMapEntry.vlmeVerbUid = VerbEntity.verbUid | ORDER BY VerbLangMapEntry.vlmeLastModified DESC | LIMIT 1) | LEFT JOIN ActivityEntity | ON ActivityEntity.actUid = StatementEntity.statementObjectUid1 | LEFT JOIN ActivityLangMapEntry | ON (ActivityLangMapEntry.almeActivityUid, ActivityLangMapEntry.almeHash) = | (SELECT ActivityLangMapEntry.almeActivityUid, ActivityLangMapEntry.almeHash | FROM ActivityLangMapEntry | WHERE ActivityLangMapEntry.almeActivityUid = StatementEntity.statementObjectUid1 | AND ActivityLangMapEntry.almePropName = 'name' | LIMIT 1) | LEFT JOIN ActivityLangMapEntry ActivityLangMapDescription | ON (ActivityLangMapDescription.almeActivityUid, ActivityLangMapDescription.almeHash) = | (SELECT ActivityLangMapDescription.almeActivityUid, ActivityLangMapDescription.almeHash | FROM ActivityLangMapEntry ActivityLangMapDescription | WHERE ActivityLangMapDescription.almeActivityUid = StatementEntity.statementObjectUid1 | AND ActivityLangMapDescription.almePropName = 'description' | LIMIT 1) | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.contextRegistrationHi = ? | AND StatementEntity.contextRegistrationLo = ? | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | AND (? = '%' OR VerbEntity.verbUrlId LIKE ?) | AND StatementEntity.statementVerbUid NOT IN (?) | /* Permission check */ | AND ( | ? = ? | OR EXISTS( | SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( | CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole | ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted | ) | OR ( | | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | | ) | ) | ORDER BY | CASE ? | WHEN 1 THEN StatementEntity.timestamp | ELSE NULL | END DESC, | CASE ? | WHEN 2 THEN StatementEntity.timestamp | ELSE NULL | END ASC, | CASE ? | WHEN 3 THEN StatementEntity.resultScoreRaw | ELSE NULL | END DESC, | CASE ? | WHEN 4 THEN StatementEntity.resultScoreRaw | ELSE NULL | END ASC |) AS _PagingCount |getUniqueVerbsForSessionVerbEntityAndName | | WITH DistinctVerbUrls(statementVerbUid) AS ( | SELECT DISTINCT StatementEntity.statementVerbUid | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = CAST(? AS BIGINT) | AND StatementEntity.contextRegistrationLo = CAST(? AS BIGINT) | AND StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | AND StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | ) | | SELECT VerbEntity.*, | VerbLangMapEntry.* | FROM DistinctVerbUrls | JOIN VerbEntity | ON VerbEntity.verbUid = DistinctVerbUrls.statementVerbUid | LEFT JOIN VerbLangMapEntry | ON (VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash) = | (SELECT VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash | FROM VerbLangMapEntry | WHERE VerbLangMapEntry.vlmeVerbUid = DistinctVerbUrls.statementVerbUid | ORDER BY VerbLangMapEntry.vlmeLastModified DESC | LIMIT 1) | | | WITH DistinctVerbUrls(statementVerbUid) AS ( | SELECT DISTINCT StatementEntity.statementVerbUid | FROM StatementEntity | WHERE StatementEntity.contextRegistrationHi = ? | AND StatementEntity.contextRegistrationLo = ? | AND StatementEntity.statementActorPersonUid = ? | AND StatementEntity.statementContentEntryUid = ? | ) | | SELECT VerbEntity.*, | VerbLangMapEntry.* | FROM DistinctVerbUrls | JOIN VerbEntity | ON VerbEntity.verbUid = DistinctVerbUrls.statementVerbUid | LEFT JOIN VerbLangMapEntry | ON (VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash) = | (SELECT VerbLangMapEntry.vlmeVerbUid, VerbLangMapEntry.vlmeLangHash | FROM VerbLangMapEntry | WHERE VerbLangMapEntry.vlmeVerbUid = DistinctVerbUrls.statementVerbUid | ORDER BY VerbLangMapEntry.vlmeLastModified DESC | LIMIT 1) | |verbEntityverbNamescoreOrProgressDataExistsForContent | | SELECT * | FROM (SELECT StatementEntity.* | | FROM StatementEntity | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | /* permission check */ | AND ( StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | )) | | AND ( StatementEntity.extensionProgress IS NOT NULL | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | LIMIT 1) AS ProgressStatements | UNION | SELECT * | FROM (SELECT StatementEntity.* | | FROM StatementEntity | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = CAST(? AS BIGINT) | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.statementContentEntryUid = CAST(? AS BIGINT) | /* permission check */ | AND ( StatementEntity.statementActorPersonUid = CAST(? AS BIGINT) | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( CoursePermission.cpToPersonUid = CAST(? AS BIGINT) | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE CAST(? AS BIGINT) != 0 | AND SystemPermission.spToPersonUid = CAST(? AS BIGINT) | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | )) | | AND ( StatementEntity.resultScoreScaled IS NOT NULL | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | LIMIT 1) AS ScoreStatements | | | SELECT * | FROM (SELECT StatementEntity.* | | FROM StatementEntity | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.statementContentEntryUid = ? | /* permission check */ | AND ( StatementEntity.statementActorPersonUid = ? | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | )) | | AND ( StatementEntity.extensionProgress IS NOT NULL | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | LIMIT 1) AS ProgressStatements | UNION | SELECT * | FROM (SELECT StatementEntity.* | | FROM StatementEntity | LEFT JOIN ClazzEnrolment | ON ClazzEnrolment.clazzEnrolmentUid = | COALESCE( | (SELECT ClazzEnrolment.clazzEnrolmentUid | FROM ClazzEnrolment | WHERE ClazzEnrolment.clazzEnrolmentPersonUid = ? | AND ClazzEnrolment.clazzEnrolmentActive | AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid | ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC | LIMIT 1), 0) | WHERE StatementEntity.statementContentEntryUid = ? | /* permission check */ | AND ( StatementEntity.statementActorPersonUid = ? | OR EXISTS(SELECT CoursePermission.cpUid | FROM CoursePermission | WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid | AND ( CoursePermission.cpToPersonUid = ? | OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) | AND (CoursePermission.cpPermissionsFlag & 128) > 0 | AND NOT CoursePermission.cpIsDeleted) | OR ( | EXISTS(SELECT 1 | FROM SystemPermission | WHERE ? != 0 | AND SystemPermission.spToPersonUid = ? | AND (SystemPermission.spPermissionsFlag & | | 128 | | ) > 0 | AND NOT SystemPermission.spIsDeleted) | )) | | AND ( StatementEntity.resultScoreScaled IS NOT NULL | AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) | LIMIT 1) AS ScoreStatements | |findByUidWithActivityAsyncStatementAndActivity | | SELECT StatementEntity.*, ActivityEntity.* | FROM StatementEntity | LEFT JOIN ActivityEntity | ON ActivityEntity.actUid = StatementEntity.statementObjectUid1 | WHERE StatementEntity.statementIdHi = CAST(? AS BIGINT) | AND StatementEntity.statementIdLo = CAST(? AS BIGINT) | | | SELECT StatementEntity.*, ActivityEntity.* | FROM StatementEntity | LEFT JOIN ActivityEntity | ON ActivityEntity.actUid = StatementEntity.statementObjectUid1 | WHERE StatementEntity.statementIdHi = ? | AND StatementEntity.statementIdLo = ? | |activityEntity      "            %* (&   %+  " /         # !'$   ( +/$%#0comustadmobilecoredbdaoxapiStatementDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoStatementDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingrepoDaoFlowHelperhttpRepoDaoFlowHelperGET_PROPERTYRepositoryDaoWithFlowHelperinsertOrIgnoreListAsyncentityListcollectionsListlibentitiesStatementEntityreplicationwithRepoChangeMonitorAsynccoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAgetOneStatementkotlinxflowFlow_resultgetResultsStatementReportDataqueryDoorQuerygetListResultsandroidxpagingPagingSourceIntStatementEntityAndDisplayDetailsgetPersonPersongetStatementsstatementIdHistatementIdLofindByIdfindStatusStatementsByContentEntryUidcontentEntryUidcourseBlockUidaccountPersonUidfindStatusStatementByParentContentEntryUidparentUidfindStatusStatementsForStudentByClazzUidclazzUidfindStatusForStudentsInClazzStatementscompositesStatementEntityAndRelatedroleIdsortOrdersearchTextfiltercurrentTimestudentsLimitstudentsOffsetcompletionOrProgressTrueValBooleanfindStatusForStudentsInClazzByUidListstudentPersonUidsfindActorEntitiesForStudentInClazzByUidListActorEntityfindStatusForStudentsInClazzBlockStatusfindStatusForStudentsInClazzAsFlowasRepoFlowreplicateHttpRequestCatchAndLogStatementDao/findStatusForStudentsInClazzAsFlowFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompanionListSerializeronClientRepoDoorMessageHttpResponsefindResumableRegistrationactivityUidactorUidfindPersonsWithAttemptsStatementsfindPersonsWithAttemptsPersonAndPictureAndNumAttemptsDoorRepositoryReplicatePullPagingSourceStatementDao/findPersonsWithAttemptsSuspendFunction1ParameterNameparamsLoadParamsappcashPagingSourceLoadParams_pagingParamsreplicateHttpRequestOrThrownullablepagingSourceLoadParametersendOfPaginationReachedfindSessionsByPersonAndContentStatementspersonUidfindSessionsByPersonAndContentSessionTimeAndProgressInfoStatementDao/findSessionsByPersonAndContentfindActivityEntryLangMapsForStatementsBySessionActivityLangMapEntryregistrationHiregistrationLofindStatementsBySessionStatementEntityAndVerbselectedPersonUiddeSelectedVerbUidsStatementDao/findStatementsBySessiongetUniqueVerbsForSessionVerbEntityAndNameStatementDao/getUniqueVerbsForSessionscoreOrProgressDataExistsForContentStatementDao/scoreOrProgressDataExistsForContentfindByUidWithActivityAsyncStatementAndActivityINSTANCE_RECEIVER    comustadmobilecoredbdaoxapiStatementEntityJsonDaoDEFINEDkotlinUnitAnyinsertOrIgnoreListAsyncentityListcollectionsListlibentitiesStatementEntityJsongetStatementsstmtJsonIdHiLongstmtJsonIdLoINSTANCE_RECEIVER& " "     comustadmobilecoredbdaoxapiStatementEntityJsonDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoStatementEntityJsonDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreListAsyncentityListcollectionsListlibentitiesStatementEntityJsonGET_PROPERTYgetStatementsstmtJsonIdHiLongstmtJsonIdLoINSTANCE_RECEIVER_  " (  s   .   -       comustadmobilecoredbdaoxapiStatementEntityJsonDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitStatementEntityJsonDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterStatementEntityJson_ignoreEntityInsertionAdapterlibentitiesStatementEntityJsonOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR IGNORE INTO StatementEntityJson (stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement) VALUES(?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongstmtJsonIdHistmtJsonIdLostmtEtagsetStringfullStatementINSTANCE_RECEIVERinsertOrIgnoreListAsyncentityListcollectionsListinsertListAsyncgetStatementsextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT StatementEntityJson.* | FROM StatementEntityJson | WHERE ( (CAST(? AS BIGINT) = 0 AND CAST(? AS BIGINT) = 0) | OR (stmtJsonIdHi = CAST(? AS BIGINT) AND stmtJsonIdLo = CAST(? AS BIGINT))) | | | | SELECT StatementEntityJson.* | FROM StatementEntityJson | WHERE ( (? = 0 AND ? = 0) | OR (stmtJsonIdHi = ? AND stmtJsonIdLo = ?)) | | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_stmtJsonIdHigetLong_tmp_stmtJsonIdLo_tmp_stmtEtag_tmp_fullStatementgetStringapplyExtensionFunctionType$this$applyEQLAMBDAA      "       comustadmobilecoredbdaoxapiStatementEntityJsonDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoStatementEntityJsonDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreListAsyncentityListcollectionsListlibentitiesStatementEntityJsonreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAgetStatementsstmtJsonIdHistmtJsonIdLo_resultINSTANCE_RECEIVER    comustadmobilecoredbdaoxapiVerbDaoDEFINEDkotlinUnitAnyinsertOrIgnoreAsyncentitiescollectionsListlibVerbEntityfindByUiduidLongfindByVerbUrlverbUrlStringINSTANCE_RECEIVER7  "          comustadmobilecoredbdaoxapiVerbDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoVerbDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreAsyncentitiescollectionsListlibVerbEntity_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitverbLctEQutilsystemTimeInMillisLAMBDAGET_PROPERTYfindByUiduidfindByVerbUrlverbUrlStringINSTANCE_RECEIVERd  "    _   %              comustadmobilecoredbdaoxapiVerbDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitVerbDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterVerbEntity_ignoreEntityInsertionAdapterlibentitiesVerbEntityOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR IGNORE INTO VerbEntity (verbUid, verbUrlId, verbDeleted, verbLct) VALUES(?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongverbUidsetStringverbUrlIdsetBooleanverbDeletedverbLctINSTANCE_RECEIVERinsertOrIgnoreAsynccollectionsListinsertListAsyncfindByUiduidextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT VerbEntity.* | FROM VerbEntity | WHERE VerbEntity.verbUid = CAST(? AS BIGINT) | | | SELECT VerbEntity.* | FROM VerbEntity | WHERE VerbEntity.verbUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_verbUidgetLong_tmp_verbUrlIdgetString_tmp_verbDeletedgetBoolean_tmp_verbLctapplyExtensionFunctionType$this$applyEQLAMBDAfindByVerbUrlverbUrl | | SELECT VerbEntity.* | FROM VerbEntity | WHERE VerbEntity.verbUrlId = ? | A       "        comustadmobilecoredbdaoxapiVerbDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoVerbDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertOrIgnoreAsyncentitiescollectionsListlibVerbEntityreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByUiduid_resultfindByVerbUrlverbUrlINSTANCE_RECEIVER   comustadmobilecoredbdaoxapiVerbLangMapEntryDaoDEFINEDkotlinUnitAnyupsertListlistcollectionsListlibentitiesVerbLangMapEntryfindByVerbUidAsyncverbUidLongINSTANCE_RECEIVER5  "        comustadmobilecoredbdaoxapiVerbLangMapEntryDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoVerbLangMapEntryDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertListlistcollectionsListlibentitiesVerbLangMapEntry_generatedPksMutableListLongmutableListOfforEachIteratoriteratorFunction1LOCAL_FUNCTION_FOR_LAMBDAitvlmeLastModifiedEQutilsystemTimeInMillisLAMBDAGET_PROPERTYfindByVerbUidAsyncverbUidINSTANCE_RECEIVERd  " %     +        comustadmobilecoredbdaoxapiVerbLangMapEntryDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitVerbLangMapEntryDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterVerbLangMapEntry_upsertEntityInsertionAdapterlibentitiesVerbLangMapEntryOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT OR REPLACE INTO VerbLangMapEntry (vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified) VALUES(?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententitysetLongIntLongvlmeVerbUidvlmeLangHashsetStringvlmeLangCodevlmeEntryStringvlmeLastModifiedINSTANCE_RECEIVERupsertListlistcollectionsListinsertListAsyncfindByVerbUidAsyncverbUidextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT VerbLangMapEntry.* | FROM VerbLangMapEntry | WHERE VerbLangMapEntry.vlmeVerbUid = CAST(? AS BIGINT) | | | SELECT VerbLangMapEntry.* | FROM VerbLangMapEntry | WHERE VerbLangMapEntry.vlmeVerbUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapRowsit_tmp_vlmeVerbUidgetLong_tmp_vlmeLangHash_tmp_vlmeLangCodegetString_tmp_vlmeEntryString_tmp_vlmeLastModifiedapplyExtensionFunctionType$this$applyEQLAMBDA@      "       comustadmobilecoredbdaoxapiVerbLangMapEntryDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoVerbLangMapEntryDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingupsertListlistcollectionsListlibentitiesVerbLangMapEntryreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByVerbUidAsyncverbUid_resultINSTANCE_RECEIVER!   'comustadmobilecoredbdaoxapiXapiSessionEntityDaoDEFINEDkotlinUnitAnyinsertAsyncxapiSessionEntitylibentitiesXapiSessionEntityfindByUidAsyncuidLongupdateLatestAsCompletecompletedBooleantimexseUidfindMostRecentSessionByActorAndActivityaccountPersonUidactorUidxseRootActivityUidcontentEntryVersionUidclazzUidINSTANCE_RECEIVERC   "         'comustadmobilecoredbdaoxapiXapiSessionEntityDao_DoorWrapperDEFINED_dbdoorroomRoomDatabase_daoXapiSessionEntityDaokotlinUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsyncxapiSessionEntitylibentitiesXapiSessionEntity_pkManagerDoorPrimaryKeyManagerextdoorPrimaryKeyManagerGET_PROPERTYrootDatabaseIFBooleaninternalirEQEQLongxseUid_newPknextIdAsyncIntEQxseLastModutilsystemTimeInMillisfindByUidAsyncuidupdateLatestAsCompletecompletedtimefindMostRecentSessionByActorAndActivityaccountPersonUidactorUidxseRootActivityUidcontentEntryVersionUidclazzUidINSTANCE_RECEIVER  " %          +              '%comustadmobilecoredbdaoxapiXapiSessionEntityDao_JdbcImplDEFINED_dbdoorroomRoomDatabasekotlinUnitXapiSessionEntityDaoPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothing_insertAdapterXapiSessionEntity_abortEntityInsertionAdapterlibentitiesXapiSessionEntityOBJECT_LITERALGET_PROPERTYmakeSqlStringreturnsIdBooleanINSERT INTO XapiSessionEntity (xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)bindPreparedStmtToEntitystmtjdbcPreparedStatemententityIFinternalirEQEQLongxseUidsetObjectIntsetLongxseLastModxseRegistrationHixseRegistrationLoxseUsUidxseAccountPersonUidxseActorUidsetStringxseAccountUsernamexseClazzUidxseCbUidxseContentEntryUidxseContentEntryVersionUidxseRootActivityIdxseRootActivityUidxseStartTimexseExpireTimexseAuthsetBooleanxseCompletedknownActorUidToPersonUidsINSTANCE_RECEIVERinsertAsyncxapiSessionEntityfindByUidAsyncuidextprepareAndUseStatementAsyncPreparedStatementConfigtexttrimMargin | | SELECT XapiSessionEntity.* | FROM XapiSessionEntity | WHERE XapiSessionEntity.xseUid = CAST(? AS BIGINT) | | | SELECT XapiSessionEntity.* | FROM XapiSessionEntity | WHERE XapiSessionEntity.xseUid = ? | |coroutinesSuspendFunction1LOCAL_FUNCTION_FOR_LAMBDA_stmtuseResultsResultSetexecuteQueryAsyncKmpFunction1_resultmapNextRowit_tmp_xseUidgetLong_tmp_xseLastMod_tmp_xseRegistrationHi_tmp_xseRegistrationLo_tmp_xseUsUid_tmp_xseAccountPersonUid_tmp_xseActorUid_tmp_xseAccountUsernamegetStringNonNull_tmp_xseClazzUid_tmp_xseCbUid_tmp_xseContentEntryUid_tmp_xseContentEntryVersionUid_tmp_xseRootActivityId_tmp_xseRootActivityUid_tmp_xseStartTime_tmp_xseExpireTime_tmp_xseAuthgetString_tmp_xseCompletedgetBoolean_tmp_knownActorUidToPersonUidsapplyExtensionFunctionType$this$applyEQLAMBDAupdateLatestAsCompletecompletedtime | | UPDATE XapiSessionEntity | SET xseCompleted = ?, | xseLastMod = CAST(? AS BIGINT) | WHERE xseUid = CAST(? AS BIGINT) | | | | UPDATE XapiSessionEntity | SET xseCompleted = ?, | xseLastMod = ? | WHERE xseUid = ? | | |executeUpdateAsyncKmpfindMostRecentSessionByActorAndActivityaccountPersonUidactorUidcontentEntryVersionUidclazzUid | | SELECT XapiSessionEntity.* | FROM XapiSessionEntity | WHERE XapiSessionEntity.xseRootActivityUid = CAST(? AS BIGINT) | AND XapiSessionEntity.xseActorUid = CAST(? AS BIGINT) | AND XapiSessionEntity.xseContentEntryVersionUid = CAST(? AS BIGINT) | AND XapiSessionEntity.xseClazzUid = CAST(? AS BIGINT) | AND EXISTS( | SELECT 1 | FROM ActorEntity | WHERE ActorEntity.actorUid = CAST(? AS BIGINT) | AND ActorEntity.actorPersonUid = CAST(? AS BIGINT)) | | | SELECT XapiSessionEntity.* | FROM XapiSessionEntity | WHERE XapiSessionEntity.xseRootActivityUid = ? | AND XapiSessionEntity.xseActorUid = ? | AND XapiSessionEntity.xseContentEntryVersionUid = ? | AND XapiSessionEntity.xseClazzUid = ? | AND EXISTS( | SELECT 1 | FROM ActorEntity | WHERE ActorEntity.actorUid = ? | AND ActorEntity.actorPersonUid = ?) | |k      "       '<          #comustadmobilecoredbdaoxapiXapiSessionEntityDao_RepokotlinSuppressArrayStringREDUNDANT_PROJECTIONLocalVariableNameClassNameDEFINED_dbdoorroomRoomDatabase_repoDoorDatabaseRepository_daoXapiSessionEntityDao_httpClientioktorclientHttpClient_clientIdLong_endpointUnitPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothinginsertAsyncxapiSessionEntitylibentitiesXapiSessionEntityreplicationwithRepoChangeMonitorAsyncGET_PROPERTYcoroutinesSuspendFunction0LOCAL_FUNCTION_FOR_LAMBDALAMBDAfindByUidAsyncuid_resultupdateLatestAsCompletecompletedBooleantimexseUidfindMostRecentSessionByActorAndActivityaccountPersonUidactorUidxseRootActivityUidcontentEntryVersionUidclazzUidhttpreplicateHttpRequestCatchAndLogXapiSessionEntityDao/findMostRecentSessionByActorAndActivityFunction0_responsestatementHttpResponserequestgetExtensionFunctionTypeFunction1HttpRequestBuilder$this$getextsetRepoUrlRepositoryConfigconfigdoorNodeIdHeaderheadercache-controlno-storeparameterkotlinxserializationjsonJsonencodeToStringKSerializerbuiltinsserializerCompaniononClientRepoDoorMessageHttpResponseINSTANCE_RECEIVERg                comustadmobilelibdbentitiesextshallowCopyDEFINEDClazzAssignmentblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitcaUidEQLongGET_PROPERTYcaTitleStringcaDescriptioncaGroupUidcaActiveBooleancaClassCommentEnabledcaPrivateCommentsEnabledcaCompletionCriteriaIntcaRequireFileSubmissioncaFileTypecaSizeLimitcaNumberOfFilescaSubmissionPolicycaMarkingTypecaRequireTextSubmissioncaTextLimitTypecaTextLimitcaXObjectUidcaClazzUidcaPeerReviewerCountcaLocalChangeSeqNumcaMasterChangeSeqNumcaLastChangedBycaLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDAQ       "(($$%% &&!!comustadmobilelibdbentitiesextshallowCopyDEFINEDClazzEnrolmentWithLeavingReasonblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitleavingReasonEQLeavingReasonGET_PROPERTYtimeZoneStringclazzEnrolmentUidLongclazzEnrolmentPersonUidclazzEnrolmentClazzUidclazzEnrolmentDateJoinedclazzEnrolmentDateLeftclazzEnrolmentRoleIntclazzEnrolmentAttendancePercentageFloatclazzEnrolmentActiveBooleanclazzEnrolmentLeavingReasonUidclazzEnrolmentOutcomeclazzEnrolmentLocalChangeSeqNumclazzEnrolmentMasterChangeSeqNumclazzEnrolmentLastChangedByclazzEnrolmentLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA5    !! #))!''*00)//%++'--comustadmobilelibdbentitiesextshallowCopyDEFINEDClazzLogAttendanceRecordblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitclazzLogAttendanceRecordUidEQLongGET_PROPERTYclazzLogAttendanceRecordClazzLogUidclazzLogAttendanceRecordPersonUidattendanceStatusIntclazzLogAttendanceRecordMasterChangeSeqNumclazzLogAttendanceRecordLocalChangeSeqNumclazzLogAttendanceRecordLastChangedByclazzLogAttendanceRecordLastChangedTimeinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA9  "    !!#))!''*00)//%++'--comustadmobilelibdbentitiesextshallowCopyDEFINEDClazzLogAttendanceRecordWithPersonblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitpersonEQPersonGET_PROPERTYclazzLogAttendanceRecordUidLongclazzLogAttendanceRecordClazzLogUidclazzLogAttendanceRecordPersonUidattendanceStatusIntclazzLogAttendanceRecordMasterChangeSeqNumclazzLogAttendanceRecordLocalChangeSeqNumclazzLogAttendanceRecordLastChangedByclazzLogAttendanceRecordLastChangedTimeinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDAO           comustadmobilelibdbentitiesextshallowCopyDEFINEDClazzLogblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitclazzLogUidEQLongGET_PROPERTYclazzLogClazzUidlogDatetimeRecordedclazzLogDoneBooleancancellationNoteStringclazzLogCancelledclazzLogNumPresentIntclazzLogNumAbsentclazzLogNumPartialclazzLogScheduleUidclazzLogStatusFlagclazzLogMSQNclazzLogLCSNclazzLogLCBclazzLogLastChangedTimeinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDAw  )           !!!!"(( comustadmobilelibdbentitiesextshallowCopyDEFINEDClazzWithHolidayCalendarAndAndTerminologyblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitholidayCalendarEQHolidayCalendarGET_PROPERTYterminologyCourseTerminologycoursePictureCoursePictureclazzUidLongclazzNameStringclazzDescattendanceAverageFloatclazzHolidayUMCalendarUidclazzScheuleUMCalendarUidisClazzActiveBooleanclazzLocationUidclazzStartTimeclazzEndTimeclazzFeaturesclazzSchoolUidclazzEnrolmentPolicyIntclazzTerminologyUidclazzMasterChangeSeqNumclazzLocalChangeSeqNumclazzLastChangedByclazzLctclazzTimeZoneclazzStudentsPersonGroupUidclazzTeachersPersonGroupUidclazzPendingStudentsPersonGroupUidclazzParentsPersonGroupUidclazzCodeclazzOwnerPersonUidinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDAp                     ##$$comustadmobilelibdbentitiesextshallowCopyDEFINEDContentEntryblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitcontentEntryUidEQLongGET_PROPERTYtitleStringdescriptionentryIdauthorpublisherlicenseTypeIntlicenseNamelicenseUrlsourceUrlthumbnailUrllastModifiedprimaryLanguageUidlanguageVariantUidcontentFlagsleafBooleanpublikceInactivecompletionCriteriaminScorecontentTypeFlagcontentOwnercontentOwnerTypecontentEntryLocalChangeSeqNumcontentEntryMasterChangeSeqNumcontentEntryLastChangedBycontentEntryLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDAw                     ##$$comustadmobilelibdbentitiesextshallowCopyDEFINEDContentEntryWithBlockAndLanguageblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitlanguageEQLanguageGET_PROPERTYCourseBlockcontentEntryUidLongtitleStringdescriptionentryIdauthorpublisherlicenseTypeIntlicenseNamelicenseUrlsourceUrlthumbnailUrllastModifiedprimaryLanguageUidlanguageVariantUidcontentFlagsleafBooleanpublikceInactivecompletionCriteriaminScorecontentTypeFlagcontentOwnercontentOwnerTypecontentEntryLocalChangeSeqNumcontentEntryMasterChangeSeqNumcontentEntryLastChangedBycontentEntryLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA?          comustadmobilelibdbentitiesextshallowCopyDEFINEDCourseAssignmentMarkblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitcamUidEQLongGET_PROPERTYcamAssignmentUidcamSubmitterUidcamMarkerSubmitterUidcamMarkerPersonUidcamMarkerCommentStringcamMarkFloatcamMaxMarkcamPenaltycamLctcamClazzUidinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA6           comustadmobilelibdbentitiesextshallowCopyDEFINEDCourseAssignmentSubmissionblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitcasUidEQLongGET_PROPERTYcasAssignmentUidcasSubmitterUidcasSubmitterPersonUidcasTextStringcasTypeIntcasTimestampcasClazzUidinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA,        comustadmobilelibdbentitiesextshallowCopyDEFINEDCourseGroupMemberblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitcgmUidEQLongGET_PROPERTYcgmSetUidcgmGroupNumberIntcgmPersonUidcgmLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA1           comustadmobilelibdbentitiesextshallowCopyDEFINEDCourseGroupSetblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitcgsUidEQLongGET_PROPERTYcgsNameStringcgsTotalGroupsIntcgsActiveBooleancgsClazzUidcgsLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA)         comustadmobilelibdbentitiesextshallowCopyDEFINEDCourseTerminologyblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitctUidEQLongGET_PROPERTYctTitleStringctTerminologyctLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDAB     """" $$comustadmobilelibdbentitiesextshallowCopyDEFINEDDiscussionPostblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitdiscussionPostUidEQLongGET_PROPERTYdiscussionPostReplyToPostUiddiscussionPostTitleStringdiscussionPostMessagediscussionPostStartDatediscussionPostCourseBlockUiddpDeletedBooleandiscussionPostStartedPersonUiddiscussionPostClazzUiddiscussionPostLctdiscussionPostVisiblediscussionPostArchiveinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA7      ""!! comustadmobilelibdbentitiesextshallowCopyDEFINEDHolidayCalendarblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitumCalendarUidEQLongGET_PROPERTYumCalendarNameStringumCalendarCategoryIntumCalendarActiveBooleanumCalendarMasterChangeSeqNumumCalendarLocalChangeSeqNumumCalendarLastChangedByumCalendarLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA@          comustadmobilelibdbentitiesextshallowCopyDEFINEDLanguageblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitlangUidEQLongGET_PROPERTYnameStringiso_639_1_standardiso_639_2_standardiso_639_3_standardLanguage_TypelanguageActiveBooleanlangLocalChangeSeqNumlangMasterChangeSeqNumlangLastChangedByIntlangLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA0      comustadmobilelibdbentitiesextshallowCopyDEFINEDLeavingReasonblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitleavingReasonUidEQLongGET_PROPERTYleavingReasonTitleStringleavingReasonMCSNleavingReasonCSNleavingReasonLCBIntleavingReasonLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA/        comustadmobilelibdbentitiesextshallowCopyDEFINEDPeerReviewerAllocationblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitpraUidEQLongGET_PROPERTYpraMarkerSubmitterUidpraToMarkerSubmitterUidpraAssignmentUidpraActiveBooleanpraLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA+        ""comustadmobilelibdbentitiesextshallowCopyDEFINEDPersonAndDisplayDetailblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitpersonEQPersonGET_PROPERTYparentJoinPersonParentJoinpersonPicturePersonPicturepersonPictureTransferJobItemTransferJobIteminvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDAI             comustadmobilelibdbentitiesextshallowCopyDEFINEDPersonParentJoinblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitppjUidEQLongGET_PROPERTYppjPcsnppjLcsnppjLcbIntppjLctppjParentPersonUidppjMinorPersonUidppjRelationshipppjEmailStringppjPhoneppjInactiveBooleanppjStatusppjApprovalTiemstampppjApprovalIpAddrinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDAg                      comustadmobilelibdbentitiesextshallowCopyDEFINEDPersonblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitpersonUidEQLongGET_PROPERTYusernameStringfirstNameslastNameemailAddrphoneNumgenderIntactiveBooleandateOfBirthpersonAddresspersonOrgIdpersonGroupUidpersonLctpersonCountrypersonTypepersonMasterChangeSeqNumpersonLocalChangeSeqNumpersonLastChangedByadminpersonNotesfatherNamefatherNumbermotherNamemotherNuminvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA5      comustadmobilelibdbentitiesextshallowCopyDEFINEDReportFilterblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitreportFilterUidEQIntGET_PROPERTYreportFilterSeriesUidreportFilterFieldreportFilterConditionreportFilterValueStringreportFilterDropDownValuereportFilterValueBetweenXreportFilterValueBetweenYinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDAE          comustadmobilelibdbentitiesextshallowCopyDEFINEDScheduleblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitscheduleUidEQLongGET_PROPERTYsceduleStartTimescheduleEndTimescheduleDayIntscheduleMonthscheduleFrequencyumCalendarUidscheduleClazzUidscheduleMasterChangeSeqNumscheduleLocalChangeSeqNumscheduleLastChangedByscheduleLastChangedTimescheduleActiveBooleaninvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA:          comustadmobilelibdbentitiesextshallowCopyDEFINEDSiteblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitsiteUidEQLongGET_PROPERTYsitePcsnsiteLcsnsiteLcbIntsiteLctsiteNameStringguestLoginBooleanregistrationAllowedauthSaltinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA:           comustadmobilelibdbentitiesextshallowCopyDEFINEDSiteTermsblockkotlinExtensionFunctionTypeFunction1UnitNothingalsoLOCAL_FUNCTION_FOR_LAMBDAitsTermsUidEQLongGET_PROPERTYtermsHtmlStringsTermsLangsTermsLangUidsTermsActiveBooleansTermsLastChangedByIntsTermsPrimaryCsnsTermsLocalCsnsTermsLctinvokeINVOKEVARIABLE_AS_FUNCTIONLAMBDA  comustadmobilecoredbMAX_VALID_DATEDEFINEDPROPERTY_BACKING_FIELDkotlinLongDEFAULT_PROPERTY_ACCESSORNothingMS_PER_HOURIntUNSET_DISTANT_FUTURE;             comustadmobilecoredbJobStatusDEFINEDkotlinUnitAnyNOT_QUEUEDPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingPAUSEDWAITING_MINWAITING_MAXQUEUEDWAITING_FOR_CONNECTIONRUNNING_MINRUNNING_MAXRUNNINGCOMPLETE_MINCOMPLETE_MAXPARTIAL_FAILEDCOMPLETEFAILEDCANCELEDstatusToStringStringstatusWHENIR_TEMPORARY_VARIABLEtmp0_subjectBooleaninternalirEQEQGET_PROPERTYother:INSTANCE_RECEIVER7   %%      comustadmobilecoredbPermissionFlagsDEFINEDkotlinUnitAnyCOURSE_VIEWPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingCOURSE_EDITCOURSE_MODERATECOURSE_MANAGE_STUDENT_ENROLMENTCOURSE_MANAGE_TEACHER_ENROLMENTCOURSE_ATTENDANCE_VIEWCOURSE_ATTENDANCE_RECORDCOURSE_LEARNINGRECORD_VIEWCOURSE_LEARNINGRECORD_EDITADD_COURSEADD_PERSONDIRECT_ENROLMANAGE_USER_PERMISSIONSPERSON_VIEWMANAGE_SITE_SETTINGSEDIT_ALL_PERSONSEDIT_LIBRARY_CONTENTRESET_PASSWORDSALLINSTANCE_RECEIVER comustadmobilecoredb  !!!!!!!!!!!!!!!!!!!!!!!!""""!!!!!!!!!!!!!!!! !!!!""""""""!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""!!!!""""""""""""""""""""1A12808149?.-77@5GCD=718-34:62368D44;60620.6<>3::459D55%$%$$$%%%$%#%%$%$#%%%#%%$$$$$$$%$%%$$$$$$$$$%%$#$$$##$# +  }nOOO)*|***ztnz111 x111v+++#---Hb))),***3CCC|111 |,,,ft...x..."""r|"""b|((( >XXXBtAt1118444wzv...*"""zLnv...d@@@FFFp      Utt|,,,#tBt[."N2."+.,*623<#0,"., &*;""0/*"*6 :"!%% #0">q>gJ>>wZi>q>gJ>x>nQ>p>fI =m=cH=l=bG]>w>mP?x?nO>u>kN==|a==x]w==y^=|=rW=v=lQ>q>gJ>x>nQA>t>jM>z>pS>v>lO>r>hK>s>iL>v>lOA>x>nQ >>z]>t>jM$>t>jM>{>qT >v>lOV?q?gH?w?mN ?s?iJ?q?g?o?eF?w?mNE?}?sTo??uVu?t?jK?{?qR?{?qR.>t>jD?v?lM?z?pQ??{\?v?lM%?v?lJJ  comustadmobilecoredbdropOldSqliteTriggersDEFINEDkotlinUnitdoorDoorSqlDatabaseexecSQLStringDROP TRIGGER IF EXISTS INS_LOC_14DROP TRIGGER IF EXISTS INS_PRI_14DROP TRIGGER IF EXISTS UPD_LOC_14DROP TRIGGER IF EXISTS UPD_PRI_14DROP TRIGGER IF EXISTS INS_LOC_15DROP TRIGGER IF EXISTS INS_PRI_15DROP TRIGGER IF EXISTS UPD_LOC_15DROP TRIGGER IF EXISTS UPD_PRI_15DROP TRIGGER IF EXISTS INS_LOC_21DROP TRIGGER IF EXISTS INS_PRI_21DROP TRIGGER IF EXISTS UPD_LOC_21DROP TRIGGER IF EXISTS UPD_PRI_21DROP TRIGGER IF EXISTS INS_LOC_17DROP TRIGGER IF EXISTS INS_PRI_17DROP TRIGGER IF EXISTS UPD_LOC_17DROP TRIGGER IF EXISTS UPD_PRI_17DROP TRIGGER IF EXISTS INS_LOC_28DROP TRIGGER IF EXISTS INS_PRI_28DROP TRIGGER IF EXISTS UPD_LOC_28DROP TRIGGER IF EXISTS UPD_PRI_28DROP TRIGGER IF EXISTS INS_LOC_99DROP TRIGGER IF EXISTS INS_PRI_99DROP TRIGGER IF EXISTS UPD_LOC_99DROP TRIGGER IF EXISTS UPD_PRI_99DROP TRIGGER IF EXISTS INS_LOC_173DROP TRIGGER IF EXISTS INS_PRI_173DROP TRIGGER IF EXISTS UPD_LOC_173DROP TRIGGER IF EXISTS UPD_PRI_173DROP TRIGGER IF EXISTS INS_LOC_53DROP TRIGGER IF EXISTS INS_PRI_53DROP TRIGGER IF EXISTS UPD_LOC_53DROP TRIGGER IF EXISTS UPD_PRI_53DROP TRIGGER IF EXISTS INS_LOC_56DROP TRIGGER IF EXISTS INS_PRI_56DROP TRIGGER IF EXISTS UPD_LOC_56DROP TRIGGER IF EXISTS UPD_PRI_56DROP TRIGGER IF EXISTS INS_LOC_57DROP TRIGGER IF EXISTS INS_PRI_57DROP TRIGGER IF EXISTS UPD_LOC_57DROP TRIGGER IF EXISTS UPD_PRI_57DROP TRIGGER IF EXISTS INS_LOC_55DROP TRIGGER IF EXISTS INS_PRI_55DROP TRIGGER IF EXISTS UPD_LOC_55DROP TRIGGER IF EXISTS UPD_PRI_55DROP TRIGGER IF EXISTS INS_LOC_9DROP TRIGGER IF EXISTS INS_PRI_9DROP TRIGGER IF EXISTS UPD_LOC_9DROP TRIGGER IF EXISTS UPD_PRI_9DROP TRIGGER IF EXISTS INS_LOC_6DROP TRIGGER IF EXISTS INS_PRI_6DROP TRIGGER IF EXISTS UPD_LOC_6DROP TRIGGER IF EXISTS UPD_PRI_6DROP TRIGGER IF EXISTS INS_LOC_65DROP TRIGGER IF EXISTS INS_PRI_65DROP TRIGGER IF EXISTS UPD_LOC_65DROP TRIGGER IF EXISTS UPD_PRI_65DROP TRIGGER IF EXISTS INS_LOC_410DROP TRIGGER IF EXISTS INS_PRI_410DROP TRIGGER IF EXISTS UPD_LOC_410DROP TRIGGER IF EXISTS UPD_PRI_410DROP TRIGGER IF EXISTS INS_LOC_178DROP TRIGGER IF EXISTS INS_PRI_178DROP TRIGGER IF EXISTS UPD_LOC_178DROP TRIGGER IF EXISTS UPD_PRI_178DROP TRIGGER IF EXISTS INS_LOC_42DROP TRIGGER IF EXISTS INS_PRI_42DROP TRIGGER IF EXISTS UPD_LOC_42DROP TRIGGER IF EXISTS UPD_PRI_42DROP TRIGGER IF EXISTS INS_LOC_3DROP TRIGGER IF EXISTS INS_PRI_3DROP TRIGGER IF EXISTS UPD_LOC_3DROP TRIGGER IF EXISTS UPD_PRI_3DROP TRIGGER IF EXISTS INS_LOC_7DROP TRIGGER IF EXISTS INS_PRI_7DROP TRIGGER IF EXISTS UPD_LOC_7DROP TRIGGER IF EXISTS UPD_PRI_7DROP TRIGGER IF EXISTS INS_LOC_8DROP TRIGGER IF EXISTS INS_PRI_8DROP TRIGGER IF EXISTS UPD_LOC_8DROP TRIGGER IF EXISTS UPD_PRI_8DROP TRIGGER IF EXISTS INS_LOC_2DROP TRIGGER IF EXISTS INS_PRI_2DROP TRIGGER IF EXISTS UPD_LOC_2DROP TRIGGER IF EXISTS UPD_PRI_2DROP TRIGGER IF EXISTS INS_LOC_1DROP TRIGGER IF EXISTS INS_PRI_1DROP TRIGGER IF EXISTS UPD_LOC_1DROP TRIGGER IF EXISTS UPD_PRI_1DROP TRIGGER IF EXISTS INS_LOC_13DROP TRIGGER IF EXISTS INS_PRI_13DROP TRIGGER IF EXISTS UPD_LOC_13DROP TRIGGER IF EXISTS UPD_PRI_13DROP TRIGGER IF EXISTS INS_LOC_10DROP TRIGGER IF EXISTS INS_PRI_10DROP TRIGGER IF EXISTS UPD_LOC_10DROP TRIGGER IF EXISTS UPD_PRI_10DROP TRIGGER IF EXISTS INS_LOC_45DROP TRIGGER IF EXISTS INS_PRI_45DROP TRIGGER IF EXISTS UPD_LOC_45DROP TRIGGER IF EXISTS UPD_PRI_45DROP TRIGGER IF EXISTS INS_LOC_47DROP TRIGGER IF EXISTS INS_PRI_47DROP TRIGGER IF EXISTS UPD_LOC_47DROP TRIGGER IF EXISTS UPD_PRI_47DROP TRIGGER IF EXISTS INS_LOC_43DROP TRIGGER IF EXISTS INS_PRI_43DROP TRIGGER IF EXISTS UPD_LOC_43DROP TRIGGER IF EXISTS UPD_PRI_43DROP TRIGGER IF EXISTS INS_LOC_44DROP TRIGGER IF EXISTS INS_PRI_44DROP TRIGGER IF EXISTS UPD_LOC_44DROP TRIGGER IF EXISTS UPD_PRI_44DROP TRIGGER IF EXISTS INS_LOC_50DROP TRIGGER IF EXISTS INS_PRI_50DROP TRIGGER IF EXISTS UPD_LOC_50DROP TRIGGER IF EXISTS UPD_PRI_50DROP TRIGGER IF EXISTS INS_LOC_51DROP TRIGGER IF EXISTS INS_PRI_51DROP TRIGGER IF EXISTS UPD_LOC_51DROP TRIGGER IF EXISTS UPD_PRI_51DROP TRIGGER IF EXISTS INS_LOC_62DROP TRIGGER IF EXISTS INS_PRI_62DROP TRIGGER IF EXISTS UPD_LOC_62DROP TRIGGER IF EXISTS UPD_PRI_62DROP TRIGGER IF EXISTS INS_LOC_64DROP TRIGGER IF EXISTS INS_PRI_64DROP TRIGGER IF EXISTS UPD_LOC_64DROP TRIGGER IF EXISTS UPD_PRI_64DROP TRIGGER IF EXISTS INS_LOC_60DROP TRIGGER IF EXISTS INS_PRI_60DROP TRIGGER IF EXISTS UPD_LOC_60DROP TRIGGER IF EXISTS UPD_PRI_60DROP TRIGGER IF EXISTS INS_LOC_66DROP TRIGGER IF EXISTS INS_PRI_66DROP TRIGGER IF EXISTS UPD_LOC_66DROP TRIGGER IF EXISTS UPD_PRI_66DROP TRIGGER IF EXISTS INS_LOC_68DROP TRIGGER IF EXISTS INS_PRI_68DROP TRIGGER IF EXISTS UPD_LOC_68DROP TRIGGER IF EXISTS UPD_PRI_68DROP TRIGGER IF EXISTS INS_LOC_70DROP TRIGGER IF EXISTS INS_PRI_70DROP TRIGGER IF EXISTS UPD_LOC_70DROP TRIGGER IF EXISTS UPD_PRI_70DROP TRIGGER IF EXISTS INS_LOC_72DROP TRIGGER IF EXISTS INS_PRI_72DROP TRIGGER IF EXISTS UPD_LOC_72DROP TRIGGER IF EXISTS UPD_PRI_72DROP TRIGGER IF EXISTS INS_LOC_74DROP TRIGGER IF EXISTS INS_PRI_74DROP TRIGGER IF EXISTS UPD_LOC_74DROP TRIGGER IF EXISTS UPD_PRI_74DROP TRIGGER IF EXISTS INS_LOC_164DROP TRIGGER IF EXISTS INS_PRI_164DROP TRIGGER IF EXISTS UPD_LOC_164DROP TRIGGER IF EXISTS UPD_PRI_164DROP TRIGGER IF EXISTS INS_LOC_200DROP TRIGGER IF EXISTS INS_PRI_200DROP TRIGGER IF EXISTS UPD_LOC_200DROP TRIGGER IF EXISTS UPD_PRI_200DROP TRIGGER IF EXISTS INS_LOC_208DROP TRIGGER IF EXISTS INS_PRI_208DROP TRIGGER IF EXISTS UPD_LOC_208DROP TRIGGER IF EXISTS UPD_PRI_208DROP TRIGGER IF EXISTS INS_LOC_101DROP TRIGGER IF EXISTS INS_PRI_101DROP TRIGGER IF EXISTS UPD_LOC_101DROP TRIGGER IF EXISTS UPD_PRI_101DROP TRIGGER IF EXISTS INS_LOC_189DROP TRIGGER IF EXISTS INS_PRI_189DROP TRIGGER IF EXISTS UPD_LOC_189DROP TRIGGER IF EXISTS UPD_PRI_189DROP TRIGGER IF EXISTS INS_LOC_301DROP TRIGGER IF EXISTS INS_PRI_301DROP TRIGGER IF EXISTS UPD_LOC_301DROP TRIGGER IF EXISTS UPD_PRI_301DROP TRIGGER IF EXISTS INS_LOC_300DROP TRIGGER IF EXISTS INS_PRI_300DROP TRIGGER IF EXISTS UPD_LOC_300DROP TRIGGER IF EXISTS UPD_PRI_300DROP TRIGGER IF EXISTS INS_LOC_302DROP TRIGGER IF EXISTS INS_PRI_302DROP TRIGGER IF EXISTS UPD_LOC_302DROP TRIGGER IF EXISTS UPD_PRI_302DROP TRIGGER IF EXISTS INS_LOC_272DROP TRIGGER IF EXISTS INS_PRI_272DROP TRIGGER IF EXISTS UPD_LOC_272DROP TRIGGER IF EXISTS UPD_PRI_272DROP TRIGGER IF EXISTS INS_LOC_134DROP TRIGGER IF EXISTS INS_PRI_134DROP TRIGGER IF EXISTS UPD_LOC_134DROP TRIGGER IF EXISTS UPD_PRI_134DROP TRIGGER IF EXISTS INS_LOC_512DROP TRIGGER IF EXISTS INS_PRI_512DROP TRIGGER IF EXISTS UPD_LOC_512DROP TRIGGER IF EXISTS UPD_PRI_512DROP TRIGGER IF EXISTS INS_LOC_48DROP TRIGGER IF EXISTS INS_PRI_48DROP TRIGGER IF EXISTS UPD_LOC_48DROP TRIGGER IF EXISTS UPD_PRI_48DROP TRIGGER IF EXISTS INS_LOC_419DROP TRIGGER IF EXISTS INS_PRI_419DROP TRIGGER IF EXISTS UPD_LOC_419DROP TRIGGER IF EXISTS UPD_PRI_419DROP TRIGGER IF EXISTS INS_LOC_520DROP TRIGGER IF EXISTS INS_PRI_520DROP TRIGGER IF EXISTS UPD_LOC_520DROP TRIGGER IF EXISTS UPD_PRI_520DROP TRIGGER IF EXISTS INS_LOC_521DROP TRIGGER IF EXISTS INS_PRI_521DROP TRIGGER IF EXISTS UPD_LOC_521DROP TRIGGER IF EXISTS UPD_PRI_521DROP TRIGGER IF EXISTS INS_LOC_678DROP TRIGGER IF EXISTS INS_PRI_678DROP TRIGGER IF EXISTS UPD_LOC_678DROP TRIGGER IF EXISTS UPD_PRI_678DROP TRIGGER IF EXISTS INS_LOC_679DROP TRIGGER IF EXISTS INS_PRI_679DROP TRIGGER IF EXISTS UPD_LOC_679DROP TRIGGER IF EXISTS UPD_PRI_679dropOldPostgresTriggersDROP TRIGGER IF EXISTS inccsn_14_trig ON clazzlogDROP TRIGGER IF EXISTS inccsn_15_trig ON clazzlogattendancerecordDROP TRIGGER IF EXISTS inccsn_21_trig ON scheduleDROP TRIGGER IF EXISTS inccsn_17_trig ON daterangeDROP TRIGGER IF EXISTS inccsn_28_trig ON holidaycalendarDROP TRIGGER IF EXISTS inccsn_99_trig ON holidayDROP TRIGGER IF EXISTS inccsn_173_trig ON scheduledcheckDROP TRIGGER IF EXISTS inccsn_53_trig ON auditlogDROP TRIGGER IF EXISTS inccsn_56_trig ON customfieldDROP TRIGGER IF EXISTS inccsn_57_trig ON customfieldvalueDROP TRIGGER IF EXISTS inccsn_55_trig ON customfieldvalueoptionDROP TRIGGER IF EXISTS inccsn_9_trig ON personDROP TRIGGER IF EXISTS inccsn_6_trig ON clazzDROP TRIGGER IF EXISTS inccsn_65_trig ON clazzenrolmentDROP TRIGGER IF EXISTS inccsn_410_trig ON leavingreasonDROP TRIGGER IF EXISTS inccsn_178_trig ON personcustomfieldvalueDROP TRIGGER IF EXISTS inccsn_42_trig ON contententryDROP TRIGGER IF EXISTS inccsn_3_trig ON contententrycontentcategoryjoinDROP TRIGGER IF EXISTS inccsn_7_trig ON contententryparentchildjoinDROP TRIGGER IF EXISTS inccsn_8_trig ON contententryrelatedentryjoinDROP TRIGGER IF EXISTS inccsn_2_trig ON contentcategoryschemaDROP TRIGGER IF EXISTS inccsn_1_trig ON contentcategoryDROP TRIGGER IF EXISTS inccsn_13_trig ON languageDROP TRIGGER IF EXISTS inccsn_10_trig ON languagevariantDROP TRIGGER IF EXISTS inccsn_45_trig ON roleDROP TRIGGER IF EXISTS inccsn_47_trig ON entityroleDROP TRIGGER IF EXISTS inccsn_43_trig ON persongroupDROP TRIGGER IF EXISTS inccsn_44_trig ON persongroupmemberDROP TRIGGER IF EXISTS inccsn_50_trig ON personpictureDROP TRIGGER IF EXISTS inccsn_51_trig ON containerDROP TRIGGER IF EXISTS inccsn_62_trig ON verbentityDROP TRIGGER IF EXISTS inccsn_64_trig ON xobjectentityDROP TRIGGER IF EXISTS inccsn_60_trig ON statemententityDROP TRIGGER IF EXISTS inccsn_66_trig ON contextxobjectstatementjoinDROP TRIGGER IF EXISTS inccsn_68_trig ON agententityDROP TRIGGER IF EXISTS inccsn_70_trig ON stateentityDROP TRIGGER IF EXISTS inccsn_72_trig ON statecontententityDROP TRIGGER IF EXISTS inccsn_74_trig ON xlangmapentryDROP TRIGGER IF EXISTS inccsn_164_trig ON schoolDROP TRIGGER IF EXISTS inccsn_200_trig ON schoolmemberDROP TRIGGER IF EXISTS inccsn_208_trig ON commentsDROP TRIGGER IF EXISTS inccsn_101_trig ON reportDROP TRIGGER IF EXISTS inccsn_189_trig ON siteDROP TRIGGER IF EXISTS inccsn_301_trig ON learnergroupDROP TRIGGER IF EXISTS inccsn_300_trig ON learnergroupmemberDROP TRIGGER IF EXISTS inccsn_302_trig ON grouplearningsessionDROP TRIGGER IF EXISTS inccsn_272_trig ON sitetermsDROP TRIGGER IF EXISTS inccsn_134_trig ON clazzcontentjoinDROP TRIGGER IF EXISTS inccsn_512_trig ON personparentjoinDROP TRIGGER IF EXISTS inccsn_48_trig ON scopedgrantDROP TRIGGER IF EXISTS inccsn_419_trig ON errorreportDROP TRIGGER IF EXISTS inccsn_520_trig ON clazzassignmentDROP TRIGGER IF EXISTS inccsn_521_trig ON clazzassignmentcontentjoinDROP TRIGGER IF EXISTS inccsn_678_trig ON personauth2DROP TRIGGER IF EXISTS inccsn_679_trig ON usersessiondropOldPostgresFunctionsDROP FUNCTION IF EXISTS inccsn_101_fnDROP FUNCTION IF EXISTS inccsn_10_fnDROP FUNCTION IF EXISTS inccsn_134_fnDROP FUNCTION IF EXISTS inccsn_13_fnDROP FUNCTION IF EXISTS inccsn_14_fnDROP FUNCTION IF EXISTS inccsn_15_fnDROP FUNCTION IF EXISTS inccsn_164_fnDROP FUNCTION IF EXISTS inccsn_173_fnDROP FUNCTION IF EXISTS inccsn_178_fnDROP FUNCTION IF EXISTS inccsn_17_fnDROP FUNCTION IF EXISTS inccsn_189_fnDROP FUNCTION IF EXISTS inccsn_1_fnDROP FUNCTION IF EXISTS inccsn_200_fnDROP FUNCTION IF EXISTS inccsn_208_fnDROP FUNCTION IF EXISTS inccsn_21_fnDROP FUNCTION IF EXISTS inccsn_272_fnDROP FUNCTION IF EXISTS inccsn_28_fnDROP FUNCTION IF EXISTS inccsn_2_fnDROP FUNCTION IF EXISTS inccsn_300_fnDROP FUNCTION IF EXISTS inccsn_301_fnDROP FUNCTION IF EXISTS inccsn_302_fnDROP FUNCTION IF EXISTS inccsn_3_fnDROP FUNCTION IF EXISTS inccsn_410_fnDROP FUNCTION IF EXISTS inccsn_419_fnDROP FUNCTION IF EXISTS inccsn_42_fnDROP FUNCTION IF EXISTS inccsn_43_fnDROP FUNCTION IF EXISTS inccsn_44_fnDROP FUNCTION IF EXISTS inccsn_45_fnDROP FUNCTION IF EXISTS inccsn_47_fnDROP FUNCTION IF EXISTS inccsn_48_fnDROP FUNCTION IF EXISTS inccsn_50_fnDROP FUNCTION IF EXISTS inccsn_512_fnDROP FUNCTION IF EXISTS inccsn_51_fnDROP FUNCTION IF EXISTS inccsn_520_fnDROP FUNCTION IF EXISTS inccsn_521_fnDROP FUNCTION IF EXISTS inccsn_53_fnDROP FUNCTION IF EXISTS inccsn_55_fnDROP FUNCTION IF EXISTS inccsn_56_fnDROP FUNCTION IF EXISTS inccsn_57_fnDROP FUNCTION IF EXISTS inccsn_60_fnDROP FUNCTION IF EXISTS inccsn_62_fnDROP FUNCTION IF EXISTS inccsn_64_fnDROP FUNCTION IF EXISTS inccsn_65_fnDROP FUNCTION IF EXISTS inccsn_66_fnDROP FUNCTION IF EXISTS inccsn_678_fnDROP FUNCTION IF EXISTS inccsn_679_fnDROP FUNCTION IF EXISTS inccsn_68_fnDROP FUNCTION IF EXISTS inccsn_6_fnDROP FUNCTION IF EXISTS inccsn_70_fnDROP FUNCTION IF EXISTS inccsn_72_fnDROP FUNCTION IF EXISTS inccsn_74_fnDROP FUNCTION IF EXISTS inccsn_7_fnDROP FUNCTION IF EXISTS inccsn_8_fnDROP FUNCTION IF EXISTS inccsn_99_fnDROP FUNCTION IF EXISTS inccsn_9_fnaddReplicationEntities_stmtListcollectionsMutableListmutableListOfplusAssignPLUSEQDROP TABLE IF EXISTS PersonCustomFieldValueIFBooleaninternalirEQEQIntextdbTypeDoorDbTypeCompanionSQLITEGET_PROPERTY CREATE TABLE IF NOT EXISTS ClazzLogReplicate ( clPk INTEGER NOT NULL, clVersionId INTEGER NOT NULL DEFAULT 0, clDestination INTEGER NOT NULL, clPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (clPk, clDestination)) CREATE INDEX index_ClazzLogReplicate_clPk_clDestination_clVersionId ON ClazzLogReplicate (clPk, clDestination, clVersionId) CREATE INDEX index_ClazzLogReplicate_clDestination_clPending ON ClazzLogReplicate (clDestination, clPending) CREATE TRIGGER ch_ins_14 AFTER INSERT ON ClazzLog BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 14 AS chTableId, NEW.clazzLogUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 14 AND chEntityPk = NEW.clazzLogUid); END CREATE TRIGGER ch_upd_14 AFTER UPDATE ON ClazzLog BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 14 AS chTableId, NEW.clazzLogUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 14 AND chEntityPk = NEW.clazzLogUid); END CREATE TRIGGER ch_del_14 AFTER DELETE ON ClazzLog BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 14 AS chTableId, OLD.clazzLogUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 14 AND chEntityPk = OLD.clazzLogUid); END CREATE VIEW ClazzLog_ReceiveView AS SELECT ClazzLog.*, ClazzLogReplicate.* FROM ClazzLog LEFT JOIN ClazzLogReplicate ON ClazzLogReplicate.clPk = ClazzLog.clazzLogUid CREATE TRIGGER clazzlog_remote_insert_ins INSTEAD OF INSERT ON ClazzLog_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ClazzLog(clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime) VALUES (NEW.clazzLogUid, NEW.clazzLogClazzUid, NEW.logDate, NEW.timeRecorded, NEW.clazzLogDone, NEW.cancellationNote, NEW.clazzLogCancelled, NEW.clazzLogNumPresent, NEW.clazzLogNumAbsent, NEW.clazzLogNumPartial, NEW.clazzLogScheduleUid, NEW.clazzLogStatusFlag, NEW.clazzLogMSQN, NEW.clazzLogLCSN, NEW.clazzLogLCB, NEW.clazzLogLastChangedTime) /*psql ON CONFLICT (clazzLogUid) DO UPDATE SET clazzLogClazzUid = EXCLUDED.clazzLogClazzUid, logDate = EXCLUDED.logDate, timeRecorded = EXCLUDED.timeRecorded, clazzLogDone = EXCLUDED.clazzLogDone, cancellationNote = EXCLUDED.cancellationNote, clazzLogCancelled = EXCLUDED.clazzLogCancelled, clazzLogNumPresent = EXCLUDED.clazzLogNumPresent, clazzLogNumAbsent = EXCLUDED.clazzLogNumAbsent, clazzLogNumPartial = EXCLUDED.clazzLogNumPartial, clazzLogScheduleUid = EXCLUDED.clazzLogScheduleUid, clazzLogStatusFlag = EXCLUDED.clazzLogStatusFlag, clazzLogMSQN = EXCLUDED.clazzLogMSQN, clazzLogLCSN = EXCLUDED.clazzLogLCSN, clazzLogLCB = EXCLUDED.clazzLogLCB, clazzLogLastChangedTime = EXCLUDED.clazzLogLastChangedTime */; END CREATE TABLE IF NOT EXISTS ClazzLogAttendanceRecordReplicate ( clarPk INTEGER NOT NULL, clarVersionId INTEGER NOT NULL DEFAULT 0, clarDestination INTEGER NOT NULL, clarPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (clarPk, clarDestination)) CREATE INDEX index_ClazzLogAttendanceRecordReplicate_clarPk_clarDestination_clarVersionId ON ClazzLogAttendanceRecordReplicate (clarPk, clarDestination, clarVersionId) CREATE INDEX index_ClazzLogAttendanceRecordReplicate_clarDestination_clarPending ON ClazzLogAttendanceRecordReplicate (clarDestination, clarPending) CREATE TRIGGER ch_ins_15 AFTER INSERT ON ClazzLogAttendanceRecord BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 15 AS chTableId, NEW.clazzLogAttendanceRecordUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 15 AND chEntityPk = NEW.clazzLogAttendanceRecordUid); END CREATE TRIGGER ch_upd_15 AFTER UPDATE ON ClazzLogAttendanceRecord BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 15 AS chTableId, NEW.clazzLogAttendanceRecordUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 15 AND chEntityPk = NEW.clazzLogAttendanceRecordUid); END CREATE TRIGGER ch_del_15 AFTER DELETE ON ClazzLogAttendanceRecord BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 15 AS chTableId, OLD.clazzLogAttendanceRecordUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 15 AND chEntityPk = OLD.clazzLogAttendanceRecordUid); END CREATE VIEW ClazzLogAttendanceRecord_ReceiveView AS SELECT ClazzLogAttendanceRecord.*, ClazzLogAttendanceRecordReplicate.* FROM ClazzLogAttendanceRecord LEFT JOIN ClazzLogAttendanceRecordReplicate ON ClazzLogAttendanceRecordReplicate.clarPk = ClazzLogAttendanceRecord.clazzLogAttendanceRecordUid CREATE TRIGGER clazzlogattendancerecord_remote_insert_ins INSTEAD OF INSERT ON ClazzLogAttendanceRecord_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ClazzLogAttendanceRecord(clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime) VALUES (NEW.clazzLogAttendanceRecordUid, NEW.clazzLogAttendanceRecordClazzLogUid, NEW.clazzLogAttendanceRecordPersonUid, NEW.attendanceStatus, NEW.clazzLogAttendanceRecordMasterChangeSeqNum, NEW.clazzLogAttendanceRecordLocalChangeSeqNum, NEW.clazzLogAttendanceRecordLastChangedBy, NEW.clazzLogAttendanceRecordLastChangedTime) /*psql ON CONFLICT (clazzLogAttendanceRecordUid) DO UPDATE SET clazzLogAttendanceRecordClazzLogUid = EXCLUDED.clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid = EXCLUDED.clazzLogAttendanceRecordPersonUid, attendanceStatus = EXCLUDED.attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum = EXCLUDED.clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum = EXCLUDED.clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy = EXCLUDED.clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime = EXCLUDED.clazzLogAttendanceRecordLastChangedTime */; END CREATE TABLE IF NOT EXISTS ScheduleReplicate ( schedulePk INTEGER NOT NULL, scheduleVersionId INTEGER NOT NULL DEFAULT 0, scheduleDestination INTEGER NOT NULL, schedulePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (schedulePk, scheduleDestination)) CREATE INDEX index_ScheduleReplicate_schedulePk_scheduleDestination_scheduleVersionId ON ScheduleReplicate (schedulePk, scheduleDestination, scheduleVersionId) CREATE INDEX index_ScheduleReplicate_scheduleDestination_schedulePending ON ScheduleReplicate (scheduleDestination, schedulePending) CREATE TRIGGER ch_ins_21 AFTER INSERT ON Schedule BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 21 AS chTableId, NEW.scheduleUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 21 AND chEntityPk = NEW.scheduleUid); END CREATE TRIGGER ch_upd_21 AFTER UPDATE ON Schedule BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 21 AS chTableId, NEW.scheduleUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 21 AND chEntityPk = NEW.scheduleUid); END CREATE TRIGGER ch_del_21 AFTER DELETE ON Schedule BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 21 AS chTableId, OLD.scheduleUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 21 AND chEntityPk = OLD.scheduleUid); END CREATE VIEW Schedule_ReceiveView AS SELECT Schedule.*, ScheduleReplicate.* FROM Schedule LEFT JOIN ScheduleReplicate ON ScheduleReplicate.schedulePk = Schedule.scheduleUid CREATE TRIGGER schedule_remote_insert_ins INSTEAD OF INSERT ON Schedule_ReceiveView FOR EACH ROW BEGIN REPLACE INTO Schedule(scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive) VALUES (NEW.scheduleUid, NEW.sceduleStartTime, NEW.scheduleEndTime, NEW.scheduleDay, NEW.scheduleMonth, NEW.scheduleFrequency, NEW.umCalendarUid, NEW.scheduleClazzUid, NEW.scheduleMasterChangeSeqNum, NEW.scheduleLocalChangeSeqNum, NEW.scheduleLastChangedBy, NEW.scheduleLastChangedTime, NEW.scheduleActive) /*psql ON CONFLICT (scheduleUid) DO UPDATE SET sceduleStartTime = EXCLUDED.sceduleStartTime, scheduleEndTime = EXCLUDED.scheduleEndTime, scheduleDay = EXCLUDED.scheduleDay, scheduleMonth = EXCLUDED.scheduleMonth, scheduleFrequency = EXCLUDED.scheduleFrequency, umCalendarUid = EXCLUDED.umCalendarUid, scheduleClazzUid = EXCLUDED.scheduleClazzUid, scheduleMasterChangeSeqNum = EXCLUDED.scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum = EXCLUDED.scheduleLocalChangeSeqNum, scheduleLastChangedBy = EXCLUDED.scheduleLastChangedBy, scheduleLastChangedTime = EXCLUDED.scheduleLastChangedTime, scheduleActive = EXCLUDED.scheduleActive */; END CREATE TABLE IF NOT EXISTS HolidayCalendarReplicate ( hcPk INTEGER NOT NULL, hcVersionId INTEGER NOT NULL DEFAULT 0, hcDestination INTEGER NOT NULL, hcPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (hcPk, hcDestination)) CREATE INDEX index_HolidayCalendarReplicate_hcPk_hcDestination_hcVersionId ON HolidayCalendarReplicate (hcPk, hcDestination, hcVersionId) CREATE INDEX index_HolidayCalendarReplicate_hcDestination_hcPending ON HolidayCalendarReplicate (hcDestination, hcPending) CREATE TRIGGER ch_ins_28 AFTER INSERT ON HolidayCalendar BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 28 AS chTableId, NEW.umCalendarUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 28 AND chEntityPk = NEW.umCalendarUid); END CREATE TRIGGER ch_upd_28 AFTER UPDATE ON HolidayCalendar BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 28 AS chTableId, NEW.umCalendarUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 28 AND chEntityPk = NEW.umCalendarUid); END CREATE TRIGGER ch_del_28 AFTER DELETE ON HolidayCalendar BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 28 AS chTableId, OLD.umCalendarUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 28 AND chEntityPk = OLD.umCalendarUid); END CREATE VIEW HolidayCalendar_ReceiveView AS SELECT HolidayCalendar.*, HolidayCalendarReplicate.* FROM HolidayCalendar LEFT JOIN HolidayCalendarReplicate ON HolidayCalendarReplicate.hcPk = HolidayCalendar.umCalendarUid CREATE TRIGGER holidaycalendar_remote_insert_ins INSTEAD OF INSERT ON HolidayCalendar_ReceiveView FOR EACH ROW BEGIN REPLACE INTO HolidayCalendar(umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct) VALUES (NEW.umCalendarUid, NEW.umCalendarName, NEW.umCalendarCategory, NEW.umCalendarActive, NEW.umCalendarMasterChangeSeqNum, NEW.umCalendarLocalChangeSeqNum, NEW.umCalendarLastChangedBy, NEW.umCalendarLct) /*psql ON CONFLICT (umCalendarUid) DO UPDATE SET umCalendarName = EXCLUDED.umCalendarName, umCalendarCategory = EXCLUDED.umCalendarCategory, umCalendarActive = EXCLUDED.umCalendarActive, umCalendarMasterChangeSeqNum = EXCLUDED.umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum = EXCLUDED.umCalendarLocalChangeSeqNum, umCalendarLastChangedBy = EXCLUDED.umCalendarLastChangedBy, umCalendarLct = EXCLUDED.umCalendarLct */; END CREATE TABLE IF NOT EXISTS HolidayReplicate ( holidayPk INTEGER NOT NULL, holidayVersionId INTEGER NOT NULL DEFAULT 0, holidayDestination INTEGER NOT NULL, holidayPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (holidayPk, holidayDestination)) CREATE INDEX index_HolidayReplicate_holidayPk_holidayDestination_holidayVersionId ON HolidayReplicate (holidayPk, holidayDestination, holidayVersionId) CREATE INDEX index_HolidayReplicate_holidayDestination_holidayPending ON HolidayReplicate (holidayDestination, holidayPending) CREATE TRIGGER ch_ins_99 AFTER INSERT ON Holiday BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 99 AS chTableId, NEW.holUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 99 AND chEntityPk = NEW.holUid); END CREATE TRIGGER ch_upd_99 AFTER UPDATE ON Holiday BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 99 AS chTableId, NEW.holUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 99 AND chEntityPk = NEW.holUid); END CREATE TRIGGER ch_del_99 AFTER DELETE ON Holiday BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 99 AS chTableId, OLD.holUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 99 AND chEntityPk = OLD.holUid); END CREATE VIEW Holiday_ReceiveView AS SELECT Holiday.*, HolidayReplicate.* FROM Holiday LEFT JOIN HolidayReplicate ON HolidayReplicate.holidayPk = Holiday.holUid CREATE TRIGGER holiday_remote_insert_ins INSTEAD OF INSERT ON Holiday_ReceiveView FOR EACH ROW BEGIN REPLACE INTO Holiday(holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName) VALUES (NEW.holUid, NEW.holMasterCsn, NEW.holLocalCsn, NEW.holLastModBy, NEW.holLct, NEW.holActive, NEW.holHolidayCalendarUid, NEW.holStartTime, NEW.holEndTime, NEW.holName) /*psql ON CONFLICT (holUid) DO UPDATE SET holMasterCsn = EXCLUDED.holMasterCsn, holLocalCsn = EXCLUDED.holLocalCsn, holLastModBy = EXCLUDED.holLastModBy, holLct = EXCLUDED.holLct, holActive = EXCLUDED.holActive, holHolidayCalendarUid = EXCLUDED.holHolidayCalendarUid, holStartTime = EXCLUDED.holStartTime, holEndTime = EXCLUDED.holEndTime, holName = EXCLUDED.holName */; END CREATE TABLE IF NOT EXISTS PersonReplicate ( personPk INTEGER NOT NULL, personVersionId INTEGER NOT NULL DEFAULT 0, personDestination INTEGER NOT NULL, personPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (personPk, personDestination)) CREATE INDEX index_PersonReplicate_personPk_personDestination_personVersionId ON PersonReplicate (personPk, personDestination, personVersionId) CREATE INDEX index_PersonReplicate_personDestination_personPending ON PersonReplicate (personDestination, personPending) CREATE TRIGGER ch_ins_9 AFTER INSERT ON Person BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 9 AS chTableId, NEW.personUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 9 AND chEntityPk = NEW.personUid); END CREATE TRIGGER ch_upd_9 AFTER UPDATE ON Person BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 9 AS chTableId, NEW.personUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 9 AND chEntityPk = NEW.personUid); END CREATE TRIGGER ch_del_9 AFTER DELETE ON Person BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 9 AS chTableId, OLD.personUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 9 AND chEntityPk = OLD.personUid); END CREATE VIEW Person_ReceiveView AS SELECT Person.*, PersonReplicate.* FROM Person LEFT JOIN PersonReplicate ON PersonReplicate.personPk = Person.personUid CREATE TRIGGER person_remote_insert_ins INSTEAD OF INSERT ON Person_ReceiveView FOR EACH ROW BEGIN REPLACE INTO Person(personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, admin, personNotes, fatherName, fatherNumber, motherName, motherNum, dateOfBirth, personAddress, personOrgId, personGroupUid, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, personLct, personCountry, personType) VALUES (NEW.personUid, NEW.username, NEW.firstNames, NEW.lastName, NEW.emailAddr, NEW.phoneNum, NEW.gender, NEW.active, NEW.admin, NEW.personNotes, NEW.fatherName, NEW.fatherNumber, NEW.motherName, NEW.motherNum, NEW.dateOfBirth, NEW.personAddress, NEW.personOrgId, NEW.personGroupUid, NEW.personMasterChangeSeqNum, NEW.personLocalChangeSeqNum, NEW.personLastChangedBy, NEW.personLct, NEW.personCountry, NEW.personType) /*psql ON CONFLICT (personUid) DO UPDATE SET username = EXCLUDED.username, firstNames = EXCLUDED.firstNames, lastName = EXCLUDED.lastName, emailAddr = EXCLUDED.emailAddr, phoneNum = EXCLUDED.phoneNum, gender = EXCLUDED.gender, active = EXCLUDED.active, admin = EXCLUDED.admin, personNotes = EXCLUDED.personNotes, fatherName = EXCLUDED.fatherName, fatherNumber = EXCLUDED.fatherNumber, motherName = EXCLUDED.motherName, motherNum = EXCLUDED.motherNum, dateOfBirth = EXCLUDED.dateOfBirth, personAddress = EXCLUDED.personAddress, personOrgId = EXCLUDED.personOrgId, personGroupUid = EXCLUDED.personGroupUid, personMasterChangeSeqNum = EXCLUDED.personMasterChangeSeqNum, personLocalChangeSeqNum = EXCLUDED.personLocalChangeSeqNum, personLastChangedBy = EXCLUDED.personLastChangedBy, personLct = EXCLUDED.personLct, personCountry = EXCLUDED.personCountry, personType = EXCLUDED.personType */; END CREATE TABLE IF NOT EXISTS ClazzReplicate ( clazzPk INTEGER NOT NULL, clazzVersionId INTEGER NOT NULL DEFAULT 0, clazzDestination INTEGER NOT NULL, clazzPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (clazzPk, clazzDestination)) CREATE INDEX index_ClazzReplicate_clazzPk_clazzDestination_clazzVersionId ON ClazzReplicate (clazzPk, clazzDestination, clazzVersionId) CREATE INDEX index_ClazzReplicate_clazzDestination_clazzPending ON ClazzReplicate (clazzDestination, clazzPending) CREATE TRIGGER ch_ins_6 AFTER INSERT ON Clazz BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 6 AS chTableId, NEW.clazzUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 6 AND chEntityPk = NEW.clazzUid); END CREATE TRIGGER ch_upd_6 AFTER UPDATE ON Clazz BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 6 AS chTableId, NEW.clazzUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 6 AND chEntityPk = NEW.clazzUid); END CREATE TRIGGER ch_del_6 AFTER DELETE ON Clazz BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 6 AS chTableId, OLD.clazzUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 6 AND chEntityPk = OLD.clazzUid); END CREATE VIEW Clazz_ReceiveView AS SELECT Clazz.*, ClazzReplicate.* FROM Clazz LEFT JOIN ClazzReplicate ON ClazzReplicate.clazzPk = Clazz.clazzUid CREATE TRIGGER clazz_remote_insert_ins INSTEAD OF INSERT ON Clazz_ReceiveView FOR EACH ROW BEGIN REPLACE INTO Clazz(clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode) VALUES (NEW.clazzUid, NEW.clazzName, NEW.clazzDesc, NEW.attendanceAverage, NEW.clazzHolidayUMCalendarUid, NEW.clazzScheuleUMCalendarUid, NEW.isClazzActive, NEW.clazzLocationUid, NEW.clazzStartTime, NEW.clazzEndTime, NEW.clazzFeatures, NEW.clazzSchoolUid, NEW.clazzMasterChangeSeqNum, NEW.clazzLocalChangeSeqNum, NEW.clazzLastChangedBy, NEW.clazzLct, NEW.clazzTimeZone, NEW.clazzStudentsPersonGroupUid, NEW.clazzTeachersPersonGroupUid, NEW.clazzPendingStudentsPersonGroupUid, NEW.clazzParentsPersonGroupUid, NEW.clazzCode) /*psql ON CONFLICT (clazzUid) DO UPDATE SET clazzName = EXCLUDED.clazzName, clazzDesc = EXCLUDED.clazzDesc, attendanceAverage = EXCLUDED.attendanceAverage, clazzHolidayUMCalendarUid = EXCLUDED.clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid = EXCLUDED.clazzScheuleUMCalendarUid, isClazzActive = EXCLUDED.isClazzActive, clazzLocationUid = EXCLUDED.clazzLocationUid, clazzStartTime = EXCLUDED.clazzStartTime, clazzEndTime = EXCLUDED.clazzEndTime, clazzFeatures = EXCLUDED.clazzFeatures, clazzSchoolUid = EXCLUDED.clazzSchoolUid, clazzMasterChangeSeqNum = EXCLUDED.clazzMasterChangeSeqNum, clazzLocalChangeSeqNum = EXCLUDED.clazzLocalChangeSeqNum, clazzLastChangedBy = EXCLUDED.clazzLastChangedBy, clazzLct = EXCLUDED.clazzLct, clazzTimeZone = EXCLUDED.clazzTimeZone, clazzStudentsPersonGroupUid = EXCLUDED.clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid = EXCLUDED.clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid = EXCLUDED.clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid = EXCLUDED.clazzParentsPersonGroupUid, clazzCode = EXCLUDED.clazzCode */; END CREATE TABLE IF NOT EXISTS ClazzEnrolmentReplicate ( cePk INTEGER NOT NULL, ceVersionId INTEGER NOT NULL DEFAULT 0, ceDestination INTEGER NOT NULL, cePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (cePk, ceDestination)) CREATE INDEX index_ClazzEnrolmentReplicate_cePk_ceDestination_ceVersionId ON ClazzEnrolmentReplicate (cePk, ceDestination, ceVersionId) CREATE INDEX index_ClazzEnrolmentReplicate_ceDestination_cePending ON ClazzEnrolmentReplicate (ceDestination, cePending) CREATE TRIGGER ch_ins_65 AFTER INSERT ON ClazzEnrolment BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 65 AS chTableId, NEW.clazzEnrolmentUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 65 AND chEntityPk = NEW.clazzEnrolmentUid); END CREATE TRIGGER ch_upd_65 AFTER UPDATE ON ClazzEnrolment BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 65 AS chTableId, NEW.clazzEnrolmentUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 65 AND chEntityPk = NEW.clazzEnrolmentUid); END CREATE TRIGGER ch_del_65 AFTER DELETE ON ClazzEnrolment BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 65 AS chTableId, OLD.clazzEnrolmentUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 65 AND chEntityPk = OLD.clazzEnrolmentUid); END CREATE VIEW ClazzEnrolment_ReceiveView AS SELECT ClazzEnrolment.*, ClazzEnrolmentReplicate.* FROM ClazzEnrolment LEFT JOIN ClazzEnrolmentReplicate ON ClazzEnrolmentReplicate.cePk = ClazzEnrolment.clazzEnrolmentUid CREATE TRIGGER clazzenrolment_remote_insert_ins INSTEAD OF INSERT ON ClazzEnrolment_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ClazzEnrolment(clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct) VALUES (NEW.clazzEnrolmentUid, NEW.clazzEnrolmentPersonUid, NEW.clazzEnrolmentClazzUid, NEW.clazzEnrolmentDateJoined, NEW.clazzEnrolmentDateLeft, NEW.clazzEnrolmentRole, NEW.clazzEnrolmentAttendancePercentage, NEW.clazzEnrolmentActive, NEW.clazzEnrolmentLeavingReasonUid, NEW.clazzEnrolmentOutcome, NEW.clazzEnrolmentLocalChangeSeqNum, NEW.clazzEnrolmentMasterChangeSeqNum, NEW.clazzEnrolmentLastChangedBy, NEW.clazzEnrolmentLct) /*psql ON CONFLICT (clazzEnrolmentUid) DO UPDATE SET clazzEnrolmentPersonUid = EXCLUDED.clazzEnrolmentPersonUid, clazzEnrolmentClazzUid = EXCLUDED.clazzEnrolmentClazzUid, clazzEnrolmentDateJoined = EXCLUDED.clazzEnrolmentDateJoined, clazzEnrolmentDateLeft = EXCLUDED.clazzEnrolmentDateLeft, clazzEnrolmentRole = EXCLUDED.clazzEnrolmentRole, clazzEnrolmentAttendancePercentage = EXCLUDED.clazzEnrolmentAttendancePercentage, clazzEnrolmentActive = EXCLUDED.clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid = EXCLUDED.clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome = EXCLUDED.clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum = EXCLUDED.clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum = EXCLUDED.clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy = EXCLUDED.clazzEnrolmentLastChangedBy, clazzEnrolmentLct = EXCLUDED.clazzEnrolmentLct */; END CREATE TABLE IF NOT EXISTS LeavingReasonReplicate ( lrPk INTEGER NOT NULL, lrVersionId INTEGER NOT NULL DEFAULT 0, lrDestination INTEGER NOT NULL, lrPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (lrPk, lrDestination)) CREATE INDEX index_LeavingReasonReplicate_lrPk_lrDestination_lrVersionId ON LeavingReasonReplicate (lrPk, lrDestination, lrVersionId) CREATE INDEX index_LeavingReasonReplicate_lrDestination_lrPending ON LeavingReasonReplicate (lrDestination, lrPending) CREATE TRIGGER ch_ins_410 AFTER INSERT ON LeavingReason BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 410 AS chTableId, NEW.leavingReasonUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 410 AND chEntityPk = NEW.leavingReasonUid); END CREATE TRIGGER ch_upd_410 AFTER UPDATE ON LeavingReason BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 410 AS chTableId, NEW.leavingReasonUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 410 AND chEntityPk = NEW.leavingReasonUid); END CREATE TRIGGER ch_del_410 AFTER DELETE ON LeavingReason BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 410 AS chTableId, OLD.leavingReasonUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 410 AND chEntityPk = OLD.leavingReasonUid); END CREATE VIEW LeavingReason_ReceiveView AS SELECT LeavingReason.*, LeavingReasonReplicate.* FROM LeavingReason LEFT JOIN LeavingReasonReplicate ON LeavingReasonReplicate.lrPk = LeavingReason.leavingReasonUid CREATE TRIGGER leavingreason_remote_insert_ins INSTEAD OF INSERT ON LeavingReason_ReceiveView FOR EACH ROW BEGIN REPLACE INTO LeavingReason(leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct) VALUES (NEW.leavingReasonUid, NEW.leavingReasonTitle, NEW.leavingReasonMCSN, NEW.leavingReasonCSN, NEW.leavingReasonLCB, NEW.leavingReasonLct) /*psql ON CONFLICT (leavingReasonUid) DO UPDATE SET leavingReasonTitle = EXCLUDED.leavingReasonTitle, leavingReasonMCSN = EXCLUDED.leavingReasonMCSN, leavingReasonCSN = EXCLUDED.leavingReasonCSN, leavingReasonLCB = EXCLUDED.leavingReasonLCB, leavingReasonLct = EXCLUDED.leavingReasonLct */; END CREATE TABLE IF NOT EXISTS ContentEntryReplicate ( cePk INTEGER NOT NULL, ceVersionId INTEGER NOT NULL DEFAULT 0, ceDestination INTEGER NOT NULL, cePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (cePk, ceDestination)) CREATE INDEX index_ContentEntryReplicate_cePk_ceDestination_ceVersionId ON ContentEntryReplicate (cePk, ceDestination, ceVersionId) CREATE INDEX index_ContentEntryReplicate_ceDestination_cePending ON ContentEntryReplicate (ceDestination, cePending) CREATE TRIGGER ch_ins_42 AFTER INSERT ON ContentEntry BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 42 AS chTableId, NEW.contentEntryUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 42 AND chEntityPk = NEW.contentEntryUid); END CREATE TRIGGER ch_upd_42 AFTER UPDATE ON ContentEntry BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 42 AS chTableId, NEW.contentEntryUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 42 AND chEntityPk = NEW.contentEntryUid); END CREATE TRIGGER ch_del_42 AFTER DELETE ON ContentEntry BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 42 AS chTableId, OLD.contentEntryUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 42 AND chEntityPk = OLD.contentEntryUid); END CREATE VIEW ContentEntry_ReceiveView AS SELECT ContentEntry.*, ContentEntryReplicate.* FROM ContentEntry LEFT JOIN ContentEntryReplicate ON ContentEntryReplicate.cePk = ContentEntry.contentEntryUid CREATE TRIGGER contententry_remote_insert_ins INSTEAD OF INSERT ON ContentEntry_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ContentEntry(contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct) VALUES (NEW.contentEntryUid, NEW.title, NEW.description, NEW.entryId, NEW.author, NEW.publisher, NEW.licenseType, NEW.licenseName, NEW.licenseUrl, NEW.sourceUrl, NEW.thumbnailUrl, NEW.lastModified, NEW.primaryLanguageUid, NEW.languageVariantUid, NEW.contentFlags, NEW.leaf, NEW.publik, NEW.ceInactive, NEW.completionCriteria, NEW.minScore, NEW.contentTypeFlag, NEW.contentOwner, NEW.contentEntryLocalChangeSeqNum, NEW.contentEntryMasterChangeSeqNum, NEW.contentEntryLastChangedBy, NEW.contentEntryLct) /*psql ON CONFLICT (contentEntryUid) DO UPDATE SET title = EXCLUDED.title, description = EXCLUDED.description, entryId = EXCLUDED.entryId, author = EXCLUDED.author, publisher = EXCLUDED.publisher, licenseType = EXCLUDED.licenseType, licenseName = EXCLUDED.licenseName, licenseUrl = EXCLUDED.licenseUrl, sourceUrl = EXCLUDED.sourceUrl, thumbnailUrl = EXCLUDED.thumbnailUrl, lastModified = EXCLUDED.lastModified, primaryLanguageUid = EXCLUDED.primaryLanguageUid, languageVariantUid = EXCLUDED.languageVariantUid, contentFlags = EXCLUDED.contentFlags, leaf = EXCLUDED.leaf, publik = EXCLUDED.publik, ceInactive = EXCLUDED.ceInactive, completionCriteria = EXCLUDED.completionCriteria, minScore = EXCLUDED.minScore, contentTypeFlag = EXCLUDED.contentTypeFlag, contentOwner = EXCLUDED.contentOwner, contentEntryLocalChangeSeqNum = EXCLUDED.contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum = EXCLUDED.contentEntryMasterChangeSeqNum, contentEntryLastChangedBy = EXCLUDED.contentEntryLastChangedBy, contentEntryLct = EXCLUDED.contentEntryLct*/; END CREATE TABLE IF NOT EXISTS ContentEntryContentCategoryJoinReplicate ( ceccjPk INTEGER NOT NULL, ceccjVersionId INTEGER NOT NULL DEFAULT 0, ceccjDestination INTEGER NOT NULL, ceccjPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (ceccjPk, ceccjDestination)) CREATE INDEX index_ContentEntryContentCategoryJoinReplicate_ceccjPk_ceccjDestination_ceccjVersionId ON ContentEntryContentCategoryJoinReplicate (ceccjPk, ceccjDestination, ceccjVersionId) CREATE INDEX index_ContentEntryContentCategoryJoinReplicate_ceccjDestination_ceccjPending ON ContentEntryContentCategoryJoinReplicate (ceccjDestination, ceccjPending) CREATE TRIGGER ch_ins_3 AFTER INSERT ON ContentEntryContentCategoryJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 3 AS chTableId, NEW.ceccjUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 3 AND chEntityPk = NEW.ceccjUid); END CREATE TRIGGER ch_upd_3 AFTER UPDATE ON ContentEntryContentCategoryJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 3 AS chTableId, NEW.ceccjUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 3 AND chEntityPk = NEW.ceccjUid); END CREATE TRIGGER ch_del_3 AFTER DELETE ON ContentEntryContentCategoryJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 3 AS chTableId, OLD.ceccjUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 3 AND chEntityPk = OLD.ceccjUid); END CREATE VIEW ContentEntryContentCategoryJoin_ReceiveView AS SELECT ContentEntryContentCategoryJoin.*, ContentEntryContentCategoryJoinReplicate.* FROM ContentEntryContentCategoryJoin LEFT JOIN ContentEntryContentCategoryJoinReplicate ON ContentEntryContentCategoryJoinReplicate.ceccjPk = ContentEntryContentCategoryJoin.ceccjUid CREATE TRIGGER contententrycontentcategoryjoin_remote_insert_ins INSTEAD OF INSERT ON ContentEntryContentCategoryJoin_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ContentEntryContentCategoryJoin(ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct) VALUES (NEW.ceccjUid, NEW.ceccjContentEntryUid, NEW.ceccjContentCategoryUid, NEW.ceccjLocalChangeSeqNum, NEW.ceccjMasterChangeSeqNum, NEW.ceccjLastChangedBy, NEW.ceccjLct) /*psql ON CONFLICT (ceccjUid) DO UPDATE SET ceccjContentEntryUid = EXCLUDED.ceccjContentEntryUid, ceccjContentCategoryUid = EXCLUDED.ceccjContentCategoryUid, ceccjLocalChangeSeqNum = EXCLUDED.ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum = EXCLUDED.ceccjMasterChangeSeqNum, ceccjLastChangedBy = EXCLUDED.ceccjLastChangedBy, ceccjLct = EXCLUDED.ceccjLct */; END CREATE TABLE IF NOT EXISTS ContentEntryParentChildJoinReplicate ( cepcjPk INTEGER NOT NULL, cepcjVersionId INTEGER NOT NULL DEFAULT 0, cepcjDestination INTEGER NOT NULL, cepcjPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (cepcjPk, cepcjDestination)) CREATE INDEX index_ContentEntryParentChildJoinReplicate_cepcjPk_cepcjDestination_cepcjVersionId ON ContentEntryParentChildJoinReplicate (cepcjPk, cepcjDestination, cepcjVersionId) CREATE INDEX index_ContentEntryParentChildJoinReplicate_cepcjDestination_cepcjPending ON ContentEntryParentChildJoinReplicate (cepcjDestination, cepcjPending) CREATE TRIGGER ch_ins_7 AFTER INSERT ON ContentEntryParentChildJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 7 AS chTableId, NEW.cepcjUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 7 AND chEntityPk = NEW.cepcjUid); END CREATE TRIGGER ch_upd_7 AFTER UPDATE ON ContentEntryParentChildJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 7 AS chTableId, NEW.cepcjUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 7 AND chEntityPk = NEW.cepcjUid); END CREATE TRIGGER ch_del_7 AFTER DELETE ON ContentEntryParentChildJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 7 AS chTableId, OLD.cepcjUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 7 AND chEntityPk = OLD.cepcjUid); END CREATE VIEW ContentEntryParentChildJoin_ReceiveView AS SELECT ContentEntryParentChildJoin.*, ContentEntryParentChildJoinReplicate.* FROM ContentEntryParentChildJoin LEFT JOIN ContentEntryParentChildJoinReplicate ON ContentEntryParentChildJoinReplicate.cepcjPk = ContentEntryParentChildJoin.cepcjUid CREATE TRIGGER contententryparentchildjoin_remote_insert_ins INSTEAD OF INSERT ON ContentEntryParentChildJoin_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ContentEntryParentChildJoin(cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex, cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct) VALUES (NEW.cepcjParentContentEntryUid, NEW.cepcjChildContentEntryUid, NEW.childIndex, NEW.cepcjUid, NEW.cepcjLocalChangeSeqNum, NEW.cepcjMasterChangeSeqNum, NEW.cepcjLastChangedBy, NEW.cepcjLct) /*psql ON CONFLICT (cepcjUid) DO UPDATE SET cepcjParentContentEntryUid = EXCLUDED.cepcjParentContentEntryUid, cepcjChildContentEntryUid = EXCLUDED.cepcjChildContentEntryUid, childIndex = EXCLUDED.childIndex, cepcjLocalChangeSeqNum = EXCLUDED.cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum = EXCLUDED.cepcjMasterChangeSeqNum, cepcjLastChangedBy = EXCLUDED.cepcjLastChangedBy, cepcjLct = EXCLUDED.cepcjLct */; END CREATE TABLE IF NOT EXISTS ContentEntryRelatedEntryJoinReplicate ( cerejPk INTEGER NOT NULL, cerejVersionId INTEGER NOT NULL DEFAULT 0, cerejDestination INTEGER NOT NULL, cerejPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (cerejPk, cerejDestination)) CREATE INDEX index_ContentEntryRelatedEntryJoinReplicate_cerejPk_cerejDestination_cerejVersionId ON ContentEntryRelatedEntryJoinReplicate (cerejPk, cerejDestination, cerejVersionId) CREATE INDEX index_ContentEntryRelatedEntryJoinReplicate_cerejDestination_cerejPending ON ContentEntryRelatedEntryJoinReplicate (cerejDestination, cerejPending) CREATE TRIGGER ch_ins_8 AFTER INSERT ON ContentEntryRelatedEntryJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 8 AS chTableId, NEW.cerejUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 8 AND chEntityPk = NEW.cerejUid); END CREATE TRIGGER ch_upd_8 AFTER UPDATE ON ContentEntryRelatedEntryJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 8 AS chTableId, NEW.cerejUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 8 AND chEntityPk = NEW.cerejUid); END CREATE TRIGGER ch_del_8 AFTER DELETE ON ContentEntryRelatedEntryJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 8 AS chTableId, OLD.cerejUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 8 AND chEntityPk = OLD.cerejUid); END CREATE VIEW ContentEntryRelatedEntryJoin_ReceiveView AS SELECT ContentEntryRelatedEntryJoin.*, ContentEntryRelatedEntryJoinReplicate.* FROM ContentEntryRelatedEntryJoin LEFT JOIN ContentEntryRelatedEntryJoinReplicate ON ContentEntryRelatedEntryJoinReplicate.cerejPk = ContentEntryRelatedEntryJoin.cerejUid CREATE TRIGGER contententryrelatedentryjoin_remote_insert_ins INSTEAD OF INSERT ON ContentEntryRelatedEntryJoin_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ContentEntryRelatedEntryJoin(cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct) VALUES (NEW.cerejUid, NEW.cerejContentEntryUid, NEW.cerejRelatedEntryUid, NEW.cerejLastChangedBy, NEW.relType, NEW.comment, NEW.cerejRelLanguageUid, NEW.cerejLocalChangeSeqNum, NEW.cerejMasterChangeSeqNum, NEW.cerejLct) /*psql ON CONFLICT (cerejUid) DO UPDATE SET cerejContentEntryUid = EXCLUDED.cerejContentEntryUid, cerejRelatedEntryUid = EXCLUDED.cerejRelatedEntryUid, cerejLastChangedBy = EXCLUDED.cerejLastChangedBy, relType = EXCLUDED.relType, comment = EXCLUDED.comment, cerejRelLanguageUid = EXCLUDED.cerejRelLanguageUid, cerejLocalChangeSeqNum = EXCLUDED.cerejLocalChangeSeqNum, cerejMasterChangeSeqNum = EXCLUDED.cerejMasterChangeSeqNum, cerejLct = EXCLUDED.cerejLct */; END CREATE TABLE IF NOT EXISTS ContentCategorySchemaReplicate ( ccsPk INTEGER NOT NULL, ccsVersionId INTEGER NOT NULL DEFAULT 0, ccsDestination INTEGER NOT NULL, ccsPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (ccsPk, ccsDestination)) CREATE INDEX index_ContentCategorySchemaReplicate_ccsPk_ccsDestination_ccsVersionId ON ContentCategorySchemaReplicate (ccsPk, ccsDestination, ccsVersionId) CREATE INDEX index_ContentCategorySchemaReplicate_ccsDestination_ccsPending ON ContentCategorySchemaReplicate (ccsDestination, ccsPending) CREATE TRIGGER ch_ins_2 AFTER INSERT ON ContentCategorySchema BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 2 AS chTableId, NEW.contentCategorySchemaUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 2 AND chEntityPk = NEW.contentCategorySchemaUid); END CREATE TRIGGER ch_upd_2 AFTER UPDATE ON ContentCategorySchema BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 2 AS chTableId, NEW.contentCategorySchemaUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 2 AND chEntityPk = NEW.contentCategorySchemaUid); END CREATE TRIGGER ch_del_2 AFTER DELETE ON ContentCategorySchema BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 2 AS chTableId, OLD.contentCategorySchemaUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 2 AND chEntityPk = OLD.contentCategorySchemaUid); END CREATE VIEW ContentCategorySchema_ReceiveView AS SELECT ContentCategorySchema.*, ContentCategorySchemaReplicate.* FROM ContentCategorySchema LEFT JOIN ContentCategorySchemaReplicate ON ContentCategorySchemaReplicate.ccsPk = ContentCategorySchema.contentCategorySchemaUid CREATE TRIGGER contentcategoryschema_remote_insert_ins INSTEAD OF INSERT ON ContentCategorySchema_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ContentCategorySchema(contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct) VALUES (NEW.contentCategorySchemaUid, NEW.schemaName, NEW.schemaUrl, NEW.contentCategorySchemaLocalChangeSeqNum, NEW.contentCategorySchemaMasterChangeSeqNum, NEW.contentCategorySchemaLastChangedBy, NEW.contentCategorySchemaLct) /*psql ON CONFLICT (contentCategorySchemaUid) DO UPDATE SET schemaName = EXCLUDED.schemaName, schemaUrl = EXCLUDED.schemaUrl, contentCategorySchemaLocalChangeSeqNum = EXCLUDED.contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum = EXCLUDED.contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy = EXCLUDED.contentCategorySchemaLastChangedBy, contentCategorySchemaLct = EXCLUDED.contentCategorySchemaLct */; END CREATE TABLE IF NOT EXISTS ContentCategoryReplicate ( ccPk INTEGER NOT NULL, ccVersionId INTEGER NOT NULL DEFAULT 0, ccDestination INTEGER NOT NULL, ccPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (ccPk, ccDestination)) CREATE INDEX index_ContentCategoryReplicate_ccPk_ccDestination_ccVersionId ON ContentCategoryReplicate (ccPk, ccDestination, ccVersionId) CREATE INDEX index_ContentCategoryReplicate_ccDestination_ccPending ON ContentCategoryReplicate (ccDestination, ccPending) CREATE TRIGGER ch_ins_1 AFTER INSERT ON ContentCategory BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 1 AS chTableId, NEW.contentCategoryUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 1 AND chEntityPk = NEW.contentCategoryUid); END CREATE TRIGGER ch_upd_1 AFTER UPDATE ON ContentCategory BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 1 AS chTableId, NEW.contentCategoryUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 1 AND chEntityPk = NEW.contentCategoryUid); END CREATE TRIGGER ch_del_1 AFTER DELETE ON ContentCategory BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 1 AS chTableId, OLD.contentCategoryUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 1 AND chEntityPk = OLD.contentCategoryUid); END CREATE VIEW ContentCategory_ReceiveView AS SELECT ContentCategory.*, ContentCategoryReplicate.* FROM ContentCategory LEFT JOIN ContentCategoryReplicate ON ContentCategoryReplicate.ccPk = ContentCategory.contentCategoryUid CREATE TRIGGER contentcategory_remote_insert_ins INSTEAD OF INSERT ON ContentCategory_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ContentCategory(contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct) VALUES (NEW.contentCategoryUid, NEW.ctnCatContentCategorySchemaUid, NEW.name, NEW.contentCategoryLocalChangeSeqNum, NEW.contentCategoryMasterChangeSeqNum, NEW.contentCategoryLastChangedBy, NEW.contentCategoryLct) /*psql ON CONFLICT (contentCategoryUid) DO UPDATE SET ctnCatContentCategorySchemaUid = EXCLUDED.ctnCatContentCategorySchemaUid, name = EXCLUDED.name, contentCategoryLocalChangeSeqNum = EXCLUDED.contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum = EXCLUDED.contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy = EXCLUDED.contentCategoryLastChangedBy, contentCategoryLct = EXCLUDED.contentCategoryLct */; END CREATE TABLE IF NOT EXISTS LanguageReplicate ( languagePk INTEGER NOT NULL, languageVersionId INTEGER NOT NULL DEFAULT 0, languageDestination INTEGER NOT NULL, languagePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (languagePk, languageDestination)) CREATE INDEX index_LanguageReplicate_languagePk_languageDestination_languageVersionId ON LanguageReplicate (languagePk, languageDestination, languageVersionId) CREATE INDEX index_LanguageReplicate_languageDestination_languagePending ON LanguageReplicate (languageDestination, languagePending) CREATE TRIGGER ch_ins_13 AFTER INSERT ON Language BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 13 AS chTableId, NEW.langUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 13 AND chEntityPk = NEW.langUid); END CREATE TRIGGER ch_upd_13 AFTER UPDATE ON Language BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 13 AS chTableId, NEW.langUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 13 AND chEntityPk = NEW.langUid); END CREATE TRIGGER ch_del_13 AFTER DELETE ON Language BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 13 AS chTableId, OLD.langUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 13 AND chEntityPk = OLD.langUid); END CREATE VIEW Language_ReceiveView AS SELECT Language.*, LanguageReplicate.* FROM Language LEFT JOIN LanguageReplicate ON LanguageReplicate.languagePk = Language.langUid CREATE TRIGGER language_remote_insert_ins INSTEAD OF INSERT ON Language_ReceiveView FOR EACH ROW BEGIN REPLACE INTO Language(langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct) VALUES (NEW.langUid, NEW.name, NEW.iso_639_1_standard, NEW.iso_639_2_standard, NEW.iso_639_3_standard, NEW.Language_Type, NEW.languageActive, NEW.langLocalChangeSeqNum, NEW.langMasterChangeSeqNum, NEW.langLastChangedBy, NEW.langLct) /*psql ON CONFLICT (langUid) DO UPDATE SET name = EXCLUDED.name, iso_639_1_standard = EXCLUDED.iso_639_1_standard, iso_639_2_standard = EXCLUDED.iso_639_2_standard, iso_639_3_standard = EXCLUDED.iso_639_3_standard, Language_Type = EXCLUDED.Language_Type, languageActive = EXCLUDED.languageActive, langLocalChangeSeqNum = EXCLUDED.langLocalChangeSeqNum, langMasterChangeSeqNum = EXCLUDED.langMasterChangeSeqNum, langLastChangedBy = EXCLUDED.langLastChangedBy, langLct = EXCLUDED.langLct */; END CREATE TABLE IF NOT EXISTS LanguageVariantReplicate ( lvPk INTEGER NOT NULL, lvVersionId INTEGER NOT NULL DEFAULT 0, lvDestination INTEGER NOT NULL, lvPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (lvPk, lvDestination)) CREATE INDEX index_LanguageVariantReplicate_lvPk_lvDestination_lvVersionId ON LanguageVariantReplicate (lvPk, lvDestination, lvVersionId) CREATE INDEX index_LanguageVariantReplicate_lvDestination_lvPending ON LanguageVariantReplicate (lvDestination, lvPending) CREATE TRIGGER ch_ins_10 AFTER INSERT ON LanguageVariant BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 10 AS chTableId, NEW.langVariantUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 10 AND chEntityPk = NEW.langVariantUid); END CREATE TRIGGER ch_upd_10 AFTER UPDATE ON LanguageVariant BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 10 AS chTableId, NEW.langVariantUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 10 AND chEntityPk = NEW.langVariantUid); END CREATE TRIGGER ch_del_10 AFTER DELETE ON LanguageVariant BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 10 AS chTableId, OLD.langVariantUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 10 AND chEntityPk = OLD.langVariantUid); END CREATE VIEW LanguageVariant_ReceiveView AS SELECT LanguageVariant.*, LanguageVariantReplicate.* FROM LanguageVariant LEFT JOIN LanguageVariantReplicate ON LanguageVariantReplicate.lvPk = LanguageVariant.langVariantUid CREATE TRIGGER languagevariant_remote_insert_ins INSTEAD OF INSERT ON LanguageVariant_ReceiveView FOR EACH ROW BEGIN REPLACE INTO LanguageVariant(langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct) VALUES (NEW.langVariantUid, NEW.langUid, NEW.countryCode, NEW.name, NEW.langVariantLocalChangeSeqNum, NEW.langVariantMasterChangeSeqNum, NEW.langVariantLastChangedBy, NEW.langVariantLct) /*psql ON CONFLICT (langVariantUid) DO UPDATE SET langUid = EXCLUDED.langUid, countryCode = EXCLUDED.countryCode, name = EXCLUDED.name, langVariantLocalChangeSeqNum = EXCLUDED.langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum = EXCLUDED.langVariantMasterChangeSeqNum, langVariantLastChangedBy = EXCLUDED.langVariantLastChangedBy, langVariantLct = EXCLUDED.langVariantLct */; END CREATE TABLE IF NOT EXISTS PersonGroupReplicate ( pgPk INTEGER NOT NULL, pgVersionId INTEGER NOT NULL DEFAULT 0, pgDestination INTEGER NOT NULL, pgPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (pgPk, pgDestination)) CREATE INDEX index_PersonGroupReplicate_pgPk_pgDestination_pgVersionId ON PersonGroupReplicate (pgPk, pgDestination, pgVersionId) CREATE INDEX index_PersonGroupReplicate_pgDestination_pgPending ON PersonGroupReplicate (pgDestination, pgPending) CREATE TRIGGER ch_ins_43 AFTER INSERT ON PersonGroup BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 43 AS chTableId, NEW.groupUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 43 AND chEntityPk = NEW.groupUid); END CREATE TRIGGER ch_upd_43 AFTER UPDATE ON PersonGroup BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 43 AS chTableId, NEW.groupUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 43 AND chEntityPk = NEW.groupUid); END CREATE TRIGGER ch_del_43 AFTER DELETE ON PersonGroup BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 43 AS chTableId, OLD.groupUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 43 AND chEntityPk = OLD.groupUid); END CREATE VIEW PersonGroup_ReceiveView AS SELECT PersonGroup.*, PersonGroupReplicate.* FROM PersonGroup LEFT JOIN PersonGroupReplicate ON PersonGroupReplicate.pgPk = PersonGroup.groupUid CREATE TRIGGER persongroup_remote_insert_ins INSTEAD OF INSERT ON PersonGroup_ReceiveView FOR EACH ROW BEGIN REPLACE INTO PersonGroup(groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag) VALUES (NEW.groupUid, NEW.groupMasterCsn, NEW.groupLocalCsn, NEW.groupLastChangedBy, NEW.groupLct, NEW.groupName, NEW.groupActive, NEW.personGroupFlag) /*psql ON CONFLICT (groupUid) DO UPDATE SET groupMasterCsn = EXCLUDED.groupMasterCsn, groupLocalCsn = EXCLUDED.groupLocalCsn, groupLastChangedBy = EXCLUDED.groupLastChangedBy, groupLct = EXCLUDED.groupLct, groupName = EXCLUDED.groupName, groupActive = EXCLUDED.groupActive, personGroupFlag = EXCLUDED.personGroupFlag */; END CREATE TABLE IF NOT EXISTS PersonGroupMemberReplicate ( pgmPk INTEGER NOT NULL, pgmVersionId INTEGER NOT NULL DEFAULT 0, pgmDestination INTEGER NOT NULL, pgmPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (pgmPk, pgmDestination)) CREATE INDEX index_PersonGroupMemberReplicate_pgmPk_pgmDestination_pgmVersionId ON PersonGroupMemberReplicate (pgmPk, pgmDestination, pgmVersionId) CREATE INDEX index_PersonGroupMemberReplicate_pgmDestination_pgmPending ON PersonGroupMemberReplicate (pgmDestination, pgmPending) CREATE TRIGGER ch_ins_44 AFTER INSERT ON PersonGroupMember BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 44 AS chTableId, NEW.groupMemberUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 44 AND chEntityPk = NEW.groupMemberUid); END CREATE TRIGGER ch_upd_44 AFTER UPDATE ON PersonGroupMember BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 44 AS chTableId, NEW.groupMemberUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 44 AND chEntityPk = NEW.groupMemberUid); END CREATE TRIGGER ch_del_44 AFTER DELETE ON PersonGroupMember BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 44 AS chTableId, OLD.groupMemberUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 44 AND chEntityPk = OLD.groupMemberUid); END CREATE VIEW PersonGroupMember_ReceiveView AS SELECT PersonGroupMember.*, PersonGroupMemberReplicate.* FROM PersonGroupMember LEFT JOIN PersonGroupMemberReplicate ON PersonGroupMemberReplicate.pgmPk = PersonGroupMember.groupMemberUid CREATE TRIGGER persongroupmember_remote_insert_ins INSTEAD OF INSERT ON PersonGroupMember_ReceiveView FOR EACH ROW BEGIN REPLACE INTO PersonGroupMember(groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct) VALUES (NEW.groupMemberUid, NEW.groupMemberActive, NEW.groupMemberPersonUid, NEW.groupMemberGroupUid, NEW.groupMemberMasterCsn, NEW.groupMemberLocalCsn, NEW.groupMemberLastChangedBy, NEW.groupMemberLct) /*psql ON CONFLICT (groupMemberUid) DO UPDATE SET groupMemberActive = EXCLUDED.groupMemberActive, groupMemberPersonUid = EXCLUDED.groupMemberPersonUid, groupMemberGroupUid = EXCLUDED.groupMemberGroupUid, groupMemberMasterCsn = EXCLUDED.groupMemberMasterCsn, groupMemberLocalCsn = EXCLUDED.groupMemberLocalCsn, groupMemberLastChangedBy = EXCLUDED.groupMemberLastChangedBy, groupMemberLct = EXCLUDED.groupMemberLct */; END CREATE TABLE IF NOT EXISTS PersonPictureReplicate ( ppPk INTEGER NOT NULL, ppVersionId INTEGER NOT NULL DEFAULT 0, ppDestination INTEGER NOT NULL, ppPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (ppPk, ppDestination)) CREATE INDEX index_PersonPictureReplicate_ppPk_ppDestination_ppVersionId ON PersonPictureReplicate (ppPk, ppDestination, ppVersionId) CREATE INDEX index_PersonPictureReplicate_ppDestination_ppPending ON PersonPictureReplicate (ppDestination, ppPending) CREATE TRIGGER ch_ins_50 AFTER INSERT ON PersonPicture BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 50 AS chTableId, NEW.personPictureUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 50 AND chEntityPk = NEW.personPictureUid); END CREATE TRIGGER ch_upd_50 AFTER UPDATE ON PersonPicture BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 50 AS chTableId, NEW.personPictureUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 50 AND chEntityPk = NEW.personPictureUid); END CREATE TRIGGER ch_del_50 AFTER DELETE ON PersonPicture BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 50 AS chTableId, OLD.personPictureUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 50 AND chEntityPk = OLD.personPictureUid); END CREATE VIEW PersonPicture_ReceiveView AS SELECT PersonPicture.*, PersonPictureReplicate.* FROM PersonPicture LEFT JOIN PersonPictureReplicate ON PersonPictureReplicate.ppPk = PersonPicture.personPictureUid CREATE TRIGGER personpicture_remote_insert_ins INSTEAD OF INSERT ON PersonPicture_ReceiveView FOR EACH ROW BEGIN REPLACE INTO PersonPicture(personPictureUid, personPicturePersonUid, personPictureMasterCsn, personPictureLocalCsn, personPictureLastChangedBy, personPictureLct, personPictureUri, personPictureMd5, fileSize, picTimestamp, mimeType, personPictureActive) VALUES (NEW.personPictureUid, NEW.personPicturePersonUid, NEW.personPictureMasterCsn, NEW.personPictureLocalCsn, NEW.personPictureLastChangedBy, NEW.personPictureLct, NEW.personPictureUri, NEW.personPictureMd5, NEW.fileSize, NEW.picTimestamp, NEW.mimeType, NEW.personPictureActive) /*psql ON CONFLICT (personPictureUid) DO UPDATE SET personPicturePersonUid = EXCLUDED.personPicturePersonUid, personPictureMasterCsn = EXCLUDED.personPictureMasterCsn, personPictureLocalCsn = EXCLUDED.personPictureLocalCsn, personPictureLastChangedBy = EXCLUDED.personPictureLastChangedBy, personPictureLct = EXCLUDED.personPictureLct, personPictureUri = EXCLUDED.personPictureUri, personPictureMd5 = EXCLUDED.personPictureMd5, fileSize = EXCLUDED.fileSize, picTimestamp = EXCLUDED.picTimestamp, mimeType = EXCLUDED.mimeType, personPictureActive = EXCLUDED.personPictureActive */; END CREATE TABLE IF NOT EXISTS ContainerReplicate ( containerPk INTEGER NOT NULL, containerVersionId INTEGER NOT NULL DEFAULT 0, containerDestination INTEGER NOT NULL, containerPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (containerPk, containerDestination)) CREATE INDEX index_ContainerReplicate_containerPk_containerDestination_containerVersionId ON ContainerReplicate (containerPk, containerDestination, containerVersionId) CREATE INDEX index_ContainerReplicate_containerDestination_containerPending ON ContainerReplicate (containerDestination, containerPending) CREATE TRIGGER ch_ins_51 AFTER INSERT ON Container BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 51 AS chTableId, NEW.containerUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 51 AND chEntityPk = NEW.containerUid); END CREATE TRIGGER ch_upd_51 AFTER UPDATE ON Container BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 51 AS chTableId, NEW.containerUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 51 AND chEntityPk = NEW.containerUid); END CREATE TRIGGER ch_del_51 AFTER DELETE ON Container BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 51 AS chTableId, OLD.containerUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 51 AND chEntityPk = OLD.containerUid); END CREATE VIEW Container_ReceiveView AS SELECT Container.*, ContainerReplicate.* FROM Container LEFT JOIN ContainerReplicate ON ContainerReplicate.containerPk = Container.containerUid CREATE TRIGGER container_remote_insert_ins INSTEAD OF INSERT ON Container_ReceiveView FOR EACH ROW BEGIN REPLACE INTO Container(containerUid, cntLocalCsn, cntMasterCsn, cntLastModBy, cntLct, fileSize, containerContentEntryUid, cntLastModified, mimeType, remarks, mobileOptimized, cntNumEntries) VALUES (NEW.containerUid, NEW.cntLocalCsn, NEW.cntMasterCsn, NEW.cntLastModBy, NEW.cntLct, NEW.fileSize, NEW.containerContentEntryUid, NEW.cntLastModified, NEW.mimeType, NEW.remarks, NEW.mobileOptimized, NEW.cntNumEntries) /*psql ON CONFLICT (containerUid) DO UPDATE SET cntLocalCsn = EXCLUDED.cntLocalCsn, cntMasterCsn = EXCLUDED.cntMasterCsn, cntLastModBy = EXCLUDED.cntLastModBy, cntLct = EXCLUDED.cntLct, fileSize = EXCLUDED.fileSize, containerContentEntryUid = EXCLUDED.containerContentEntryUid, cntLastModified = EXCLUDED.cntLastModified, mimeType = EXCLUDED.mimeType, remarks = EXCLUDED.remarks, mobileOptimized = EXCLUDED.mobileOptimized, cntNumEntries = EXCLUDED.cntNumEntries */; END CREATE TABLE IF NOT EXISTS VerbEntityReplicate ( vePk INTEGER NOT NULL, veVersionId INTEGER NOT NULL DEFAULT 0, veDestination INTEGER NOT NULL, vePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (vePk, veDestination)) CREATE INDEX index_VerbEntityReplicate_vePk_veDestination_veVersionId ON VerbEntityReplicate (vePk, veDestination, veVersionId) CREATE INDEX index_VerbEntityReplicate_veDestination_vePending ON VerbEntityReplicate (veDestination, vePending) CREATE TRIGGER ch_ins_62 AFTER INSERT ON VerbEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 62 AS chTableId, NEW.verbUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 62 AND chEntityPk = NEW.verbUid); END CREATE TRIGGER ch_upd_62 AFTER UPDATE ON VerbEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 62 AS chTableId, NEW.verbUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 62 AND chEntityPk = NEW.verbUid); END CREATE TRIGGER ch_del_62 AFTER DELETE ON VerbEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 62 AS chTableId, OLD.verbUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 62 AND chEntityPk = OLD.verbUid); END CREATE VIEW VerbEntity_ReceiveView AS SELECT VerbEntity.*, VerbEntityReplicate.* FROM VerbEntity LEFT JOIN VerbEntityReplicate ON VerbEntityReplicate.vePk = VerbEntity.verbUid CREATE TRIGGER verbentity_remote_insert_ins INSTEAD OF INSERT ON VerbEntity_ReceiveView FOR EACH ROW BEGIN REPLACE INTO VerbEntity(verbUid, urlId, verbInActive, verbMasterChangeSeqNum, verbLocalChangeSeqNum, verbLastChangedBy, verbLct) VALUES (NEW.verbUid, NEW.urlId, NEW.verbInActive, NEW.verbMasterChangeSeqNum, NEW.verbLocalChangeSeqNum, NEW.verbLastChangedBy, NEW.verbLct) /*psql ON CONFLICT (verbUid) DO UPDATE SET urlId = EXCLUDED.urlId, verbInActive = EXCLUDED.verbInActive, verbMasterChangeSeqNum = EXCLUDED.verbMasterChangeSeqNum, verbLocalChangeSeqNum = EXCLUDED.verbLocalChangeSeqNum, verbLastChangedBy = EXCLUDED.verbLastChangedBy, verbLct = EXCLUDED.verbLct */; END CREATE TABLE IF NOT EXISTS XObjectEntityReplicate ( xoePk INTEGER NOT NULL, xoeVersionId INTEGER NOT NULL DEFAULT 0, xoeDestination INTEGER NOT NULL, xoePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (xoePk, xoeDestination)) CREATE INDEX index_XObjectEntityReplicate_xoePk_xoeDestination_xoeVersionId ON XObjectEntityReplicate (xoePk, xoeDestination, xoeVersionId) CREATE INDEX index_XObjectEntityReplicate_xoeDestination_xoePending ON XObjectEntityReplicate (xoeDestination, xoePending) CREATE TRIGGER ch_ins_64 AFTER INSERT ON XObjectEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 64 AS chTableId, NEW.xObjectUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 64 AND chEntityPk = NEW.xObjectUid); END CREATE TRIGGER ch_upd_64 AFTER UPDATE ON XObjectEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 64 AS chTableId, NEW.xObjectUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 64 AND chEntityPk = NEW.xObjectUid); END CREATE TRIGGER ch_del_64 AFTER DELETE ON XObjectEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 64 AS chTableId, OLD.xObjectUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 64 AND chEntityPk = OLD.xObjectUid); END CREATE VIEW XObjectEntity_ReceiveView AS SELECT XObjectEntity.*, XObjectEntityReplicate.* FROM XObjectEntity LEFT JOIN XObjectEntityReplicate ON XObjectEntityReplicate.xoePk = XObjectEntity.xObjectUid CREATE TRIGGER xobjectentity_remote_insert_ins INSTEAD OF INSERT ON XObjectEntity_ReceiveView FOR EACH ROW BEGIN REPLACE INTO XObjectEntity(xObjectUid, objectType, objectId, definitionType, interactionType, correctResponsePattern, objectContentEntryUid, xObjectMasterChangeSeqNum, xObjectocalChangeSeqNum, xObjectLastChangedBy, xObjectLct) VALUES (NEW.xObjectUid, NEW.objectType, NEW.objectId, NEW.definitionType, NEW.interactionType, NEW.correctResponsePattern, NEW.objectContentEntryUid, NEW.xObjectMasterChangeSeqNum, NEW.xObjectocalChangeSeqNum, NEW.xObjectLastChangedBy, NEW.xObjectLct) /*psql ON CONFLICT (xObjectUid) DO UPDATE SET objectType = EXCLUDED.objectType, objectId = EXCLUDED.objectId, definitionType = EXCLUDED.definitionType, interactionType = EXCLUDED.interactionType, correctResponsePattern = EXCLUDED.correctResponsePattern, objectContentEntryUid = EXCLUDED.objectContentEntryUid, xObjectMasterChangeSeqNum = EXCLUDED.xObjectMasterChangeSeqNum, xObjectocalChangeSeqNum = EXCLUDED.xObjectocalChangeSeqNum, xObjectLastChangedBy = EXCLUDED.xObjectLastChangedBy, xObjectLct = EXCLUDED.xObjectLct */; END CREATE TABLE IF NOT EXISTS StatementEntityReplicate ( sePk INTEGER NOT NULL, seVersionId INTEGER NOT NULL DEFAULT 0, seDestination INTEGER NOT NULL, sePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (sePk, seDestination)) CREATE INDEX index_StatementEntityReplicate_sePk_seDestination_seVersionId ON StatementEntityReplicate (sePk, seDestination, seVersionId) CREATE INDEX index_StatementEntityReplicate_seDestination_sePending ON StatementEntityReplicate (seDestination, sePending) CREATE TRIGGER ch_ins_60 AFTER INSERT ON StatementEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 60 AS chTableId, NEW.statementUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 60 AND chEntityPk = NEW.statementUid); END CREATE TRIGGER ch_upd_60 AFTER UPDATE ON StatementEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 60 AS chTableId, NEW.statementUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 60 AND chEntityPk = NEW.statementUid); END CREATE TRIGGER ch_del_60 AFTER DELETE ON StatementEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 60 AS chTableId, OLD.statementUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 60 AND chEntityPk = OLD.statementUid); END CREATE VIEW StatementEntity_ReceiveView AS SELECT StatementEntity.*, StatementEntityReplicate.* FROM StatementEntity LEFT JOIN StatementEntityReplicate ON StatementEntityReplicate.sePk = StatementEntity.statementUid CREATE TRIGGER statemententity_remote_insert_ins INSTEAD OF INSERT ON StatementEntity_ReceiveView FOR EACH ROW BEGIN REPLACE INTO StatementEntity(statementUid, statementId, statementPersonUid, statementVerbUid, xObjectUid, subStatementActorUid, substatementVerbUid, subStatementObjectUid, agentUid, instructorUid, authorityUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistration, contextPlatform, contextStatementId, fullStatement, statementMasterChangeSeqNum, statementLocalChangeSeqNum, statementLastChangedBy, statementLct, extensionProgress, contentEntryRoot, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid) VALUES (NEW.statementUid, NEW.statementId, NEW.statementPersonUid, NEW.statementVerbUid, NEW.xObjectUid, NEW.subStatementActorUid, NEW.substatementVerbUid, NEW.subStatementObjectUid, NEW.agentUid, NEW.instructorUid, NEW.authorityUid, NEW.teamUid, NEW.resultCompletion, NEW.resultSuccess, NEW.resultScoreScaled, NEW.resultScoreRaw, NEW.resultScoreMin, NEW.resultScoreMax, NEW.resultDuration, NEW.resultResponse, NEW.timestamp, NEW.stored, NEW.contextRegistration, NEW.contextPlatform, NEW.contextStatementId, NEW.fullStatement, NEW.statementMasterChangeSeqNum, NEW.statementLocalChangeSeqNum, NEW.statementLastChangedBy, NEW.statementLct, NEW.extensionProgress, NEW.contentEntryRoot, NEW.statementContentEntryUid, NEW.statementLearnerGroupUid, NEW.statementClazzUid) /*psql ON CONFLICT (statementUid) DO UPDATE SET statementId = EXCLUDED.statementId, statementPersonUid = EXCLUDED.statementPersonUid, statementVerbUid = EXCLUDED.statementVerbUid, xObjectUid = EXCLUDED.xObjectUid, subStatementActorUid = EXCLUDED.subStatementActorUid, substatementVerbUid = EXCLUDED.substatementVerbUid, subStatementObjectUid = EXCLUDED.subStatementObjectUid, agentUid = EXCLUDED.agentUid, instructorUid = EXCLUDED.instructorUid, authorityUid = EXCLUDED.authorityUid, teamUid = EXCLUDED.teamUid, resultCompletion = EXCLUDED.resultCompletion, resultSuccess = EXCLUDED.resultSuccess, resultScoreScaled = EXCLUDED.resultScoreScaled, resultScoreRaw = EXCLUDED.resultScoreRaw, resultScoreMin = EXCLUDED.resultScoreMin, resultScoreMax = EXCLUDED.resultScoreMax, resultDuration = EXCLUDED.resultDuration, resultResponse = EXCLUDED.resultResponse, timestamp = EXCLUDED.timestamp, stored = EXCLUDED.stored, contextRegistration = EXCLUDED.contextRegistration, contextPlatform = EXCLUDED.contextPlatform, contextStatementId = EXCLUDED.contextStatementId, fullStatement = EXCLUDED.fullStatement, statementMasterChangeSeqNum = EXCLUDED.statementMasterChangeSeqNum, statementLocalChangeSeqNum = EXCLUDED.statementLocalChangeSeqNum, statementLastChangedBy = EXCLUDED.statementLastChangedBy, statementLct = EXCLUDED.statementLct, extensionProgress = EXCLUDED.extensionProgress, contentEntryRoot = EXCLUDED.contentEntryRoot, statementContentEntryUid = EXCLUDED.statementContentEntryUid, statementLearnerGroupUid = EXCLUDED.statementLearnerGroupUid, statementClazzUid = EXCLUDED.statementClazzUid */; END CREATE TABLE IF NOT EXISTS ContextXObjectStatementJoinReplicate ( cxosjPk INTEGER NOT NULL, cxosjVersionId INTEGER NOT NULL DEFAULT 0, cxosjDestination INTEGER NOT NULL, cxosjPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (cxosjPk, cxosjDestination)) CREATE INDEX index_ContextXObjectStatementJoinReplicate_cxosjPk_cxosjDestination_cxosjVersionId ON ContextXObjectStatementJoinReplicate (cxosjPk, cxosjDestination, cxosjVersionId) CREATE INDEX index_ContextXObjectStatementJoinReplicate_cxosjDestination_cxosjPending ON ContextXObjectStatementJoinReplicate (cxosjDestination, cxosjPending) CREATE TRIGGER ch_ins_66 AFTER INSERT ON ContextXObjectStatementJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 66 AS chTableId, NEW.contextXObjectStatementJoinUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 66 AND chEntityPk = NEW.contextXObjectStatementJoinUid); END CREATE TRIGGER ch_upd_66 AFTER UPDATE ON ContextXObjectStatementJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 66 AS chTableId, NEW.contextXObjectStatementJoinUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 66 AND chEntityPk = NEW.contextXObjectStatementJoinUid); END CREATE TRIGGER ch_del_66 AFTER DELETE ON ContextXObjectStatementJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 66 AS chTableId, OLD.contextXObjectStatementJoinUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 66 AND chEntityPk = OLD.contextXObjectStatementJoinUid); END CREATE VIEW ContextXObjectStatementJoin_ReceiveView AS SELECT ContextXObjectStatementJoin.*, ContextXObjectStatementJoinReplicate.* FROM ContextXObjectStatementJoin LEFT JOIN ContextXObjectStatementJoinReplicate ON ContextXObjectStatementJoinReplicate.cxosjPk = ContextXObjectStatementJoin.contextXObjectStatementJoinUid CREATE TRIGGER contextxobjectstatementjoin_remote_insert_ins INSTEAD OF INSERT ON ContextXObjectStatementJoin_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ContextXObjectStatementJoin(contextXObjectStatementJoinUid, contextActivityFlag, contextStatementUid, contextXObjectUid, verbMasterChangeSeqNum, verbLocalChangeSeqNum, verbLastChangedBy, contextXObjectLct) VALUES (NEW.contextXObjectStatementJoinUid, NEW.contextActivityFlag, NEW.contextStatementUid, NEW.contextXObjectUid, NEW.verbMasterChangeSeqNum, NEW.verbLocalChangeSeqNum, NEW.verbLastChangedBy, NEW.contextXObjectLct) /*psql ON CONFLICT (contextXObjectStatementJoinUid) DO UPDATE SET contextActivityFlag = EXCLUDED.contextActivityFlag, contextStatementUid = EXCLUDED.contextStatementUid, contextXObjectUid = EXCLUDED.contextXObjectUid, verbMasterChangeSeqNum = EXCLUDED.verbMasterChangeSeqNum, verbLocalChangeSeqNum = EXCLUDED.verbLocalChangeSeqNum, verbLastChangedBy = EXCLUDED.verbLastChangedBy, contextXObjectLct = EXCLUDED.contextXObjectLct */; END CREATE TABLE IF NOT EXISTS AgentEntityReplicate ( aePk INTEGER NOT NULL, aeVersionId INTEGER NOT NULL DEFAULT 0, aeDestination INTEGER NOT NULL, aePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (aePk, aeDestination)) CREATE INDEX index_AgentEntityReplicate_aePk_aeDestination_aeVersionId ON AgentEntityReplicate (aePk, aeDestination, aeVersionId) CREATE INDEX index_AgentEntityReplicate_aeDestination_aePending ON AgentEntityReplicate (aeDestination, aePending) CREATE TRIGGER ch_ins_68 AFTER INSERT ON AgentEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 68 AS chTableId, NEW.agentUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 68 AND chEntityPk = NEW.agentUid); END CREATE TRIGGER ch_upd_68 AFTER UPDATE ON AgentEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 68 AS chTableId, NEW.agentUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 68 AND chEntityPk = NEW.agentUid); END CREATE TRIGGER ch_del_68 AFTER DELETE ON AgentEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 68 AS chTableId, OLD.agentUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 68 AND chEntityPk = OLD.agentUid); END CREATE VIEW AgentEntity_ReceiveView AS SELECT AgentEntity.*, AgentEntityReplicate.* FROM AgentEntity LEFT JOIN AgentEntityReplicate ON AgentEntityReplicate.aePk = AgentEntity.agentUid CREATE TRIGGER agententity_remote_insert_ins INSTEAD OF INSERT ON AgentEntity_ReceiveView FOR EACH ROW BEGIN REPLACE INTO AgentEntity(agentUid, agentMbox, agentMbox_sha1sum, agentOpenid, agentAccountName, agentHomePage, agentPersonUid, statementMasterChangeSeqNum, statementLocalChangeSeqNum, statementLastChangedBy, agentLct) VALUES (NEW.agentUid, NEW.agentMbox, NEW.agentMbox_sha1sum, NEW.agentOpenid, NEW.agentAccountName, NEW.agentHomePage, NEW.agentPersonUid, NEW.statementMasterChangeSeqNum, NEW.statementLocalChangeSeqNum, NEW.statementLastChangedBy, NEW.agentLct) /*psql ON CONFLICT (agentUid) DO UPDATE SET agentMbox = EXCLUDED.agentMbox, agentMbox_sha1sum = EXCLUDED.agentMbox_sha1sum, agentOpenid = EXCLUDED.agentOpenid, agentAccountName = EXCLUDED.agentAccountName, agentHomePage = EXCLUDED.agentHomePage, agentPersonUid = EXCLUDED.agentPersonUid, statementMasterChangeSeqNum = EXCLUDED.statementMasterChangeSeqNum, statementLocalChangeSeqNum = EXCLUDED.statementLocalChangeSeqNum, statementLastChangedBy = EXCLUDED.statementLastChangedBy, agentLct = EXCLUDED.agentLct*/; END CREATE TABLE IF NOT EXISTS StateEntityReplicate ( sePk INTEGER NOT NULL, seVersionId INTEGER NOT NULL DEFAULT 0, seDestination INTEGER NOT NULL, sePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (sePk, seDestination)) CREATE INDEX index_StateEntityReplicate_sePk_seDestination_seVersionId ON StateEntityReplicate (sePk, seDestination, seVersionId) CREATE INDEX index_StateEntityReplicate_seDestination_sePending ON StateEntityReplicate (seDestination, sePending) CREATE TRIGGER ch_ins_70 AFTER INSERT ON StateEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 70 AS chTableId, NEW.stateUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 70 AND chEntityPk = NEW.stateUid); END CREATE TRIGGER ch_upd_70 AFTER UPDATE ON StateEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 70 AS chTableId, NEW.stateUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 70 AND chEntityPk = NEW.stateUid); END CREATE TRIGGER ch_del_70 AFTER DELETE ON StateEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 70 AS chTableId, OLD.stateUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 70 AND chEntityPk = OLD.stateUid); END CREATE VIEW StateEntity_ReceiveView AS SELECT StateEntity.*, StateEntityReplicate.* FROM StateEntity LEFT JOIN StateEntityReplicate ON StateEntityReplicate.sePk = StateEntity.stateUid CREATE TRIGGER stateentity_remote_insert_ins INSTEAD OF INSERT ON StateEntity_ReceiveView FOR EACH ROW BEGIN REPLACE INTO StateEntity(stateUid, stateId, agentUid, activityId, registration, isIsactive, timestamp, stateMasterChangeSeqNum, stateLocalChangeSeqNum, stateLastChangedBy, stateLct) VALUES (NEW.stateUid, NEW.stateId, NEW.agentUid, NEW.activityId, NEW.registration, NEW.isIsactive, NEW.timestamp, NEW.stateMasterChangeSeqNum, NEW.stateLocalChangeSeqNum, NEW.stateLastChangedBy, NEW.stateLct) /*psql ON CONFLICT (stateUid) DO UPDATE SET stateId = EXCLUDED.stateId, agentUid = EXCLUDED.agentUid, activityId = EXCLUDED.activityId, registration = EXCLUDED.registration, isIsactive = EXCLUDED.isIsactive, timestamp = EXCLUDED.timestamp, stateMasterChangeSeqNum = EXCLUDED.stateMasterChangeSeqNum, stateLocalChangeSeqNum = EXCLUDED.stateLocalChangeSeqNum, stateLastChangedBy = EXCLUDED.stateLastChangedBy, stateLct = EXCLUDED.stateLct */; END CREATE TABLE IF NOT EXISTS StateContentEntityReplicate ( scePk INTEGER NOT NULL, sceVersionId INTEGER NOT NULL DEFAULT 0, sceDestination INTEGER NOT NULL, scePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (scePk, sceDestination)) CREATE INDEX index_StateContentEntityReplicate_scePk_sceDestination_sceVersionId ON StateContentEntityReplicate (scePk, sceDestination, sceVersionId) CREATE INDEX index_StateContentEntityReplicate_sceDestination_scePending ON StateContentEntityReplicate (sceDestination, scePending) CREATE TRIGGER ch_ins_72 AFTER INSERT ON StateContentEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 72 AS chTableId, NEW.stateContentUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 72 AND chEntityPk = NEW.stateContentUid); END CREATE TRIGGER ch_upd_72 AFTER UPDATE ON StateContentEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 72 AS chTableId, NEW.stateContentUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 72 AND chEntityPk = NEW.stateContentUid); END CREATE TRIGGER ch_del_72 AFTER DELETE ON StateContentEntity BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 72 AS chTableId, OLD.stateContentUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 72 AND chEntityPk = OLD.stateContentUid); END CREATE VIEW StateContentEntity_ReceiveView AS SELECT StateContentEntity.*, StateContentEntityReplicate.* FROM StateContentEntity LEFT JOIN StateContentEntityReplicate ON StateContentEntityReplicate.scePk = StateContentEntity.stateContentUid CREATE TRIGGER statecontententity_remote_insert_ins INSTEAD OF INSERT ON StateContentEntity_ReceiveView FOR EACH ROW BEGIN REPLACE INTO StateContentEntity(stateContentUid, stateContentStateUid, stateContentKey, stateContentValue, isIsactive, stateContentMasterChangeSeqNum, stateContentLocalChangeSeqNum, stateContentLastChangedBy, stateContentLct) VALUES (NEW.stateContentUid, NEW.stateContentStateUid, NEW.stateContentKey, NEW.stateContentValue, NEW.isIsactive, NEW.stateContentMasterChangeSeqNum, NEW.stateContentLocalChangeSeqNum, NEW.stateContentLastChangedBy, NEW.stateContentLct) /*psql ON CONFLICT (stateContentUid) DO UPDATE SET stateContentStateUid = EXCLUDED.stateContentStateUid, stateContentKey = EXCLUDED.stateContentKey, stateContentValue = EXCLUDED.stateContentValue, isIsactive = EXCLUDED.isIsactive, stateContentMasterChangeSeqNum = EXCLUDED.stateContentMasterChangeSeqNum, stateContentLocalChangeSeqNum = EXCLUDED.stateContentLocalChangeSeqNum, stateContentLastChangedBy = EXCLUDED.stateContentLastChangedBy, stateContentLct = EXCLUDED.stateContentLct */; END CREATE TABLE IF NOT EXISTS XLangMapEntryReplicate ( xlmePk INTEGER NOT NULL, xlmeVersionId INTEGER NOT NULL DEFAULT 0, xlmeDestination INTEGER NOT NULL, xlmePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (xlmePk, xlmeDestination)) CREATE INDEX index_XLangMapEntryReplicate_xlmePk_xlmeDestination_xlmeVersionId ON XLangMapEntryReplicate (xlmePk, xlmeDestination, xlmeVersionId) CREATE INDEX index_XLangMapEntryReplicate_xlmeDestination_xlmePending ON XLangMapEntryReplicate (xlmeDestination, xlmePending) CREATE TRIGGER ch_ins_74 AFTER INSERT ON XLangMapEntry BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 74 AS chTableId, NEW.statementLangMapUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 74 AND chEntityPk = NEW.statementLangMapUid); END CREATE TRIGGER ch_upd_74 AFTER UPDATE ON XLangMapEntry BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 74 AS chTableId, NEW.statementLangMapUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 74 AND chEntityPk = NEW.statementLangMapUid); END CREATE TRIGGER ch_del_74 AFTER DELETE ON XLangMapEntry BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 74 AS chTableId, OLD.statementLangMapUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 74 AND chEntityPk = OLD.statementLangMapUid); END CREATE VIEW XLangMapEntry_ReceiveView AS SELECT XLangMapEntry.*, XLangMapEntryReplicate.* FROM XLangMapEntry LEFT JOIN XLangMapEntryReplicate ON XLangMapEntryReplicate.xlmePk = XLangMapEntry.statementLangMapUid CREATE TRIGGER xlangmapentry_remote_insert_ins INSTEAD OF INSERT ON XLangMapEntry_ReceiveView FOR EACH ROW BEGIN REPLACE INTO XLangMapEntry(verbLangMapUid, objectLangMapUid, languageLangMapUid, languageVariantLangMapUid, valueLangMap, statementLangMapMasterCsn, statementLangMapLocalCsn, statementLangMapLcb, statementLangMapLct, statementLangMapUid) VALUES (NEW.verbLangMapUid, NEW.objectLangMapUid, NEW.languageLangMapUid, NEW.languageVariantLangMapUid, NEW.valueLangMap, NEW.statementLangMapMasterCsn, NEW.statementLangMapLocalCsn, NEW.statementLangMapLcb, NEW.statementLangMapLct, NEW.statementLangMapUid) /*psql ON CONFLICT (statementLangMapUid) DO UPDATE SET verbLangMapUid = EXCLUDED.verbLangMapUid, objectLangMapUid = EXCLUDED.objectLangMapUid, languageLangMapUid = EXCLUDED.languageLangMapUid, languageVariantLangMapUid = EXCLUDED.languageVariantLangMapUid, valueLangMap = EXCLUDED.valueLangMap, statementLangMapMasterCsn = EXCLUDED.statementLangMapMasterCsn, statementLangMapLocalCsn = EXCLUDED.statementLangMapLocalCsn, statementLangMapLcb = EXCLUDED.statementLangMapLcb, statementLangMapLct = EXCLUDED.statementLangMapLct */; END CREATE TABLE IF NOT EXISTS SchoolReplicate ( schoolPk INTEGER NOT NULL, schoolVersionId INTEGER NOT NULL DEFAULT 0, schoolDestination INTEGER NOT NULL, schoolPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (schoolPk, schoolDestination)) CREATE INDEX index_SchoolReplicate_schoolPk_schoolDestination_schoolVersionId ON SchoolReplicate (schoolPk, schoolDestination, schoolVersionId) CREATE INDEX index_SchoolReplicate_schoolDestination_schoolPending ON SchoolReplicate (schoolDestination, schoolPending) CREATE TRIGGER ch_ins_164 AFTER INSERT ON School BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 164 AS chTableId, NEW.schoolUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 164 AND chEntityPk = NEW.schoolUid); END CREATE TRIGGER ch_upd_164 AFTER UPDATE ON School BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 164 AS chTableId, NEW.schoolUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 164 AND chEntityPk = NEW.schoolUid); END CREATE TRIGGER ch_del_164 AFTER DELETE ON School BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 164 AS chTableId, OLD.schoolUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 164 AND chEntityPk = OLD.schoolUid); END CREATE VIEW School_ReceiveView AS SELECT School.*, SchoolReplicate.* FROM School LEFT JOIN SchoolReplicate ON SchoolReplicate.schoolPk = School.schoolUid CREATE TRIGGER school_remote_insert_ins INSTEAD OF INSERT ON School_ReceiveView FOR EACH ROW BEGIN REPLACE INTO School(schoolUid, schoolName, schoolDesc, schoolAddress, schoolActive, schoolPhoneNumber, schoolGender, schoolHolidayCalendarUid, schoolFeatures, schoolLocationLong, schoolLocationLatt, schoolEmailAddress, schoolTeachersPersonGroupUid, schoolStudentsPersonGroupUid, schoolPendingStudentsPersonGroupUid, schoolCode, schoolMasterChangeSeqNum, schoolLocalChangeSeqNum, schoolLastChangedBy, schoolLct, schoolTimeZone) VALUES (NEW.schoolUid, NEW.schoolName, NEW.schoolDesc, NEW.schoolAddress, NEW.schoolActive, NEW.schoolPhoneNumber, NEW.schoolGender, NEW.schoolHolidayCalendarUid, NEW.schoolFeatures, NEW.schoolLocationLong, NEW.schoolLocationLatt, NEW.schoolEmailAddress, NEW.schoolTeachersPersonGroupUid, NEW.schoolStudentsPersonGroupUid, NEW.schoolPendingStudentsPersonGroupUid, NEW.schoolCode, NEW.schoolMasterChangeSeqNum, NEW.schoolLocalChangeSeqNum, NEW.schoolLastChangedBy, NEW.schoolLct, NEW.schoolTimeZone) /*psql ON CONFLICT (schoolUid) DO UPDATE SET schoolName = EXCLUDED.schoolName, schoolDesc = EXCLUDED.schoolDesc, schoolAddress = EXCLUDED.schoolAddress, schoolActive = EXCLUDED.schoolActive, schoolPhoneNumber = EXCLUDED.schoolPhoneNumber, schoolGender = EXCLUDED.schoolGender, schoolHolidayCalendarUid = EXCLUDED.schoolHolidayCalendarUid, schoolFeatures = EXCLUDED.schoolFeatures, schoolLocationLong = EXCLUDED.schoolLocationLong, schoolLocationLatt = EXCLUDED.schoolLocationLatt, schoolEmailAddress = EXCLUDED.schoolEmailAddress, schoolTeachersPersonGroupUid = EXCLUDED.schoolTeachersPersonGroupUid, schoolStudentsPersonGroupUid = EXCLUDED.schoolStudentsPersonGroupUid, schoolPendingStudentsPersonGroupUid = EXCLUDED.schoolPendingStudentsPersonGroupUid, schoolCode = EXCLUDED.schoolCode, schoolMasterChangeSeqNum = EXCLUDED.schoolMasterChangeSeqNum, schoolLocalChangeSeqNum = EXCLUDED.schoolLocalChangeSeqNum, schoolLastChangedBy = EXCLUDED.schoolLastChangedBy, schoolLct = EXCLUDED.schoolLct, schoolTimeZone = EXCLUDED.schoolTimeZone */; END CREATE TABLE IF NOT EXISTS SchoolMemberReplicate ( smPk INTEGER NOT NULL, smVersionId INTEGER NOT NULL DEFAULT 0, smDestination INTEGER NOT NULL, smPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (smPk, smDestination)) CREATE INDEX index_SchoolMemberReplicate_smPk_smDestination_smVersionId ON SchoolMemberReplicate (smPk, smDestination, smVersionId) CREATE INDEX index_SchoolMemberReplicate_smDestination_smPending ON SchoolMemberReplicate (smDestination, smPending) CREATE TRIGGER ch_ins_200 AFTER INSERT ON SchoolMember BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 200 AS chTableId, NEW.schoolMemberUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 200 AND chEntityPk = NEW.schoolMemberUid); END CREATE TRIGGER ch_upd_200 AFTER UPDATE ON SchoolMember BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 200 AS chTableId, NEW.schoolMemberUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 200 AND chEntityPk = NEW.schoolMemberUid); END CREATE TRIGGER ch_del_200 AFTER DELETE ON SchoolMember BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 200 AS chTableId, OLD.schoolMemberUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 200 AND chEntityPk = OLD.schoolMemberUid); END CREATE VIEW SchoolMember_ReceiveView AS SELECT SchoolMember.*, SchoolMemberReplicate.* FROM SchoolMember LEFT JOIN SchoolMemberReplicate ON SchoolMemberReplicate.smPk = SchoolMember.schoolMemberUid CREATE TRIGGER schoolmember_remote_insert_ins INSTEAD OF INSERT ON SchoolMember_ReceiveView FOR EACH ROW BEGIN REPLACE INTO SchoolMember(schoolMemberUid, schoolMemberPersonUid, schoolMemberSchoolUid, schoolMemberJoinDate, schoolMemberLeftDate, schoolMemberRole, schoolMemberActive, schoolMemberLocalChangeSeqNum, schoolMemberMasterChangeSeqNum, schoolMemberLastChangedBy, schoolMemberLct) VALUES (NEW.schoolMemberUid, NEW.schoolMemberPersonUid, NEW.schoolMemberSchoolUid, NEW.schoolMemberJoinDate, NEW.schoolMemberLeftDate, NEW.schoolMemberRole, NEW.schoolMemberActive, NEW.schoolMemberLocalChangeSeqNum, NEW.schoolMemberMasterChangeSeqNum, NEW.schoolMemberLastChangedBy, NEW.schoolMemberLct) /*psql ON CONFLICT (schoolMemberUid) DO UPDATE SET schoolMemberPersonUid = EXCLUDED.schoolMemberPersonUid, schoolMemberSchoolUid = EXCLUDED.schoolMemberSchoolUid, schoolMemberJoinDate = EXCLUDED.schoolMemberJoinDate, schoolMemberLeftDate = EXCLUDED.schoolMemberLeftDate, schoolMemberRole = EXCLUDED.schoolMemberRole, schoolMemberActive = EXCLUDED.schoolMemberActive, schoolMemberLocalChangeSeqNum = EXCLUDED.schoolMemberLocalChangeSeqNum, schoolMemberMasterChangeSeqNum = EXCLUDED.schoolMemberMasterChangeSeqNum, schoolMemberLastChangedBy = EXCLUDED.schoolMemberLastChangedBy, schoolMemberLct = EXCLUDED.schoolMemberLct */; END CREATE TABLE IF NOT EXISTS CommentsReplicate ( commentsPk INTEGER NOT NULL, commentsVersionId INTEGER NOT NULL DEFAULT 0, commentsDestination INTEGER NOT NULL, commentsPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (commentsPk, commentsDestination)) CREATE INDEX index_CommentsReplicate_commentsPk_commentsDestination_commentsVersionId ON CommentsReplicate (commentsPk, commentsDestination, commentsVersionId) CREATE INDEX index_CommentsReplicate_commentsDestination_commentsPending ON CommentsReplicate (commentsDestination, commentsPending) CREATE TRIGGER ch_ins_208 AFTER INSERT ON Comments BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 208 AS chTableId, NEW.commentsUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 208 AND chEntityPk = NEW.commentsUid); END CREATE TRIGGER ch_upd_208 AFTER UPDATE ON Comments BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 208 AS chTableId, NEW.commentsUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 208 AND chEntityPk = NEW.commentsUid); END CREATE TRIGGER ch_del_208 AFTER DELETE ON Comments BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 208 AS chTableId, OLD.commentsUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 208 AND chEntityPk = OLD.commentsUid); END CREATE VIEW Comments_ReceiveView AS SELECT Comments.*, CommentsReplicate.* FROM Comments LEFT JOIN CommentsReplicate ON CommentsReplicate.commentsPk = Comments.commentsUid CREATE TRIGGER comments_remote_insert_ins INSTEAD OF INSERT ON Comments_ReceiveView FOR EACH ROW BEGIN REPLACE INTO Comments(commentsUid, commentsText, commentsEntityType, commentsEntityUid, commentsPublic, commentsStatus, commentsPersonUid, commentsToPersonUid, commentsFlagged, commentsInActive, commentsDateTimeAdded, commentsDateTimeUpdated, commentsMCSN, commentsLCSN, commentsLCB, commentsLct) VALUES (NEW.commentsUid, NEW.commentsText, NEW.commentsEntityType, NEW.commentsEntityUid, NEW.commentsPublic, NEW.commentsStatus, NEW.commentsPersonUid, NEW.commentsToPersonUid, NEW.commentsFlagged, NEW.commentsInActive, NEW.commentsDateTimeAdded, NEW.commentsDateTimeUpdated, NEW.commentsMCSN, NEW.commentsLCSN, NEW.commentsLCB, NEW.commentsLct) /*psql ON CONFLICT (commentsUid) DO UPDATE SET commentsText = EXCLUDED.commentsText, commentsEntityType = EXCLUDED.commentsEntityType, commentsEntityUid = EXCLUDED.commentsEntityUid, commentsPublic = EXCLUDED.commentsPublic, commentsStatus = EXCLUDED.commentsStatus, commentsPersonUid = EXCLUDED.commentsPersonUid, commentsToPersonUid = EXCLUDED.commentsToPersonUid, commentsFlagged = EXCLUDED.commentsFlagged, commentsInActive = EXCLUDED.commentsInActive, commentsDateTimeAdded = EXCLUDED.commentsDateTimeAdded, commentsDateTimeUpdated = EXCLUDED.commentsDateTimeUpdated, commentsMCSN = EXCLUDED.commentsMCSN, commentsLCSN = EXCLUDED.commentsLCSN, commentsLCB = EXCLUDED.commentsLCB, commentsLct = EXCLUDED.commentsLct */; END CREATE TABLE IF NOT EXISTS ReportReplicate ( reportPk INTEGER NOT NULL, reportVersionId INTEGER NOT NULL DEFAULT 0, reportDestination INTEGER NOT NULL, reportPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (reportPk, reportDestination)) CREATE INDEX index_ReportReplicate_reportPk_reportDestination_reportVersionId ON ReportReplicate (reportPk, reportDestination, reportVersionId) CREATE INDEX index_ReportReplicate_reportDestination_reportPending ON ReportReplicate (reportDestination, reportPending) CREATE TRIGGER ch_ins_101 AFTER INSERT ON Report BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 101 AS chTableId, NEW.reportUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 101 AND chEntityPk = NEW.reportUid); END CREATE TRIGGER ch_upd_101 AFTER UPDATE ON Report BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 101 AS chTableId, NEW.reportUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 101 AND chEntityPk = NEW.reportUid); END CREATE TRIGGER ch_del_101 AFTER DELETE ON Report BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 101 AS chTableId, OLD.reportUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 101 AND chEntityPk = OLD.reportUid); END CREATE VIEW Report_ReceiveView AS SELECT Report.*, ReportReplicate.* FROM Report LEFT JOIN ReportReplicate ON ReportReplicate.reportPk = Report.reportUid CREATE TRIGGER report_remote_insert_ins INSTEAD OF INSERT ON Report_ReceiveView FOR EACH ROW BEGIN REPLACE INTO Report(reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct) VALUES (NEW.reportUid, NEW.reportOwnerUid, NEW.xAxis, NEW.reportDateRangeSelection, NEW.fromDate, NEW.fromRelTo, NEW.fromRelOffSet, NEW.fromRelUnit, NEW.toDate, NEW.toRelTo, NEW.toRelOffSet, NEW.toRelUnit, NEW.reportTitle, NEW.reportDescription, NEW.reportSeries, NEW.reportInactive, NEW.isTemplate, NEW.priority, NEW.reportTitleId, NEW.reportDescId, NEW.reportMasterChangeSeqNum, NEW.reportLocalChangeSeqNum, NEW.reportLastChangedBy, NEW.reportLct) /*psql ON CONFLICT (reportUid) DO UPDATE SET reportOwnerUid = EXCLUDED.reportOwnerUid, xAxis = EXCLUDED.xAxis, reportDateRangeSelection = EXCLUDED.reportDateRangeSelection, fromDate = EXCLUDED.fromDate, fromRelTo = EXCLUDED.fromRelTo, fromRelOffSet = EXCLUDED.fromRelOffSet, fromRelUnit = EXCLUDED.fromRelUnit, toDate = EXCLUDED.toDate, toRelTo = EXCLUDED.toRelTo, toRelOffSet = EXCLUDED.toRelOffSet, toRelUnit = EXCLUDED.toRelUnit, reportTitle = EXCLUDED.reportTitle, reportDescription = EXCLUDED.reportDescription, reportSeries = EXCLUDED.reportSeries, reportInactive = EXCLUDED.reportInactive, isTemplate = EXCLUDED.isTemplate, priority = EXCLUDED.priority, reportTitleId = EXCLUDED.reportTitleId, reportDescId = EXCLUDED.reportDescId, reportMasterChangeSeqNum = EXCLUDED.reportMasterChangeSeqNum, reportLocalChangeSeqNum = EXCLUDED.reportLocalChangeSeqNum, reportLastChangedBy = EXCLUDED.reportLastChangedBy, reportLct = EXCLUDED.reportLct */; END CREATE TABLE IF NOT EXISTS SiteReplicate ( sitePk INTEGER NOT NULL, siteVersionId INTEGER NOT NULL DEFAULT 0, siteDestination INTEGER NOT NULL, sitePending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (sitePk, siteDestination)) CREATE INDEX index_SiteReplicate_sitePk_siteDestination_siteVersionId ON SiteReplicate (sitePk, siteDestination, siteVersionId) CREATE INDEX index_SiteReplicate_siteDestination_sitePending ON SiteReplicate (siteDestination, sitePending) CREATE TRIGGER ch_ins_189 AFTER INSERT ON Site BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 189 AS chTableId, NEW.siteUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 189 AND chEntityPk = NEW.siteUid); END CREATE TRIGGER ch_upd_189 AFTER UPDATE ON Site BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 189 AS chTableId, NEW.siteUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 189 AND chEntityPk = NEW.siteUid); END CREATE TRIGGER ch_del_189 AFTER DELETE ON Site BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 189 AS chTableId, OLD.siteUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 189 AND chEntityPk = OLD.siteUid); END CREATE VIEW Site_ReceiveView AS SELECT Site.*, SiteReplicate.* FROM Site LEFT JOIN SiteReplicate ON SiteReplicate.sitePk = Site.siteUid CREATE TRIGGER site_remote_insert_ins INSTEAD OF INSERT ON Site_ReceiveView FOR EACH ROW BEGIN REPLACE INTO Site(siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt) VALUES (NEW.siteUid, NEW.sitePcsn, NEW.siteLcsn, NEW.siteLcb, NEW.siteLct, NEW.siteName, NEW.guestLogin, NEW.registrationAllowed, NEW.authSalt) /*psql ON CONFLICT (siteUid) DO UPDATE SET sitePcsn = EXCLUDED.sitePcsn, siteLcsn = EXCLUDED.siteLcsn, siteLcb = EXCLUDED.siteLcb, siteLct = EXCLUDED.siteLct, siteName = EXCLUDED.siteName, guestLogin = EXCLUDED.guestLogin, registrationAllowed = EXCLUDED.registrationAllowed, authSalt = EXCLUDED.authSalt*/; END CREATE TABLE IF NOT EXISTS LearnerGroupReplicate ( lgPk INTEGER NOT NULL, lgVersionId INTEGER NOT NULL DEFAULT 0, lgDestination INTEGER NOT NULL, lgPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (lgPk, lgDestination)) CREATE INDEX index_LearnerGroupReplicate_lgPk_lgDestination_lgVersionId ON LearnerGroupReplicate (lgPk, lgDestination, lgVersionId) CREATE INDEX index_LearnerGroupReplicate_lgDestination_lgPending ON LearnerGroupReplicate (lgDestination, lgPending) CREATE TRIGGER ch_ins_301 AFTER INSERT ON LearnerGroup BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 301 AS chTableId, NEW.learnerGroupUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 301 AND chEntityPk = NEW.learnerGroupUid); END CREATE TRIGGER ch_upd_301 AFTER UPDATE ON LearnerGroup BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 301 AS chTableId, NEW.learnerGroupUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 301 AND chEntityPk = NEW.learnerGroupUid); END CREATE TRIGGER ch_del_301 AFTER DELETE ON LearnerGroup BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 301 AS chTableId, OLD.learnerGroupUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 301 AND chEntityPk = OLD.learnerGroupUid); END CREATE VIEW LearnerGroup_ReceiveView AS SELECT LearnerGroup.*, LearnerGroupReplicate.* FROM LearnerGroup LEFT JOIN LearnerGroupReplicate ON LearnerGroupReplicate.lgPk = LearnerGroup.learnerGroupUid CREATE TRIGGER learnergroup_remote_insert_ins INSTEAD OF INSERT ON LearnerGroup_ReceiveView FOR EACH ROW BEGIN REPLACE INTO LearnerGroup(learnerGroupUid, learnerGroupName, learnerGroupDescription, learnerGroupActive, learnerGroupMCSN, learnerGroupCSN, learnerGroupLCB, learnerGroupLct) VALUES (NEW.learnerGroupUid, NEW.learnerGroupName, NEW.learnerGroupDescription, NEW.learnerGroupActive, NEW.learnerGroupMCSN, NEW.learnerGroupCSN, NEW.learnerGroupLCB, NEW.learnerGroupLct) /*psql ON CONFLICT (learnerGroupUid) DO UPDATE SET learnerGroupName = EXCLUDED.learnerGroupName, learnerGroupDescription = EXCLUDED.learnerGroupDescription, learnerGroupActive = EXCLUDED.learnerGroupActive, learnerGroupMCSN = EXCLUDED.learnerGroupMCSN, learnerGroupCSN = EXCLUDED.learnerGroupCSN, learnerGroupLCB = EXCLUDED.learnerGroupLCB, learnerGroupLct = EXCLUDED.learnerGroupLct */; END CREATE TABLE IF NOT EXISTS LearnerGroupMemberReplicate ( lgmPk INTEGER NOT NULL, lgmVersionId INTEGER NOT NULL DEFAULT 0, lgmDestination INTEGER NOT NULL, lgmPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (lgmPk, lgmDestination)) CREATE INDEX index_LearnerGroupMemberReplicate_lgmPk_lgmDestination_lgmVersionId ON LearnerGroupMemberReplicate (lgmPk, lgmDestination, lgmVersionId) CREATE INDEX index_LearnerGroupMemberReplicate_lgmDestination_lgmPending ON LearnerGroupMemberReplicate (lgmDestination, lgmPending) CREATE TRIGGER ch_ins_300 AFTER INSERT ON LearnerGroupMember BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 300 AS chTableId, NEW.learnerGroupMemberUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 300 AND chEntityPk = NEW.learnerGroupMemberUid); END CREATE TRIGGER ch_upd_300 AFTER UPDATE ON LearnerGroupMember BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 300 AS chTableId, NEW.learnerGroupMemberUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 300 AND chEntityPk = NEW.learnerGroupMemberUid); END CREATE TRIGGER ch_del_300 AFTER DELETE ON LearnerGroupMember BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 300 AS chTableId, OLD.learnerGroupMemberUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 300 AND chEntityPk = OLD.learnerGroupMemberUid); END CREATE VIEW LearnerGroupMember_ReceiveView AS SELECT LearnerGroupMember.*, LearnerGroupMemberReplicate.* FROM LearnerGroupMember LEFT JOIN LearnerGroupMemberReplicate ON LearnerGroupMemberReplicate.lgmPk = LearnerGroupMember.learnerGroupMemberUid CREATE TRIGGER learnergroupmember_remote_insert_ins INSTEAD OF INSERT ON LearnerGroupMember_ReceiveView FOR EACH ROW BEGIN REPLACE INTO LearnerGroupMember(learnerGroupMemberUid, learnerGroupMemberPersonUid, learnerGroupMemberLgUid, learnerGroupMemberRole, learnerGroupMemberActive, learnerGroupMemberMCSN, learnerGroupMemberCSN, learnerGroupMemberLCB, learnerGroupMemberLct) VALUES (NEW.learnerGroupMemberUid, NEW.learnerGroupMemberPersonUid, NEW.learnerGroupMemberLgUid, NEW.learnerGroupMemberRole, NEW.learnerGroupMemberActive, NEW.learnerGroupMemberMCSN, NEW.learnerGroupMemberCSN, NEW.learnerGroupMemberLCB, NEW.learnerGroupMemberLct) /*psql ON CONFLICT (learnerGroupMemberUid) DO UPDATE SET learnerGroupMemberPersonUid = EXCLUDED.learnerGroupMemberPersonUid, learnerGroupMemberLgUid = EXCLUDED.learnerGroupMemberLgUid, learnerGroupMemberRole = EXCLUDED.learnerGroupMemberRole, learnerGroupMemberActive = EXCLUDED.learnerGroupMemberActive, learnerGroupMemberMCSN = EXCLUDED.learnerGroupMemberMCSN, learnerGroupMemberCSN = EXCLUDED.learnerGroupMemberCSN, learnerGroupMemberLCB = EXCLUDED.learnerGroupMemberLCB, learnerGroupMemberLct = EXCLUDED.learnerGroupMemberLct */; END CREATE TABLE IF NOT EXISTS GroupLearningSessionReplicate ( glsPk INTEGER NOT NULL, glsVersionId INTEGER NOT NULL DEFAULT 0, glsDestination INTEGER NOT NULL, glsPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (glsPk, glsDestination)) CREATE INDEX index_GroupLearningSessionReplicate_glsPk_glsDestination_glsVersionId ON GroupLearningSessionReplicate (glsPk, glsDestination, glsVersionId) CREATE INDEX index_GroupLearningSessionReplicate_glsDestination_glsPending ON GroupLearningSessionReplicate (glsDestination, glsPending) CREATE TRIGGER ch_ins_302 AFTER INSERT ON GroupLearningSession BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 302 AS chTableId, NEW.groupLearningSessionUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 302 AND chEntityPk = NEW.groupLearningSessionUid); END CREATE TRIGGER ch_upd_302 AFTER UPDATE ON GroupLearningSession BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 302 AS chTableId, NEW.groupLearningSessionUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 302 AND chEntityPk = NEW.groupLearningSessionUid); END CREATE TRIGGER ch_del_302 AFTER DELETE ON GroupLearningSession BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 302 AS chTableId, OLD.groupLearningSessionUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 302 AND chEntityPk = OLD.groupLearningSessionUid); END CREATE VIEW GroupLearningSession_ReceiveView AS SELECT GroupLearningSession.*, GroupLearningSessionReplicate.* FROM GroupLearningSession LEFT JOIN GroupLearningSessionReplicate ON GroupLearningSessionReplicate.glsPk = GroupLearningSession.groupLearningSessionUid CREATE TRIGGER grouplearningsession_remote_insert_ins INSTEAD OF INSERT ON GroupLearningSession_ReceiveView FOR EACH ROW BEGIN REPLACE INTO GroupLearningSession(groupLearningSessionUid, groupLearningSessionContentUid, groupLearningSessionLearnerGroupUid, groupLearningSessionInactive, groupLearningSessionMCSN, groupLearningSessionCSN, groupLearningSessionLCB, groupLearningSessionLct) VALUES (NEW.groupLearningSessionUid, NEW.groupLearningSessionContentUid, NEW.groupLearningSessionLearnerGroupUid, NEW.groupLearningSessionInactive, NEW.groupLearningSessionMCSN, NEW.groupLearningSessionCSN, NEW.groupLearningSessionLCB, NEW.groupLearningSessionLct) /*psql ON CONFLICT (groupLearningSessionUid) DO UPDATE SET groupLearningSessionContentUid = EXCLUDED.groupLearningSessionContentUid, groupLearningSessionLearnerGroupUid = EXCLUDED.groupLearningSessionLearnerGroupUid, groupLearningSessionInactive = EXCLUDED.groupLearningSessionInactive, groupLearningSessionMCSN = EXCLUDED.groupLearningSessionMCSN, groupLearningSessionCSN = EXCLUDED.groupLearningSessionCSN, groupLearningSessionLCB = EXCLUDED.groupLearningSessionLCB, groupLearningSessionLct = EXCLUDED.groupLearningSessionLct */; END CREATE TABLE IF NOT EXISTS SiteTermsReplicate ( stPk INTEGER NOT NULL, stVersionId INTEGER NOT NULL DEFAULT 0, stDestination INTEGER NOT NULL, stPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (stPk, stDestination)) CREATE INDEX index_SiteTermsReplicate_stPk_stDestination_stVersionId ON SiteTermsReplicate (stPk, stDestination, stVersionId) CREATE INDEX index_SiteTermsReplicate_stDestination_stPending ON SiteTermsReplicate (stDestination, stPending) CREATE TRIGGER ch_ins_272 AFTER INSERT ON SiteTerms BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 272 AS chTableId, NEW.sTermsUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 272 AND chEntityPk = NEW.sTermsUid); END CREATE TRIGGER ch_upd_272 AFTER UPDATE ON SiteTerms BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 272 AS chTableId, NEW.sTermsUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 272 AND chEntityPk = NEW.sTermsUid); END CREATE TRIGGER ch_del_272 AFTER DELETE ON SiteTerms BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 272 AS chTableId, OLD.sTermsUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 272 AND chEntityPk = OLD.sTermsUid); END CREATE VIEW SiteTerms_ReceiveView AS SELECT SiteTerms.*, SiteTermsReplicate.* FROM SiteTerms LEFT JOIN SiteTermsReplicate ON SiteTermsReplicate.stPk = SiteTerms.sTermsUid CREATE TRIGGER siteterms_remote_insert_ins INSTEAD OF INSERT ON SiteTerms_ReceiveView FOR EACH ROW BEGIN REPLACE INTO SiteTerms(sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct) VALUES (NEW.sTermsUid, NEW.termsHtml, NEW.sTermsLang, NEW.sTermsLangUid, NEW.sTermsActive, NEW.sTermsLastChangedBy, NEW.sTermsPrimaryCsn, NEW.sTermsLocalCsn, NEW.sTermsLct) /*psql ON CONFLICT (sTermsUid) DO UPDATE SET termsHtml = EXCLUDED.termsHtml, sTermsLang = EXCLUDED.sTermsLang, sTermsLangUid = EXCLUDED.sTermsLangUid, sTermsActive = EXCLUDED.sTermsActive, sTermsLastChangedBy = EXCLUDED.sTermsLastChangedBy, sTermsPrimaryCsn = EXCLUDED.sTermsPrimaryCsn, sTermsLocalCsn = EXCLUDED.sTermsLocalCsn, sTermsLct = EXCLUDED.sTermsLct */; END CREATE TABLE IF NOT EXISTS ClazzContentJoinReplicate ( ccjPk INTEGER NOT NULL, ccjVersionId INTEGER NOT NULL DEFAULT 0, ccjDestination INTEGER NOT NULL, ccjPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (ccjPk, ccjDestination)) CREATE INDEX index_ClazzContentJoinReplicate_ccjPk_ccjDestination_ccjVersionId ON ClazzContentJoinReplicate (ccjPk, ccjDestination, ccjVersionId) CREATE INDEX index_ClazzContentJoinReplicate_ccjDestination_ccjPending ON ClazzContentJoinReplicate (ccjDestination, ccjPending) CREATE TRIGGER ch_ins_134 AFTER INSERT ON ClazzContentJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 134 AS chTableId, NEW.ccjUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 134 AND chEntityPk = NEW.ccjUid); END CREATE TRIGGER ch_upd_134 AFTER UPDATE ON ClazzContentJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 134 AS chTableId, NEW.ccjUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 134 AND chEntityPk = NEW.ccjUid); END CREATE TRIGGER ch_del_134 AFTER DELETE ON ClazzContentJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 134 AS chTableId, OLD.ccjUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 134 AND chEntityPk = OLD.ccjUid); END CREATE VIEW ClazzContentJoin_ReceiveView AS SELECT ClazzContentJoin.*, ClazzContentJoinReplicate.* FROM ClazzContentJoin LEFT JOIN ClazzContentJoinReplicate ON ClazzContentJoinReplicate.ccjPk = ClazzContentJoin.ccjUid CREATE TRIGGER clazzcontentjoin_remote_insert_ins INSTEAD OF INSERT ON ClazzContentJoin_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ClazzContentJoin(ccjUid, ccjContentEntryUid, ccjClazzUid, ccjActive, ccjLocalChangeSeqNum, ccjMasterChangeSeqNum, ccjLastChangedBy, ccjLct) VALUES (NEW.ccjUid, NEW.ccjContentEntryUid, NEW.ccjClazzUid, NEW.ccjActive, NEW.ccjLocalChangeSeqNum, NEW.ccjMasterChangeSeqNum, NEW.ccjLastChangedBy, NEW.ccjLct) /*psql ON CONFLICT (ccjUid) DO UPDATE SET ccjContentEntryUid = EXCLUDED.ccjContentEntryUid, ccjClazzUid = EXCLUDED.ccjClazzUid, ccjActive = EXCLUDED.ccjActive, ccjLocalChangeSeqNum = EXCLUDED.ccjLocalChangeSeqNum, ccjMasterChangeSeqNum = EXCLUDED.ccjMasterChangeSeqNum, ccjLastChangedBy = EXCLUDED.ccjLastChangedBy, ccjLct = EXCLUDED.ccjLct */; END CREATE TABLE IF NOT EXISTS PersonParentJoinReplicate ( ppjPk INTEGER NOT NULL, ppjVersionId INTEGER NOT NULL DEFAULT 0, ppjDestination INTEGER NOT NULL, ppjPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (ppjPk, ppjDestination)) CREATE INDEX index_PersonParentJoinReplicate_ppjPk_ppjDestination_ppjVersionId ON PersonParentJoinReplicate (ppjPk, ppjDestination, ppjVersionId) CREATE INDEX index_PersonParentJoinReplicate_ppjDestination_ppjPending ON PersonParentJoinReplicate (ppjDestination, ppjPending) CREATE TRIGGER ch_ins_512 AFTER INSERT ON PersonParentJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 512 AS chTableId, NEW.ppjUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 512 AND chEntityPk = NEW.ppjUid); END CREATE TRIGGER ch_upd_512 AFTER UPDATE ON PersonParentJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 512 AS chTableId, NEW.ppjUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 512 AND chEntityPk = NEW.ppjUid); END CREATE TRIGGER ch_del_512 AFTER DELETE ON PersonParentJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 512 AS chTableId, OLD.ppjUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 512 AND chEntityPk = OLD.ppjUid); END CREATE VIEW PersonParentJoin_ReceiveView AS SELECT PersonParentJoin.*, PersonParentJoinReplicate.* FROM PersonParentJoin LEFT JOIN PersonParentJoinReplicate ON PersonParentJoinReplicate.ppjPk = PersonParentJoin.ppjUid CREATE TRIGGER personparentjoin_remote_insert_ins INSTEAD OF INSERT ON PersonParentJoin_ReceiveView FOR EACH ROW BEGIN REPLACE INTO PersonParentJoin(ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) VALUES (NEW.ppjUid, NEW.ppjPcsn, NEW.ppjLcsn, NEW.ppjLcb, NEW.ppjLct, NEW.ppjParentPersonUid, NEW.ppjMinorPersonUid, NEW.ppjRelationship, NEW.ppjEmail, NEW.ppjPhone, NEW.ppjInactive, NEW.ppjStatus, NEW.ppjApprovalTiemstamp, NEW.ppjApprovalIpAddr) /*psql ON CONFLICT (ppjUid) DO UPDATE SET ppjPcsn = EXCLUDED.ppjPcsn, ppjLcsn = EXCLUDED.ppjLcsn, ppjLcb = EXCLUDED.ppjLcb, ppjLct = EXCLUDED.ppjLct, ppjParentPersonUid = EXCLUDED.ppjParentPersonUid, ppjMinorPersonUid = EXCLUDED.ppjMinorPersonUid, ppjRelationship = EXCLUDED.ppjRelationship, ppjEmail = EXCLUDED.ppjEmail, ppjPhone = EXCLUDED.ppjPhone, ppjInactive = EXCLUDED.ppjInactive, ppjStatus = EXCLUDED.ppjStatus, ppjApprovalTiemstamp = EXCLUDED.ppjApprovalTiemstamp, ppjApprovalIpAddr = EXCLUDED.ppjApprovalIpAddr */; END CREATE TABLE IF NOT EXISTS ScopedGrantReplicate ( sgPk INTEGER NOT NULL, sgVersionId INTEGER NOT NULL DEFAULT 0, sgDestination INTEGER NOT NULL, sgPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (sgPk, sgDestination)) CREATE INDEX index_ScopedGrantReplicate_sgPk_sgDestination_sgVersionId ON ScopedGrantReplicate (sgPk, sgDestination, sgVersionId) CREATE INDEX index_ScopedGrantReplicate_sgDestination_sgPending ON ScopedGrantReplicate (sgDestination, sgPending) CREATE TRIGGER ch_ins_48 AFTER INSERT ON ScopedGrant BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 48 AS chTableId, NEW.sgUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 48 AND chEntityPk = NEW.sgUid); END CREATE TRIGGER ch_upd_48 AFTER UPDATE ON ScopedGrant BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 48 AS chTableId, NEW.sgUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 48 AND chEntityPk = NEW.sgUid); END CREATE TRIGGER ch_del_48 AFTER DELETE ON ScopedGrant BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 48 AS chTableId, OLD.sgUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 48 AND chEntityPk = OLD.sgUid); END CREATE VIEW ScopedGrant_ReceiveView AS SELECT ScopedGrant.*, ScopedGrantReplicate.* FROM ScopedGrant LEFT JOIN ScopedGrantReplicate ON ScopedGrantReplicate.sgPk = ScopedGrant.sgUid CREATE TRIGGER sg_remote_insert_ins INSTEAD OF INSERT ON ScopedGrant_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ScopedGrant(sgUid, sgPcsn, sgLcsn, sgLcb, sgLct, sgTableId, sgEntityUid, sgPermissions, sgGroupUid, sgIndex, sgFlags) VALUES (NEW.sgUid, NEW.sgPcsn, NEW.sgLcsn, NEW.sgLcb, NEW.sgLct, NEW.sgTableId, NEW.sgEntityUid, NEW.sgPermissions, NEW.sgGroupUid, NEW.sgIndex, NEW.sgFlags) /*psql ON CONFLICT(sgUid) DO UPDATE SET sgLct = EXCLUDED.sgLct, sgPermissions = EXCLUDED.sgPermissions */ ; END CREATE TABLE IF NOT EXISTS ErrorReportReplicate ( erPk INTEGER NOT NULL, erVersionId INTEGER NOT NULL DEFAULT 0, erDestination INTEGER NOT NULL, erPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (erPk, erDestination)) CREATE INDEX index_ErrorReportReplicate_erPk_erDestination_erVersionId ON ErrorReportReplicate (erPk, erDestination, erVersionId) CREATE INDEX index_ErrorReportReplicate_erDestination_erPending ON ErrorReportReplicate (erDestination, erPending) CREATE TRIGGER ch_ins_419 AFTER INSERT ON ErrorReport BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 419 AS chTableId, NEW.errUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 419 AND chEntityPk = NEW.errUid); END CREATE TRIGGER ch_upd_419 AFTER UPDATE ON ErrorReport BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 419 AS chTableId, NEW.errUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 419 AND chEntityPk = NEW.errUid); END CREATE TRIGGER ch_del_419 AFTER DELETE ON ErrorReport BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 419 AS chTableId, OLD.errUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 419 AND chEntityPk = OLD.errUid); END CREATE VIEW ErrorReport_ReceiveView AS SELECT ErrorReport.*, ErrorReportReplicate.* FROM ErrorReport LEFT JOIN ErrorReportReplicate ON ErrorReportReplicate.erPk = ErrorReport.errUid CREATE TRIGGER errorreport_remote_insert_ins INSTEAD OF INSERT ON ErrorReport_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ErrorReport(errUid, errPcsn, errLcsn, errLcb, errLct, severity, timestamp, presenterUri, appVersion, versionCode, errorCode, operatingSys, osVersion, stackTrace, message) VALUES (NEW.errUid, NEW.errPcsn, NEW.errLcsn, NEW.errLcb, NEW.errLct, NEW.severity, NEW.timestamp, NEW.presenterUri, NEW.appVersion, NEW.versionCode, NEW.errorCode, NEW.operatingSys, NEW.osVersion, NEW.stackTrace, NEW.message) /*psql ON CONFLICT (errUid) DO UPDATE SET errPcsn = EXCLUDED.errPcsn, errLcsn = EXCLUDED.errLcsn, errLcb = EXCLUDED.errLcb, errLct = EXCLUDED.errLct, severity = EXCLUDED.severity, timestamp = EXCLUDED.timestamp, presenterUri = EXCLUDED.presenterUri, appVersion = EXCLUDED.appVersion, versionCode = EXCLUDED.versionCode, errorCode = EXCLUDED.errorCode, operatingSys = EXCLUDED.operatingSys, osVersion = EXCLUDED.osVersion, stackTrace = EXCLUDED.stackTrace, message = EXCLUDED.message */; END CREATE TABLE IF NOT EXISTS ClazzAssignmentReplicate ( caPk INTEGER NOT NULL, caVersionId INTEGER NOT NULL DEFAULT 0, caDestination INTEGER NOT NULL, caPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (caPk, caDestination)) CREATE INDEX index_ClazzAssignmentReplicate_caPk_caDestination_caVersionId ON ClazzAssignmentReplicate (caPk, caDestination, caVersionId) CREATE INDEX index_ClazzAssignmentReplicate_caDestination_caPending ON ClazzAssignmentReplicate (caDestination, caPending) CREATE TRIGGER ch_ins_520 AFTER INSERT ON ClazzAssignment BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 520 AS chTableId, NEW.caUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 520 AND chEntityPk = NEW.caUid); END CREATE TRIGGER ch_upd_520 AFTER UPDATE ON ClazzAssignment BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 520 AS chTableId, NEW.caUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 520 AND chEntityPk = NEW.caUid); END CREATE TRIGGER ch_del_520 AFTER DELETE ON ClazzAssignment BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 520 AS chTableId, OLD.caUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 520 AND chEntityPk = OLD.caUid); END CREATE VIEW ClazzAssignment_ReceiveView AS SELECT ClazzAssignment.*, ClazzAssignmentReplicate.* FROM ClazzAssignment LEFT JOIN ClazzAssignmentReplicate ON ClazzAssignmentReplicate.caPk = ClazzAssignment.caUid CREATE TRIGGER clazzassignment_remote_insert_ins INSTEAD OF INSERT ON ClazzAssignment_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ClazzAssignment(caUid, caTitle, caDescription, caDeadlineDate, caStartDate, caLateSubmissionType, caLateSubmissionPenalty, caGracePeriodDate, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caClazzUid, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) VALUES (NEW.caUid, NEW.caTitle, NEW.caDescription, NEW.caDeadlineDate, NEW.caStartDate, NEW.caLateSubmissionType, NEW.caLateSubmissionPenalty, NEW.caGracePeriodDate, NEW.caActive, NEW.caClassCommentEnabled, NEW.caPrivateCommentsEnabled, NEW.caClazzUid, NEW.caLocalChangeSeqNum, NEW.caMasterChangeSeqNum, NEW.caLastChangedBy, NEW.caLct) /*psql ON CONFLICT (caUid) DO UPDATE SET caTitle = EXCLUDED.caTitle, caDescription = EXCLUDED.caDescription, caDeadlineDate = EXCLUDED.caDeadlineDate, caStartDate = EXCLUDED.caStartDate, caLateSubmissionType = EXCLUDED.caLateSubmissionType, caLateSubmissionPenalty = EXCLUDED.caLateSubmissionPenalty, caGracePeriodDate = EXCLUDED.caGracePeriodDate, caActive = EXCLUDED.caActive, caClassCommentEnabled = EXCLUDED.caClassCommentEnabled, caPrivateCommentsEnabled = EXCLUDED.caPrivateCommentsEnabled, caClazzUid = EXCLUDED.caClazzUid, caLocalChangeSeqNum = EXCLUDED.caLocalChangeSeqNum, caMasterChangeSeqNum = EXCLUDED.caMasterChangeSeqNum, caLastChangedBy = EXCLUDED.caLastChangedBy, caLct = EXCLUDED.caLct */; END CREATE TABLE IF NOT EXISTS ClazzAssignmentContentJoinReplicate ( cacjPk INTEGER NOT NULL, cacjVersionId INTEGER NOT NULL DEFAULT 0, cacjDestination INTEGER NOT NULL, cacjPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (cacjPk, cacjDestination)) CREATE INDEX index_ClazzAssignmentContentJoinReplicate_cacjPk_cacjDestination_cacjVersionId ON ClazzAssignmentContentJoinReplicate (cacjPk, cacjDestination, cacjVersionId) CREATE INDEX index_ClazzAssignmentContentJoinReplicate_cacjDestination_cacjPending ON ClazzAssignmentContentJoinReplicate (cacjDestination, cacjPending) CREATE TRIGGER ch_ins_521 AFTER INSERT ON ClazzAssignmentContentJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 521 AS chTableId, NEW.cacjUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 521 AND chEntityPk = NEW.cacjUid); END CREATE TRIGGER ch_upd_521 AFTER UPDATE ON ClazzAssignmentContentJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 521 AS chTableId, NEW.cacjUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 521 AND chEntityPk = NEW.cacjUid); END CREATE TRIGGER ch_del_521 AFTER DELETE ON ClazzAssignmentContentJoin BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 521 AS chTableId, OLD.cacjUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 521 AND chEntityPk = OLD.cacjUid); END CREATE VIEW ClazzAssignmentContentJoin_ReceiveView AS SELECT ClazzAssignmentContentJoin.*, ClazzAssignmentContentJoinReplicate.* FROM ClazzAssignmentContentJoin LEFT JOIN ClazzAssignmentContentJoinReplicate ON ClazzAssignmentContentJoinReplicate.cacjPk = ClazzAssignmentContentJoin.cacjUid CREATE TRIGGER clazzassignmentcontentjoin_remote_insert_ins INSTEAD OF INSERT ON ClazzAssignmentContentJoin_ReceiveView FOR EACH ROW BEGIN REPLACE INTO ClazzAssignmentContentJoin(cacjUid, cacjContentUid, cacjAssignmentUid, cacjActive, cacjMCSN, cacjLCSN, cacjLCB, cacjLct) VALUES (NEW.cacjUid, NEW.cacjContentUid, NEW.cacjAssignmentUid, NEW.cacjActive, NEW.cacjMCSN, NEW.cacjLCSN, NEW.cacjLCB, NEW.cacjLct) /*psql ON CONFLICT (cacjUid) DO UPDATE SET cacjContentUid = EXCLUDED.cacjContentUid, cacjAssignmentUid = EXCLUDED.cacjAssignmentUid, cacjActive = EXCLUDED.cacjActive, cacjMCSN = EXCLUDED.cacjMCSN, cacjLCSN = EXCLUDED.cacjLCSN, cacjLCB = EXCLUDED.cacjLCB, cacjLct = EXCLUDED.cacjLct */; END CREATE TABLE IF NOT EXISTS PersonAuth2Replicate ( paPk INTEGER NOT NULL, paVersionId INTEGER NOT NULL DEFAULT 0, paDestination INTEGER NOT NULL, paPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (paPk, paDestination)) CREATE INDEX index_PersonAuth2Replicate_paPk_paDestination_paVersionId ON PersonAuth2Replicate (paPk, paDestination, paVersionId) CREATE INDEX index_PersonAuth2Replicate_paDestination_paPending ON PersonAuth2Replicate (paDestination, paPending) CREATE TRIGGER ch_ins_678 AFTER INSERT ON PersonAuth2 BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 678 AS chTableId, NEW.pauthUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 678 AND chEntityPk = NEW.pauthUid); END CREATE TRIGGER ch_upd_678 AFTER UPDATE ON PersonAuth2 BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 678 AS chTableId, NEW.pauthUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 678 AND chEntityPk = NEW.pauthUid); END CREATE TRIGGER ch_del_678 AFTER DELETE ON PersonAuth2 BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 678 AS chTableId, OLD.pauthUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 678 AND chEntityPk = OLD.pauthUid); END CREATE VIEW PersonAuth2_ReceiveView AS SELECT PersonAuth2.*, PersonAuth2Replicate.* FROM PersonAuth2 LEFT JOIN PersonAuth2Replicate ON PersonAuth2Replicate.paPk = PersonAuth2.pauthUid CREATE TRIGGER personauth2_remote_insert_ins INSTEAD OF INSERT ON PersonAuth2_ReceiveView FOR EACH ROW BEGIN REPLACE INTO PersonAuth2(pauthUid, pauthMechanism, pauthAuth, pauthLcsn, pauthPcsn, pauthLcb, pauthLct) VALUES (NEW.pauthUid, NEW.pauthMechanism, NEW.pauthAuth, NEW.pauthLcsn, NEW.pauthPcsn, NEW.pauthLcb, NEW.pauthLct) /*psql ON CONFLICT (pauthUid) DO UPDATE SET pauthMechanism = EXCLUDED.pauthMechanism, pauthAuth = EXCLUDED.pauthAuth, pauthLcsn = EXCLUDED.pauthLcsn, pauthPcsn = EXCLUDED.pauthPcsn, pauthLcb = EXCLUDED.pauthLcb, pauthLct = EXCLUDED.pauthLct */; END CREATE TABLE IF NOT EXISTS UserSessionReplicate ( usPk INTEGER NOT NULL, usVersionId INTEGER NOT NULL DEFAULT 0, usDestination INTEGER NOT NULL, usPending INTEGER NOT NULL DEFAULT 1, PRIMARY KEY (usPk, usDestination)) CREATE INDEX index_UserSessionReplicate_usPk_usDestination_usVersionId ON UserSessionReplicate (usPk, usDestination, usVersionId) CREATE INDEX index_UserSessionReplicate_usDestination_usPending ON UserSessionReplicate (usDestination, usPending) CREATE TRIGGER ch_ins_679 AFTER INSERT ON UserSession BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 679 AS chTableId, NEW.usUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 679 AND chEntityPk = NEW.usUid); END CREATE TRIGGER ch_upd_679 AFTER UPDATE ON UserSession BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 679 AS chTableId, NEW.usUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 679 AND chEntityPk = NEW.usUid); END CREATE TRIGGER ch_del_679 AFTER DELETE ON UserSession BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 679 AS chTableId, OLD.usUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 679 AND chEntityPk = OLD.usUid); END CREATE VIEW UserSession_ReceiveView AS SELECT UserSession.*, UserSessionReplicate.* FROM UserSession LEFT JOIN UserSessionReplicate ON UserSessionReplicate.usPk = UserSession.usUid CREATE TRIGGER usersession_remote_ins_ins INSTEAD OF INSERT ON UserSession_ReceiveView FOR EACH ROW BEGIN REPLACE INTO UserSession(usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES (NEW.usUid, NEW.usPcsn, NEW.usLcsn, NEW.usLcb, NEW.usLct, NEW.usPersonUid, NEW.usClientNodeId, NEW.usStartTime, NEW.usEndTime, NEW.usStatus, NEW.usReason, NEW.usAuth, NEW.usSessionType) /*postgres ON CONFLICT (usUid) DO UPDATE SET usStatus = EXCLUDED.usStatus, usEndTime = EXCLUDED.usEndTime, usReason = EXCLUDED.usReason */ ; END UPDATE ClazzLog SET clazzLogLastChangedTime = LongutilsystemTimeInMillis WHERE clazzLogLastChangedTime = 0UPDATE ClazzLogAttendanceRecord SET clazzLogAttendanceRecordLastChangedTime = WHERE clazzLogAttendanceRecordLastChangedTime = 0UPDATE Schedule SET scheduleLastChangedTime = WHERE scheduleLastChangedTime = 0UPDATE HolidayCalendar SET umCalendarLct = WHERE umCalendarLct = 0UPDATE Holiday SET holLct = WHERE holLct = 0UPDATE Person SET personLct = WHERE personLct = 0UPDATE Clazz SET clazzLct = WHERE clazzLct = 0UPDATE ClazzEnrolment SET clazzEnrolmentLct = WHERE clazzEnrolmentLct = 0UPDATE LeavingReason SET leavingReasonLct = WHERE leavingReasonLct = 0UPDATE ContentEntry SET contentEntryLct = WHERE contentEntryLct = 0UPDATE ContentEntryContentCategoryJoin SET ceccjLct = WHERE ceccjLct = 0UPDATE ContentEntryParentChildJoin SET cepcjLct = WHERE cepcjLct = 0UPDATE ContentEntryRelatedEntryJoin SET cerejLct = WHERE cerejLct = 0UPDATE ContentCategorySchema SET contentCategorySchemaLct = WHERE contentCategorySchemaLct = 0UPDATE ContentCategory SET contentCategoryLct = WHERE contentCategoryLct = 0UPDATE Language SET langLct = WHERE langLct = 0UPDATE LanguageVariant SET langVariantLct = WHERE langVariantLct = 0UPDATE PersonGroup SET groupLct = WHERE groupLct = 0UPDATE PersonGroupMember SET groupMemberLct = WHERE groupMemberLct = 0UPDATE PersonPicture SET personPictureLct = WHERE personPictureLct = 0UPDATE Container SET cntLct = WHERE cntLct = 0UPDATE VerbEntity SET verbLct = WHERE verbLct = 0UPDATE XObjectEntity SET xObjectLct = WHERE xObjectLct = 0UPDATE StatementEntity SET statementLct = WHERE statementLct = 0UPDATE ContextXObjectStatementJoin SET contextXObjectLct = WHERE contextXObjectLct = 0UPDATE AgentEntity SET agentLct = WHERE agentLct = 0UPDATE StateEntity SET stateLct = WHERE stateLct = 0UPDATE StateContentEntity SET stateContentLct = WHERE stateContentLct = 0UPDATE XLangMapEntry SET statementLangMapLct = WHERE statementLangMapLct = 0UPDATE School SET schoolLct = WHERE schoolLct = 0UPDATE SchoolMember SET schoolMemberLct = WHERE schoolMemberLct = 0UPDATE Comments SET commentsLct = WHERE commentsLct = 0UPDATE Report SET reportLct = WHERE reportLct = 0UPDATE Site SET siteLct = WHERE siteLct = 0UPDATE LearnerGroup SET learnerGroupLct = WHERE learnerGroupLct = 0UPDATE LearnerGroupMember SET learnerGroupMemberLct = WHERE learnerGroupMemberLct = 0UPDATE GroupLearningSession SET groupLearningSessionLct = WHERE groupLearningSessionLct = 0UPDATE SiteTerms SET sTermsLct = WHERE sTermsLct = 0UPDATE ClazzContentJoin SET ccjLct = WHERE ccjLct = 0UPDATE PersonParentJoin SET ppjLct = WHERE ppjLct = 0UPDATE ScopedGrant SET sgLct = WHERE sgLct = 0UPDATE ErrorReport SET errLct = WHERE errLct = 0UPDATE ClazzAssignment SET caLct = WHERE caLct = 0UPDATE ClazzAssignmentContentJoin SET cacjLct = WHERE cacjLct = 0UPDATE PersonAuth2 SET pauthLct = WHERE pauthLct = 0UPDATE UserSession SET usLct = WHERE usLct = 0 CREATE TABLE IF NOT EXISTS ClazzLogReplicate ( clPk BIGINT NOT NULL, clVersionId BIGINT NOT NULL DEFAULT 0, clDestination BIGINT NOT NULL, clPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (clPk, clDestination)) CREATE OR REPLACE FUNCTION ch_upd_14_fn() RETURNS TRIGGER AS Char BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (14, NEW.clazzLogUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END LANGUAGE plpgsql CREATE TRIGGER ch_upd_14_trig AFTER UPDATE OR INSERT ON ClazzLog FOR EACH ROW EXECUTE PROCEDURE ch_upd_14_fn(); CREATE OR REPLACE FUNCTION ch_del_14_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (14, OLD.clazzLogUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_14_trig AFTER DELETE ON ClazzLog FOR EACH ROW EXECUTE PROCEDURE ch_del_14_fn(); CREATE OR REPLACE FUNCTION clazzlog_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ClazzLog(clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime) VALUES (NEW.clazzLogUid, NEW.clazzLogClazzUid, NEW.logDate, NEW.timeRecorded, NEW.clazzLogDone, NEW.cancellationNote, NEW.clazzLogCancelled, NEW.clazzLogNumPresent, NEW.clazzLogNumAbsent, NEW.clazzLogNumPartial, NEW.clazzLogScheduleUid, NEW.clazzLogStatusFlag, NEW.clazzLogMSQN, NEW.clazzLogLCSN, NEW.clazzLogLCB, NEW.clazzLogLastChangedTime) ON CONFLICT (clazzLogUid) DO UPDATE SET clazzLogClazzUid = EXCLUDED.clazzLogClazzUid, logDate = EXCLUDED.logDate, timeRecorded = EXCLUDED.timeRecorded, clazzLogDone = EXCLUDED.clazzLogDone, cancellationNote = EXCLUDED.cancellationNote, clazzLogCancelled = EXCLUDED.clazzLogCancelled, clazzLogNumPresent = EXCLUDED.clazzLogNumPresent, clazzLogNumAbsent = EXCLUDED.clazzLogNumAbsent, clazzLogNumPartial = EXCLUDED.clazzLogNumPartial, clazzLogScheduleUid = EXCLUDED.clazzLogScheduleUid, clazzLogStatusFlag = EXCLUDED.clazzLogStatusFlag, clazzLogMSQN = EXCLUDED.clazzLogMSQN, clazzLogLCSN = EXCLUDED.clazzLogLCSN, clazzLogLCB = EXCLUDED.clazzLogLCB, clazzLogLastChangedTime = EXCLUDED.clazzLogLastChangedTime ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END LANGUAGE plpgsql CREATE TRIGGER clazzlog_remote_insert_trig INSTEAD OF INSERT ON ClazzLog_ReceiveView FOR EACH ROW EXECUTE PROCEDURE clazzlog_remote_insert_fn() CREATE TABLE IF NOT EXISTS ClazzLogAttendanceRecordReplicate ( clarPk BIGINT NOT NULL, clarVersionId BIGINT NOT NULL DEFAULT 0, clarDestination BIGINT NOT NULL, clarPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (clarPk, clarDestination)) CREATE OR REPLACE FUNCTION ch_upd_15_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (15, NEW.clazzLogAttendanceRecordUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_15_trig AFTER UPDATE OR INSERT ON ClazzLogAttendanceRecord FOR EACH ROW EXECUTE PROCEDURE ch_upd_15_fn(); CREATE OR REPLACE FUNCTION ch_del_15_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (15, OLD.clazzLogAttendanceRecordUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_15_trig AFTER DELETE ON ClazzLogAttendanceRecord FOR EACH ROW EXECUTE PROCEDURE ch_del_15_fn(); CREATE OR REPLACE FUNCTION clazzlogattendancerecord_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ClazzLogAttendanceRecord(clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime) VALUES (NEW.clazzLogAttendanceRecordUid, NEW.clazzLogAttendanceRecordClazzLogUid, NEW.clazzLogAttendanceRecordPersonUid, NEW.attendanceStatus, NEW.clazzLogAttendanceRecordMasterChangeSeqNum, NEW.clazzLogAttendanceRecordLocalChangeSeqNum, NEW.clazzLogAttendanceRecordLastChangedBy, NEW.clazzLogAttendanceRecordLastChangedTime) ON CONFLICT (clazzLogAttendanceRecordUid) DO UPDATE SET clazzLogAttendanceRecordClazzLogUid = EXCLUDED.clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid = EXCLUDED.clazzLogAttendanceRecordPersonUid, attendanceStatus = EXCLUDED.attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum = EXCLUDED.clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum = EXCLUDED.clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy = EXCLUDED.clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime = EXCLUDED.clazzLogAttendanceRecordLastChangedTime ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER clazzlogattendancerecord_remote_insert_trig INSTEAD OF INSERT ON ClazzLogAttendanceRecord_ReceiveView FOR EACH ROW EXECUTE PROCEDURE clazzlogattendancerecord_remote_insert_fn() CREATE TABLE IF NOT EXISTS ScheduleReplicate ( schedulePk BIGINT NOT NULL, scheduleVersionId BIGINT NOT NULL DEFAULT 0, scheduleDestination BIGINT NOT NULL, schedulePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (schedulePk, scheduleDestination)) CREATE OR REPLACE FUNCTION ch_upd_21_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (21, NEW.scheduleUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_21_trig AFTER UPDATE OR INSERT ON Schedule FOR EACH ROW EXECUTE PROCEDURE ch_upd_21_fn(); CREATE OR REPLACE FUNCTION ch_del_21_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (21, OLD.scheduleUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_21_trig AFTER DELETE ON Schedule FOR EACH ROW EXECUTE PROCEDURE ch_del_21_fn(); CREATE OR REPLACE FUNCTION schedule_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO Schedule(scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive) VALUES (NEW.scheduleUid, NEW.sceduleStartTime, NEW.scheduleEndTime, NEW.scheduleDay, NEW.scheduleMonth, NEW.scheduleFrequency, NEW.umCalendarUid, NEW.scheduleClazzUid, NEW.scheduleMasterChangeSeqNum, NEW.scheduleLocalChangeSeqNum, NEW.scheduleLastChangedBy, NEW.scheduleLastChangedTime, NEW.scheduleActive) ON CONFLICT (scheduleUid) DO UPDATE SET sceduleStartTime = EXCLUDED.sceduleStartTime, scheduleEndTime = EXCLUDED.scheduleEndTime, scheduleDay = EXCLUDED.scheduleDay, scheduleMonth = EXCLUDED.scheduleMonth, scheduleFrequency = EXCLUDED.scheduleFrequency, umCalendarUid = EXCLUDED.umCalendarUid, scheduleClazzUid = EXCLUDED.scheduleClazzUid, scheduleMasterChangeSeqNum = EXCLUDED.scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum = EXCLUDED.scheduleLocalChangeSeqNum, scheduleLastChangedBy = EXCLUDED.scheduleLastChangedBy, scheduleLastChangedTime = EXCLUDED.scheduleLastChangedTime, scheduleActive = EXCLUDED.scheduleActive ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER schedule_remote_insert_trig INSTEAD OF INSERT ON Schedule_ReceiveView FOR EACH ROW EXECUTE PROCEDURE schedule_remote_insert_fn() CREATE TABLE IF NOT EXISTS HolidayCalendarReplicate ( hcPk BIGINT NOT NULL, hcVersionId BIGINT NOT NULL DEFAULT 0, hcDestination BIGINT NOT NULL, hcPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (hcPk, hcDestination)) CREATE OR REPLACE FUNCTION ch_upd_28_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (28, NEW.umCalendarUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_28_trig AFTER UPDATE OR INSERT ON HolidayCalendar FOR EACH ROW EXECUTE PROCEDURE ch_upd_28_fn(); CREATE OR REPLACE FUNCTION ch_del_28_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (28, OLD.umCalendarUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_28_trig AFTER DELETE ON HolidayCalendar FOR EACH ROW EXECUTE PROCEDURE ch_del_28_fn(); CREATE OR REPLACE FUNCTION holidaycalendar_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO HolidayCalendar(umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct) VALUES (NEW.umCalendarUid, NEW.umCalendarName, NEW.umCalendarCategory, NEW.umCalendarActive, NEW.umCalendarMasterChangeSeqNum, NEW.umCalendarLocalChangeSeqNum, NEW.umCalendarLastChangedBy, NEW.umCalendarLct) ON CONFLICT (umCalendarUid) DO UPDATE SET umCalendarName = EXCLUDED.umCalendarName, umCalendarCategory = EXCLUDED.umCalendarCategory, umCalendarActive = EXCLUDED.umCalendarActive, umCalendarMasterChangeSeqNum = EXCLUDED.umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum = EXCLUDED.umCalendarLocalChangeSeqNum, umCalendarLastChangedBy = EXCLUDED.umCalendarLastChangedBy, umCalendarLct = EXCLUDED.umCalendarLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER holidaycalendar_remote_insert_trig INSTEAD OF INSERT ON HolidayCalendar_ReceiveView FOR EACH ROW EXECUTE PROCEDURE holidaycalendar_remote_insert_fn() CREATE TABLE IF NOT EXISTS HolidayReplicate ( holidayPk BIGINT NOT NULL, holidayVersionId BIGINT NOT NULL DEFAULT 0, holidayDestination BIGINT NOT NULL, holidayPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (holidayPk, holidayDestination)) CREATE OR REPLACE FUNCTION ch_upd_99_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (99, NEW.holUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_99_trig AFTER UPDATE OR INSERT ON Holiday FOR EACH ROW EXECUTE PROCEDURE ch_upd_99_fn(); CREATE OR REPLACE FUNCTION ch_del_99_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (99, OLD.holUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_99_trig AFTER DELETE ON Holiday FOR EACH ROW EXECUTE PROCEDURE ch_del_99_fn(); CREATE OR REPLACE FUNCTION holiday_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO Holiday(holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName) VALUES (NEW.holUid, NEW.holMasterCsn, NEW.holLocalCsn, NEW.holLastModBy, NEW.holLct, NEW.holActive, NEW.holHolidayCalendarUid, NEW.holStartTime, NEW.holEndTime, NEW.holName) ON CONFLICT (holUid) DO UPDATE SET holMasterCsn = EXCLUDED.holMasterCsn, holLocalCsn = EXCLUDED.holLocalCsn, holLastModBy = EXCLUDED.holLastModBy, holLct = EXCLUDED.holLct, holActive = EXCLUDED.holActive, holHolidayCalendarUid = EXCLUDED.holHolidayCalendarUid, holStartTime = EXCLUDED.holStartTime, holEndTime = EXCLUDED.holEndTime, holName = EXCLUDED.holName ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER holiday_remote_insert_trig INSTEAD OF INSERT ON Holiday_ReceiveView FOR EACH ROW EXECUTE PROCEDURE holiday_remote_insert_fn() CREATE TABLE IF NOT EXISTS PersonReplicate ( personPk BIGINT NOT NULL, personVersionId BIGINT NOT NULL DEFAULT 0, personDestination BIGINT NOT NULL, personPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (personPk, personDestination)) CREATE OR REPLACE FUNCTION ch_upd_9_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (9, NEW.personUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_9_trig AFTER UPDATE OR INSERT ON Person FOR EACH ROW EXECUTE PROCEDURE ch_upd_9_fn(); CREATE OR REPLACE FUNCTION ch_del_9_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (9, OLD.personUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_9_trig AFTER DELETE ON Person FOR EACH ROW EXECUTE PROCEDURE ch_del_9_fn(); CREATE OR REPLACE FUNCTION person_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO Person(personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, admin, personNotes, fatherName, fatherNumber, motherName, motherNum, dateOfBirth, personAddress, personOrgId, personGroupUid, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, personLct, personCountry, personType) VALUES (NEW.personUid, NEW.username, NEW.firstNames, NEW.lastName, NEW.emailAddr, NEW.phoneNum, NEW.gender, NEW.active, NEW.admin, NEW.personNotes, NEW.fatherName, NEW.fatherNumber, NEW.motherName, NEW.motherNum, NEW.dateOfBirth, NEW.personAddress, NEW.personOrgId, NEW.personGroupUid, NEW.personMasterChangeSeqNum, NEW.personLocalChangeSeqNum, NEW.personLastChangedBy, NEW.personLct, NEW.personCountry, NEW.personType) ON CONFLICT (personUid) DO UPDATE SET username = EXCLUDED.username, firstNames = EXCLUDED.firstNames, lastName = EXCLUDED.lastName, emailAddr = EXCLUDED.emailAddr, phoneNum = EXCLUDED.phoneNum, gender = EXCLUDED.gender, active = EXCLUDED.active, admin = EXCLUDED.admin, personNotes = EXCLUDED.personNotes, fatherName = EXCLUDED.fatherName, fatherNumber = EXCLUDED.fatherNumber, motherName = EXCLUDED.motherName, motherNum = EXCLUDED.motherNum, dateOfBirth = EXCLUDED.dateOfBirth, personAddress = EXCLUDED.personAddress, personOrgId = EXCLUDED.personOrgId, personGroupUid = EXCLUDED.personGroupUid, personMasterChangeSeqNum = EXCLUDED.personMasterChangeSeqNum, personLocalChangeSeqNum = EXCLUDED.personLocalChangeSeqNum, personLastChangedBy = EXCLUDED.personLastChangedBy, personLct = EXCLUDED.personLct, personCountry = EXCLUDED.personCountry, personType = EXCLUDED.personType ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER person_remote_insert_trig INSTEAD OF INSERT ON Person_ReceiveView FOR EACH ROW EXECUTE PROCEDURE person_remote_insert_fn() CREATE TABLE IF NOT EXISTS ClazzReplicate ( clazzPk BIGINT NOT NULL, clazzVersionId BIGINT NOT NULL DEFAULT 0, clazzDestination BIGINT NOT NULL, clazzPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (clazzPk, clazzDestination)) CREATE OR REPLACE FUNCTION ch_upd_6_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (6, NEW.clazzUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_6_trig AFTER UPDATE OR INSERT ON Clazz FOR EACH ROW EXECUTE PROCEDURE ch_upd_6_fn(); CREATE OR REPLACE FUNCTION ch_del_6_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (6, OLD.clazzUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_6_trig AFTER DELETE ON Clazz FOR EACH ROW EXECUTE PROCEDURE ch_del_6_fn(); CREATE OR REPLACE FUNCTION clazz_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO Clazz(clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode) VALUES (NEW.clazzUid, NEW.clazzName, NEW.clazzDesc, NEW.attendanceAverage, NEW.clazzHolidayUMCalendarUid, NEW.clazzScheuleUMCalendarUid, NEW.isClazzActive, NEW.clazzLocationUid, NEW.clazzStartTime, NEW.clazzEndTime, NEW.clazzFeatures, NEW.clazzSchoolUid, NEW.clazzMasterChangeSeqNum, NEW.clazzLocalChangeSeqNum, NEW.clazzLastChangedBy, NEW.clazzLct, NEW.clazzTimeZone, NEW.clazzStudentsPersonGroupUid, NEW.clazzTeachersPersonGroupUid, NEW.clazzPendingStudentsPersonGroupUid, NEW.clazzParentsPersonGroupUid, NEW.clazzCode) ON CONFLICT (clazzUid) DO UPDATE SET clazzName = EXCLUDED.clazzName, clazzDesc = EXCLUDED.clazzDesc, attendanceAverage = EXCLUDED.attendanceAverage, clazzHolidayUMCalendarUid = EXCLUDED.clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid = EXCLUDED.clazzScheuleUMCalendarUid, isClazzActive = EXCLUDED.isClazzActive, clazzLocationUid = EXCLUDED.clazzLocationUid, clazzStartTime = EXCLUDED.clazzStartTime, clazzEndTime = EXCLUDED.clazzEndTime, clazzFeatures = EXCLUDED.clazzFeatures, clazzSchoolUid = EXCLUDED.clazzSchoolUid, clazzMasterChangeSeqNum = EXCLUDED.clazzMasterChangeSeqNum, clazzLocalChangeSeqNum = EXCLUDED.clazzLocalChangeSeqNum, clazzLastChangedBy = EXCLUDED.clazzLastChangedBy, clazzLct = EXCLUDED.clazzLct, clazzTimeZone = EXCLUDED.clazzTimeZone, clazzStudentsPersonGroupUid = EXCLUDED.clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid = EXCLUDED.clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid = EXCLUDED.clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid = EXCLUDED.clazzParentsPersonGroupUid, clazzCode = EXCLUDED.clazzCode ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER clazz_remote_insert_trig INSTEAD OF INSERT ON Clazz_ReceiveView FOR EACH ROW EXECUTE PROCEDURE clazz_remote_insert_fn() CREATE TABLE IF NOT EXISTS ClazzEnrolmentReplicate ( cePk BIGINT NOT NULL, ceVersionId BIGINT NOT NULL DEFAULT 0, ceDestination BIGINT NOT NULL, cePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (cePk, ceDestination)) CREATE OR REPLACE FUNCTION ch_upd_65_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (65, NEW.clazzEnrolmentUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_65_trig AFTER UPDATE OR INSERT ON ClazzEnrolment FOR EACH ROW EXECUTE PROCEDURE ch_upd_65_fn(); CREATE OR REPLACE FUNCTION ch_del_65_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (65, OLD.clazzEnrolmentUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_65_trig AFTER DELETE ON ClazzEnrolment FOR EACH ROW EXECUTE PROCEDURE ch_del_65_fn(); CREATE OR REPLACE FUNCTION clazzenrolment_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ClazzEnrolment(clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct) VALUES (NEW.clazzEnrolmentUid, NEW.clazzEnrolmentPersonUid, NEW.clazzEnrolmentClazzUid, NEW.clazzEnrolmentDateJoined, NEW.clazzEnrolmentDateLeft, NEW.clazzEnrolmentRole, NEW.clazzEnrolmentAttendancePercentage, NEW.clazzEnrolmentActive, NEW.clazzEnrolmentLeavingReasonUid, NEW.clazzEnrolmentOutcome, NEW.clazzEnrolmentLocalChangeSeqNum, NEW.clazzEnrolmentMasterChangeSeqNum, NEW.clazzEnrolmentLastChangedBy, NEW.clazzEnrolmentLct) ON CONFLICT (clazzEnrolmentUid) DO UPDATE SET clazzEnrolmentPersonUid = EXCLUDED.clazzEnrolmentPersonUid, clazzEnrolmentClazzUid = EXCLUDED.clazzEnrolmentClazzUid, clazzEnrolmentDateJoined = EXCLUDED.clazzEnrolmentDateJoined, clazzEnrolmentDateLeft = EXCLUDED.clazzEnrolmentDateLeft, clazzEnrolmentRole = EXCLUDED.clazzEnrolmentRole, clazzEnrolmentAttendancePercentage = EXCLUDED.clazzEnrolmentAttendancePercentage, clazzEnrolmentActive = EXCLUDED.clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid = EXCLUDED.clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome = EXCLUDED.clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum = EXCLUDED.clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum = EXCLUDED.clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy = EXCLUDED.clazzEnrolmentLastChangedBy, clazzEnrolmentLct = EXCLUDED.clazzEnrolmentLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER clazzenrolment_remote_insert_trig INSTEAD OF INSERT ON ClazzEnrolment_ReceiveView FOR EACH ROW EXECUTE PROCEDURE clazzenrolment_remote_insert_fn() CREATE TABLE IF NOT EXISTS LeavingReasonReplicate ( lrPk BIGINT NOT NULL, lrVersionId BIGINT NOT NULL DEFAULT 0, lrDestination BIGINT NOT NULL, lrPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (lrPk, lrDestination)) CREATE OR REPLACE FUNCTION ch_upd_410_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (410, NEW.leavingReasonUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_410_trig AFTER UPDATE OR INSERT ON LeavingReason FOR EACH ROW EXECUTE PROCEDURE ch_upd_410_fn(); CREATE OR REPLACE FUNCTION ch_del_410_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (410, OLD.leavingReasonUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_410_trig AFTER DELETE ON LeavingReason FOR EACH ROW EXECUTE PROCEDURE ch_del_410_fn(); CREATE OR REPLACE FUNCTION leavingreason_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO LeavingReason(leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct) VALUES (NEW.leavingReasonUid, NEW.leavingReasonTitle, NEW.leavingReasonMCSN, NEW.leavingReasonCSN, NEW.leavingReasonLCB, NEW.leavingReasonLct) ON CONFLICT (leavingReasonUid) DO UPDATE SET leavingReasonTitle = EXCLUDED.leavingReasonTitle, leavingReasonMCSN = EXCLUDED.leavingReasonMCSN, leavingReasonCSN = EXCLUDED.leavingReasonCSN, leavingReasonLCB = EXCLUDED.leavingReasonLCB, leavingReasonLct = EXCLUDED.leavingReasonLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER leavingreason_remote_insert_trig INSTEAD OF INSERT ON LeavingReason_ReceiveView FOR EACH ROW EXECUTE PROCEDURE leavingreason_remote_insert_fn() CREATE TABLE IF NOT EXISTS ContentEntryReplicate ( cePk BIGINT NOT NULL, ceVersionId BIGINT NOT NULL DEFAULT 0, ceDestination BIGINT NOT NULL, cePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (cePk, ceDestination)) CREATE OR REPLACE FUNCTION ch_upd_42_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (42, NEW.contentEntryUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_42_trig AFTER UPDATE OR INSERT ON ContentEntry FOR EACH ROW EXECUTE PROCEDURE ch_upd_42_fn(); CREATE OR REPLACE FUNCTION ch_del_42_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (42, OLD.contentEntryUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_42_trig AFTER DELETE ON ContentEntry FOR EACH ROW EXECUTE PROCEDURE ch_del_42_fn(); CREATE OR REPLACE FUNCTION contententry_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ContentEntry(contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct) VALUES (NEW.contentEntryUid, NEW.title, NEW.description, NEW.entryId, NEW.author, NEW.publisher, NEW.licenseType, NEW.licenseName, NEW.licenseUrl, NEW.sourceUrl, NEW.thumbnailUrl, NEW.lastModified, NEW.primaryLanguageUid, NEW.languageVariantUid, NEW.contentFlags, NEW.leaf, NEW.publik, NEW.ceInactive, NEW.completionCriteria, NEW.minScore, NEW.contentTypeFlag, NEW.contentOwner, NEW.contentEntryLocalChangeSeqNum, NEW.contentEntryMasterChangeSeqNum, NEW.contentEntryLastChangedBy, NEW.contentEntryLct) ON CONFLICT (contentEntryUid) DO UPDATE SET title = EXCLUDED.title, description = EXCLUDED.description, entryId = EXCLUDED.entryId, author = EXCLUDED.author, publisher = EXCLUDED.publisher, licenseType = EXCLUDED.licenseType, licenseName = EXCLUDED.licenseName, licenseUrl = EXCLUDED.licenseUrl, sourceUrl = EXCLUDED.sourceUrl, thumbnailUrl = EXCLUDED.thumbnailUrl, lastModified = EXCLUDED.lastModified, primaryLanguageUid = EXCLUDED.primaryLanguageUid, languageVariantUid = EXCLUDED.languageVariantUid, contentFlags = EXCLUDED.contentFlags, leaf = EXCLUDED.leaf, publik = EXCLUDED.publik, ceInactive = EXCLUDED.ceInactive, completionCriteria = EXCLUDED.completionCriteria, minScore = EXCLUDED.minScore, contentTypeFlag = EXCLUDED.contentTypeFlag, contentOwner = EXCLUDED.contentOwner, contentEntryLocalChangeSeqNum = EXCLUDED.contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum = EXCLUDED.contentEntryMasterChangeSeqNum, contentEntryLastChangedBy = EXCLUDED.contentEntryLastChangedBy, contentEntryLct = EXCLUDED.contentEntryLct; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER contententry_remote_insert_trig INSTEAD OF INSERT ON ContentEntry_ReceiveView FOR EACH ROW EXECUTE PROCEDURE contententry_remote_insert_fn() CREATE TABLE IF NOT EXISTS ContentEntryContentCategoryJoinReplicate ( ceccjPk BIGINT NOT NULL, ceccjVersionId BIGINT NOT NULL DEFAULT 0, ceccjDestination BIGINT NOT NULL, ceccjPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (ceccjPk, ceccjDestination)) CREATE OR REPLACE FUNCTION ch_upd_3_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (3, NEW.ceccjUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_3_trig AFTER UPDATE OR INSERT ON ContentEntryContentCategoryJoin FOR EACH ROW EXECUTE PROCEDURE ch_upd_3_fn(); CREATE OR REPLACE FUNCTION ch_del_3_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (3, OLD.ceccjUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_3_trig AFTER DELETE ON ContentEntryContentCategoryJoin FOR EACH ROW EXECUTE PROCEDURE ch_del_3_fn(); CREATE OR REPLACE FUNCTION contententrycontentcategoryjoin_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ContentEntryContentCategoryJoin(ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct) VALUES (NEW.ceccjUid, NEW.ceccjContentEntryUid, NEW.ceccjContentCategoryUid, NEW.ceccjLocalChangeSeqNum, NEW.ceccjMasterChangeSeqNum, NEW.ceccjLastChangedBy, NEW.ceccjLct) ON CONFLICT (ceccjUid) DO UPDATE SET ceccjContentEntryUid = EXCLUDED.ceccjContentEntryUid, ceccjContentCategoryUid = EXCLUDED.ceccjContentCategoryUid, ceccjLocalChangeSeqNum = EXCLUDED.ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum = EXCLUDED.ceccjMasterChangeSeqNum, ceccjLastChangedBy = EXCLUDED.ceccjLastChangedBy, ceccjLct = EXCLUDED.ceccjLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER contententrycontentcategoryjoin_remote_insert_trig INSTEAD OF INSERT ON ContentEntryContentCategoryJoin_ReceiveView FOR EACH ROW EXECUTE PROCEDURE contententrycontentcategoryjoin_remote_insert_fn() CREATE TABLE IF NOT EXISTS ContentEntryParentChildJoinReplicate ( cepcjPk BIGINT NOT NULL, cepcjVersionId BIGINT NOT NULL DEFAULT 0, cepcjDestination BIGINT NOT NULL, cepcjPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (cepcjPk, cepcjDestination)) CREATE OR REPLACE FUNCTION ch_upd_7_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (7, NEW.cepcjUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_7_trig AFTER UPDATE OR INSERT ON ContentEntryParentChildJoin FOR EACH ROW EXECUTE PROCEDURE ch_upd_7_fn(); CREATE OR REPLACE FUNCTION ch_del_7_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (7, OLD.cepcjUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_7_trig AFTER DELETE ON ContentEntryParentChildJoin FOR EACH ROW EXECUTE PROCEDURE ch_del_7_fn(); CREATE OR REPLACE FUNCTION contententryparentchildjoin_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ContentEntryParentChildJoin(cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex, cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct) VALUES (NEW.cepcjParentContentEntryUid, NEW.cepcjChildContentEntryUid, NEW.childIndex, NEW.cepcjUid, NEW.cepcjLocalChangeSeqNum, NEW.cepcjMasterChangeSeqNum, NEW.cepcjLastChangedBy, NEW.cepcjLct) ON CONFLICT (cepcjUid) DO UPDATE SET cepcjParentContentEntryUid = EXCLUDED.cepcjParentContentEntryUid, cepcjChildContentEntryUid = EXCLUDED.cepcjChildContentEntryUid, childIndex = EXCLUDED.childIndex, cepcjLocalChangeSeqNum = EXCLUDED.cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum = EXCLUDED.cepcjMasterChangeSeqNum, cepcjLastChangedBy = EXCLUDED.cepcjLastChangedBy, cepcjLct = EXCLUDED.cepcjLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER contententryparentchildjoin_remote_insert_trig INSTEAD OF INSERT ON ContentEntryParentChildJoin_ReceiveView FOR EACH ROW EXECUTE PROCEDURE contententryparentchildjoin_remote_insert_fn() CREATE TABLE IF NOT EXISTS ContentEntryRelatedEntryJoinReplicate ( cerejPk BIGINT NOT NULL, cerejVersionId BIGINT NOT NULL DEFAULT 0, cerejDestination BIGINT NOT NULL, cerejPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (cerejPk, cerejDestination)) CREATE OR REPLACE FUNCTION ch_upd_8_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (8, NEW.cerejUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_8_trig AFTER UPDATE OR INSERT ON ContentEntryRelatedEntryJoin FOR EACH ROW EXECUTE PROCEDURE ch_upd_8_fn(); CREATE OR REPLACE FUNCTION ch_del_8_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (8, OLD.cerejUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_8_trig AFTER DELETE ON ContentEntryRelatedEntryJoin FOR EACH ROW EXECUTE PROCEDURE ch_del_8_fn(); CREATE OR REPLACE FUNCTION contententryrelatedentryjoin_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ContentEntryRelatedEntryJoin(cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct) VALUES (NEW.cerejUid, NEW.cerejContentEntryUid, NEW.cerejRelatedEntryUid, NEW.cerejLastChangedBy, NEW.relType, NEW.comment, NEW.cerejRelLanguageUid, NEW.cerejLocalChangeSeqNum, NEW.cerejMasterChangeSeqNum, NEW.cerejLct) ON CONFLICT (cerejUid) DO UPDATE SET cerejContentEntryUid = EXCLUDED.cerejContentEntryUid, cerejRelatedEntryUid = EXCLUDED.cerejRelatedEntryUid, cerejLastChangedBy = EXCLUDED.cerejLastChangedBy, relType = EXCLUDED.relType, comment = EXCLUDED.comment, cerejRelLanguageUid = EXCLUDED.cerejRelLanguageUid, cerejLocalChangeSeqNum = EXCLUDED.cerejLocalChangeSeqNum, cerejMasterChangeSeqNum = EXCLUDED.cerejMasterChangeSeqNum, cerejLct = EXCLUDED.cerejLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER contententryrelatedentryjoin_remote_insert_trig INSTEAD OF INSERT ON ContentEntryRelatedEntryJoin_ReceiveView FOR EACH ROW EXECUTE PROCEDURE contententryrelatedentryjoin_remote_insert_fn() CREATE TABLE IF NOT EXISTS ContentCategorySchemaReplicate ( ccsPk BIGINT NOT NULL, ccsVersionId BIGINT NOT NULL DEFAULT 0, ccsDestination BIGINT NOT NULL, ccsPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (ccsPk, ccsDestination)) CREATE OR REPLACE FUNCTION ch_upd_2_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (2, NEW.contentCategorySchemaUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_2_trig AFTER UPDATE OR INSERT ON ContentCategorySchema FOR EACH ROW EXECUTE PROCEDURE ch_upd_2_fn(); CREATE OR REPLACE FUNCTION ch_del_2_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (2, OLD.contentCategorySchemaUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_2_trig AFTER DELETE ON ContentCategorySchema FOR EACH ROW EXECUTE PROCEDURE ch_del_2_fn(); CREATE OR REPLACE FUNCTION contentcategoryschema_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ContentCategorySchema(contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct) VALUES (NEW.contentCategorySchemaUid, NEW.schemaName, NEW.schemaUrl, NEW.contentCategorySchemaLocalChangeSeqNum, NEW.contentCategorySchemaMasterChangeSeqNum, NEW.contentCategorySchemaLastChangedBy, NEW.contentCategorySchemaLct) ON CONFLICT (contentCategorySchemaUid) DO UPDATE SET schemaName = EXCLUDED.schemaName, schemaUrl = EXCLUDED.schemaUrl, contentCategorySchemaLocalChangeSeqNum = EXCLUDED.contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum = EXCLUDED.contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy = EXCLUDED.contentCategorySchemaLastChangedBy, contentCategorySchemaLct = EXCLUDED.contentCategorySchemaLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER contentcategoryschema_remote_insert_trig INSTEAD OF INSERT ON ContentCategorySchema_ReceiveView FOR EACH ROW EXECUTE PROCEDURE contentcategoryschema_remote_insert_fn() CREATE TABLE IF NOT EXISTS ContentCategoryReplicate ( ccPk BIGINT NOT NULL, ccVersionId BIGINT NOT NULL DEFAULT 0, ccDestination BIGINT NOT NULL, ccPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (ccPk, ccDestination)) CREATE OR REPLACE FUNCTION ch_upd_1_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (1, NEW.contentCategoryUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_1_trig AFTER UPDATE OR INSERT ON ContentCategory FOR EACH ROW EXECUTE PROCEDURE ch_upd_1_fn(); CREATE OR REPLACE FUNCTION ch_del_1_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (1, OLD.contentCategoryUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_1_trig AFTER DELETE ON ContentCategory FOR EACH ROW EXECUTE PROCEDURE ch_del_1_fn(); CREATE OR REPLACE FUNCTION contentcategory_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ContentCategory(contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct) VALUES (NEW.contentCategoryUid, NEW.ctnCatContentCategorySchemaUid, NEW.name, NEW.contentCategoryLocalChangeSeqNum, NEW.contentCategoryMasterChangeSeqNum, NEW.contentCategoryLastChangedBy, NEW.contentCategoryLct) ON CONFLICT (contentCategoryUid) DO UPDATE SET ctnCatContentCategorySchemaUid = EXCLUDED.ctnCatContentCategorySchemaUid, name = EXCLUDED.name, contentCategoryLocalChangeSeqNum = EXCLUDED.contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum = EXCLUDED.contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy = EXCLUDED.contentCategoryLastChangedBy, contentCategoryLct = EXCLUDED.contentCategoryLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER contentcategory_remote_insert_trig INSTEAD OF INSERT ON ContentCategory_ReceiveView FOR EACH ROW EXECUTE PROCEDURE contentcategory_remote_insert_fn() CREATE TABLE IF NOT EXISTS LanguageReplicate ( languagePk BIGINT NOT NULL, languageVersionId BIGINT NOT NULL DEFAULT 0, languageDestination BIGINT NOT NULL, languagePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (languagePk, languageDestination)) CREATE OR REPLACE FUNCTION ch_upd_13_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (13, NEW.langUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_13_trig AFTER UPDATE OR INSERT ON Language FOR EACH ROW EXECUTE PROCEDURE ch_upd_13_fn(); CREATE OR REPLACE FUNCTION ch_del_13_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (13, OLD.langUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_13_trig AFTER DELETE ON Language FOR EACH ROW EXECUTE PROCEDURE ch_del_13_fn(); CREATE OR REPLACE FUNCTION language_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO Language(langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct) VALUES (NEW.langUid, NEW.name, NEW.iso_639_1_standard, NEW.iso_639_2_standard, NEW.iso_639_3_standard, NEW.Language_Type, NEW.languageActive, NEW.langLocalChangeSeqNum, NEW.langMasterChangeSeqNum, NEW.langLastChangedBy, NEW.langLct) ON CONFLICT (langUid) DO UPDATE SET name = EXCLUDED.name, iso_639_1_standard = EXCLUDED.iso_639_1_standard, iso_639_2_standard = EXCLUDED.iso_639_2_standard, iso_639_3_standard = EXCLUDED.iso_639_3_standard, Language_Type = EXCLUDED.Language_Type, languageActive = EXCLUDED.languageActive, langLocalChangeSeqNum = EXCLUDED.langLocalChangeSeqNum, langMasterChangeSeqNum = EXCLUDED.langMasterChangeSeqNum, langLastChangedBy = EXCLUDED.langLastChangedBy, langLct = EXCLUDED.langLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER language_remote_insert_trig INSTEAD OF INSERT ON Language_ReceiveView FOR EACH ROW EXECUTE PROCEDURE language_remote_insert_fn() CREATE TABLE IF NOT EXISTS LanguageVariantReplicate ( lvPk BIGINT NOT NULL, lvVersionId BIGINT NOT NULL DEFAULT 0, lvDestination BIGINT NOT NULL, lvPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (lvPk, lvDestination)) CREATE OR REPLACE FUNCTION ch_upd_10_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (10, NEW.langVariantUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_10_trig AFTER UPDATE OR INSERT ON LanguageVariant FOR EACH ROW EXECUTE PROCEDURE ch_upd_10_fn(); CREATE OR REPLACE FUNCTION ch_del_10_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (10, OLD.langVariantUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_10_trig AFTER DELETE ON LanguageVariant FOR EACH ROW EXECUTE PROCEDURE ch_del_10_fn(); CREATE OR REPLACE FUNCTION languagevariant_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO LanguageVariant(langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct) VALUES (NEW.langVariantUid, NEW.langUid, NEW.countryCode, NEW.name, NEW.langVariantLocalChangeSeqNum, NEW.langVariantMasterChangeSeqNum, NEW.langVariantLastChangedBy, NEW.langVariantLct) ON CONFLICT (langVariantUid) DO UPDATE SET langUid = EXCLUDED.langUid, countryCode = EXCLUDED.countryCode, name = EXCLUDED.name, langVariantLocalChangeSeqNum = EXCLUDED.langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum = EXCLUDED.langVariantMasterChangeSeqNum, langVariantLastChangedBy = EXCLUDED.langVariantLastChangedBy, langVariantLct = EXCLUDED.langVariantLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER languagevariant_remote_insert_trig INSTEAD OF INSERT ON LanguageVariant_ReceiveView FOR EACH ROW EXECUTE PROCEDURE languagevariant_remote_insert_fn() CREATE TABLE IF NOT EXISTS PersonGroupReplicate ( pgPk BIGINT NOT NULL, pgVersionId BIGINT NOT NULL DEFAULT 0, pgDestination BIGINT NOT NULL, pgPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (pgPk, pgDestination)) CREATE OR REPLACE FUNCTION ch_upd_43_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (43, NEW.groupUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_43_trig AFTER UPDATE OR INSERT ON PersonGroup FOR EACH ROW EXECUTE PROCEDURE ch_upd_43_fn(); CREATE OR REPLACE FUNCTION ch_del_43_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (43, OLD.groupUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_43_trig AFTER DELETE ON PersonGroup FOR EACH ROW EXECUTE PROCEDURE ch_del_43_fn(); CREATE OR REPLACE FUNCTION persongroup_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO PersonGroup(groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag) VALUES (NEW.groupUid, NEW.groupMasterCsn, NEW.groupLocalCsn, NEW.groupLastChangedBy, NEW.groupLct, NEW.groupName, NEW.groupActive, NEW.personGroupFlag) ON CONFLICT (groupUid) DO UPDATE SET groupMasterCsn = EXCLUDED.groupMasterCsn, groupLocalCsn = EXCLUDED.groupLocalCsn, groupLastChangedBy = EXCLUDED.groupLastChangedBy, groupLct = EXCLUDED.groupLct, groupName = EXCLUDED.groupName, groupActive = EXCLUDED.groupActive, personGroupFlag = EXCLUDED.personGroupFlag ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER persongroup_remote_insert_trig INSTEAD OF INSERT ON PersonGroup_ReceiveView FOR EACH ROW EXECUTE PROCEDURE persongroup_remote_insert_fn() CREATE TABLE IF NOT EXISTS PersonGroupMemberReplicate ( pgmPk BIGINT NOT NULL, pgmVersionId BIGINT NOT NULL DEFAULT 0, pgmDestination BIGINT NOT NULL, pgmPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (pgmPk, pgmDestination)) CREATE OR REPLACE FUNCTION ch_upd_44_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (44, NEW.groupMemberUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_44_trig AFTER UPDATE OR INSERT ON PersonGroupMember FOR EACH ROW EXECUTE PROCEDURE ch_upd_44_fn(); CREATE OR REPLACE FUNCTION ch_del_44_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (44, OLD.groupMemberUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_44_trig AFTER DELETE ON PersonGroupMember FOR EACH ROW EXECUTE PROCEDURE ch_del_44_fn(); CREATE OR REPLACE FUNCTION persongroupmember_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO PersonGroupMember(groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct) VALUES (NEW.groupMemberUid, NEW.groupMemberActive, NEW.groupMemberPersonUid, NEW.groupMemberGroupUid, NEW.groupMemberMasterCsn, NEW.groupMemberLocalCsn, NEW.groupMemberLastChangedBy, NEW.groupMemberLct) ON CONFLICT (groupMemberUid) DO UPDATE SET groupMemberActive = EXCLUDED.groupMemberActive, groupMemberPersonUid = EXCLUDED.groupMemberPersonUid, groupMemberGroupUid = EXCLUDED.groupMemberGroupUid, groupMemberMasterCsn = EXCLUDED.groupMemberMasterCsn, groupMemberLocalCsn = EXCLUDED.groupMemberLocalCsn, groupMemberLastChangedBy = EXCLUDED.groupMemberLastChangedBy, groupMemberLct = EXCLUDED.groupMemberLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER persongroupmember_remote_insert_trig INSTEAD OF INSERT ON PersonGroupMember_ReceiveView FOR EACH ROW EXECUTE PROCEDURE persongroupmember_remote_insert_fn() CREATE TABLE IF NOT EXISTS PersonPictureReplicate ( ppPk BIGINT NOT NULL, ppVersionId BIGINT NOT NULL DEFAULT 0, ppDestination BIGINT NOT NULL, ppPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (ppPk, ppDestination)) CREATE OR REPLACE FUNCTION ch_upd_50_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (50, NEW.personPictureUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_50_trig AFTER UPDATE OR INSERT ON PersonPicture FOR EACH ROW EXECUTE PROCEDURE ch_upd_50_fn(); CREATE OR REPLACE FUNCTION ch_del_50_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (50, OLD.personPictureUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_50_trig AFTER DELETE ON PersonPicture FOR EACH ROW EXECUTE PROCEDURE ch_del_50_fn(); CREATE OR REPLACE FUNCTION personpicture_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO PersonPicture(personPictureUid, personPicturePersonUid, personPictureMasterCsn, personPictureLocalCsn, personPictureLastChangedBy, personPictureLct, personPictureUri, personPictureMd5, fileSize, picTimestamp, mimeType, personPictureActive) VALUES (NEW.personPictureUid, NEW.personPicturePersonUid, NEW.personPictureMasterCsn, NEW.personPictureLocalCsn, NEW.personPictureLastChangedBy, NEW.personPictureLct, NEW.personPictureUri, NEW.personPictureMd5, NEW.fileSize, NEW.picTimestamp, NEW.mimeType, NEW.personPictureActive) ON CONFLICT (personPictureUid) DO UPDATE SET personPicturePersonUid = EXCLUDED.personPicturePersonUid, personPictureMasterCsn = EXCLUDED.personPictureMasterCsn, personPictureLocalCsn = EXCLUDED.personPictureLocalCsn, personPictureLastChangedBy = EXCLUDED.personPictureLastChangedBy, personPictureLct = EXCLUDED.personPictureLct, personPictureUri = EXCLUDED.personPictureUri, personPictureMd5 = EXCLUDED.personPictureMd5, fileSize = EXCLUDED.fileSize, picTimestamp = EXCLUDED.picTimestamp, mimeType = EXCLUDED.mimeType, personPictureActive = EXCLUDED.personPictureActive ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER personpicture_remote_insert_trig INSTEAD OF INSERT ON PersonPicture_ReceiveView FOR EACH ROW EXECUTE PROCEDURE personpicture_remote_insert_fn() CREATE TABLE IF NOT EXISTS ContainerReplicate ( containerPk BIGINT NOT NULL, containerVersionId BIGINT NOT NULL DEFAULT 0, containerDestination BIGINT NOT NULL, containerPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (containerPk, containerDestination)) CREATE OR REPLACE FUNCTION ch_upd_51_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (51, NEW.containerUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_51_trig AFTER UPDATE OR INSERT ON Container FOR EACH ROW EXECUTE PROCEDURE ch_upd_51_fn(); CREATE OR REPLACE FUNCTION ch_del_51_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (51, OLD.containerUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_51_trig AFTER DELETE ON Container FOR EACH ROW EXECUTE PROCEDURE ch_del_51_fn(); CREATE OR REPLACE FUNCTION container_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO Container(containerUid, cntLocalCsn, cntMasterCsn, cntLastModBy, cntLct, fileSize, containerContentEntryUid, cntLastModified, mimeType, remarks, mobileOptimized, cntNumEntries) VALUES (NEW.containerUid, NEW.cntLocalCsn, NEW.cntMasterCsn, NEW.cntLastModBy, NEW.cntLct, NEW.fileSize, NEW.containerContentEntryUid, NEW.cntLastModified, NEW.mimeType, NEW.remarks, NEW.mobileOptimized, NEW.cntNumEntries) ON CONFLICT (containerUid) DO UPDATE SET cntLocalCsn = EXCLUDED.cntLocalCsn, cntMasterCsn = EXCLUDED.cntMasterCsn, cntLastModBy = EXCLUDED.cntLastModBy, cntLct = EXCLUDED.cntLct, fileSize = EXCLUDED.fileSize, containerContentEntryUid = EXCLUDED.containerContentEntryUid, cntLastModified = EXCLUDED.cntLastModified, mimeType = EXCLUDED.mimeType, remarks = EXCLUDED.remarks, mobileOptimized = EXCLUDED.mobileOptimized, cntNumEntries = EXCLUDED.cntNumEntries ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER container_remote_insert_trig INSTEAD OF INSERT ON Container_ReceiveView FOR EACH ROW EXECUTE PROCEDURE container_remote_insert_fn() CREATE TABLE IF NOT EXISTS VerbEntityReplicate ( vePk BIGINT NOT NULL, veVersionId BIGINT NOT NULL DEFAULT 0, veDestination BIGINT NOT NULL, vePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (vePk, veDestination)) CREATE OR REPLACE FUNCTION ch_upd_62_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (62, NEW.verbUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_62_trig AFTER UPDATE OR INSERT ON VerbEntity FOR EACH ROW EXECUTE PROCEDURE ch_upd_62_fn(); CREATE OR REPLACE FUNCTION ch_del_62_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (62, OLD.verbUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_62_trig AFTER DELETE ON VerbEntity FOR EACH ROW EXECUTE PROCEDURE ch_del_62_fn(); CREATE OR REPLACE FUNCTION verbentity_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO VerbEntity(verbUid, urlId, verbInActive, verbMasterChangeSeqNum, verbLocalChangeSeqNum, verbLastChangedBy, verbLct) VALUES (NEW.verbUid, NEW.urlId, NEW.verbInActive, NEW.verbMasterChangeSeqNum, NEW.verbLocalChangeSeqNum, NEW.verbLastChangedBy, NEW.verbLct) ON CONFLICT (verbUid) DO UPDATE SET urlId = EXCLUDED.urlId, verbInActive = EXCLUDED.verbInActive, verbMasterChangeSeqNum = EXCLUDED.verbMasterChangeSeqNum, verbLocalChangeSeqNum = EXCLUDED.verbLocalChangeSeqNum, verbLastChangedBy = EXCLUDED.verbLastChangedBy, verbLct = EXCLUDED.verbLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER verbentity_remote_insert_trig INSTEAD OF INSERT ON VerbEntity_ReceiveView FOR EACH ROW EXECUTE PROCEDURE verbentity_remote_insert_fn() CREATE TABLE IF NOT EXISTS XObjectEntityReplicate ( xoePk BIGINT NOT NULL, xoeVersionId BIGINT NOT NULL DEFAULT 0, xoeDestination BIGINT NOT NULL, xoePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (xoePk, xoeDestination)) CREATE OR REPLACE FUNCTION ch_upd_64_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (64, NEW.xObjectUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_64_trig AFTER UPDATE OR INSERT ON XObjectEntity FOR EACH ROW EXECUTE PROCEDURE ch_upd_64_fn(); CREATE OR REPLACE FUNCTION ch_del_64_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (64, OLD.xObjectUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_64_trig AFTER DELETE ON XObjectEntity FOR EACH ROW EXECUTE PROCEDURE ch_del_64_fn(); CREATE OR REPLACE FUNCTION xobjectentity_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO XObjectEntity(xObjectUid, objectType, objectId, definitionType, interactionType, correctResponsePattern, objectContentEntryUid, xObjectMasterChangeSeqNum, xObjectocalChangeSeqNum, xObjectLastChangedBy, xObjectLct) VALUES (NEW.xObjectUid, NEW.objectType, NEW.objectId, NEW.definitionType, NEW.interactionType, NEW.correctResponsePattern, NEW.objectContentEntryUid, NEW.xObjectMasterChangeSeqNum, NEW.xObjectocalChangeSeqNum, NEW.xObjectLastChangedBy, NEW.xObjectLct) ON CONFLICT (xObjectUid) DO UPDATE SET objectType = EXCLUDED.objectType, objectId = EXCLUDED.objectId, definitionType = EXCLUDED.definitionType, interactionType = EXCLUDED.interactionType, correctResponsePattern = EXCLUDED.correctResponsePattern, objectContentEntryUid = EXCLUDED.objectContentEntryUid, xObjectMasterChangeSeqNum = EXCLUDED.xObjectMasterChangeSeqNum, xObjectocalChangeSeqNum = EXCLUDED.xObjectocalChangeSeqNum, xObjectLastChangedBy = EXCLUDED.xObjectLastChangedBy, xObjectLct = EXCLUDED.xObjectLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER xobjectentity_remote_insert_trig INSTEAD OF INSERT ON XObjectEntity_ReceiveView FOR EACH ROW EXECUTE PROCEDURE xobjectentity_remote_insert_fn() CREATE TABLE IF NOT EXISTS StatementEntityReplicate ( sePk BIGINT NOT NULL, seVersionId BIGINT NOT NULL DEFAULT 0, seDestination BIGINT NOT NULL, sePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (sePk, seDestination)) CREATE OR REPLACE FUNCTION ch_upd_60_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (60, NEW.statementUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_60_trig AFTER UPDATE OR INSERT ON StatementEntity FOR EACH ROW EXECUTE PROCEDURE ch_upd_60_fn(); CREATE OR REPLACE FUNCTION ch_del_60_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (60, OLD.statementUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_60_trig AFTER DELETE ON StatementEntity FOR EACH ROW EXECUTE PROCEDURE ch_del_60_fn(); CREATE OR REPLACE FUNCTION statemententity_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO StatementEntity(statementUid, statementId, statementPersonUid, statementVerbUid, xObjectUid, subStatementActorUid, substatementVerbUid, subStatementObjectUid, agentUid, instructorUid, authorityUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistration, contextPlatform, contextStatementId, fullStatement, statementMasterChangeSeqNum, statementLocalChangeSeqNum, statementLastChangedBy, statementLct, extensionProgress, contentEntryRoot, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid) VALUES (NEW.statementUid, NEW.statementId, NEW.statementPersonUid, NEW.statementVerbUid, NEW.xObjectUid, NEW.subStatementActorUid, NEW.substatementVerbUid, NEW.subStatementObjectUid, NEW.agentUid, NEW.instructorUid, NEW.authorityUid, NEW.teamUid, NEW.resultCompletion, NEW.resultSuccess, NEW.resultScoreScaled, NEW.resultScoreRaw, NEW.resultScoreMin, NEW.resultScoreMax, NEW.resultDuration, NEW.resultResponse, NEW.timestamp, NEW.stored, NEW.contextRegistration, NEW.contextPlatform, NEW.contextStatementId, NEW.fullStatement, NEW.statementMasterChangeSeqNum, NEW.statementLocalChangeSeqNum, NEW.statementLastChangedBy, NEW.statementLct, NEW.extensionProgress, NEW.contentEntryRoot, NEW.statementContentEntryUid, NEW.statementLearnerGroupUid, NEW.statementClazzUid) ON CONFLICT (statementUid) DO UPDATE SET statementId = EXCLUDED.statementId, statementPersonUid = EXCLUDED.statementPersonUid, statementVerbUid = EXCLUDED.statementVerbUid, xObjectUid = EXCLUDED.xObjectUid, subStatementActorUid = EXCLUDED.subStatementActorUid, substatementVerbUid = EXCLUDED.substatementVerbUid, subStatementObjectUid = EXCLUDED.subStatementObjectUid, agentUid = EXCLUDED.agentUid, instructorUid = EXCLUDED.instructorUid, authorityUid = EXCLUDED.authorityUid, teamUid = EXCLUDED.teamUid, resultCompletion = EXCLUDED.resultCompletion, resultSuccess = EXCLUDED.resultSuccess, resultScoreScaled = EXCLUDED.resultScoreScaled, resultScoreRaw = EXCLUDED.resultScoreRaw, resultScoreMin = EXCLUDED.resultScoreMin, resultScoreMax = EXCLUDED.resultScoreMax, resultDuration = EXCLUDED.resultDuration, resultResponse = EXCLUDED.resultResponse, timestamp = EXCLUDED.timestamp, stored = EXCLUDED.stored, contextRegistration = EXCLUDED.contextRegistration, contextPlatform = EXCLUDED.contextPlatform, contextStatementId = EXCLUDED.contextStatementId, fullStatement = EXCLUDED.fullStatement, statementMasterChangeSeqNum = EXCLUDED.statementMasterChangeSeqNum, statementLocalChangeSeqNum = EXCLUDED.statementLocalChangeSeqNum, statementLastChangedBy = EXCLUDED.statementLastChangedBy, statementLct = EXCLUDED.statementLct, extensionProgress = EXCLUDED.extensionProgress, contentEntryRoot = EXCLUDED.contentEntryRoot, statementContentEntryUid = EXCLUDED.statementContentEntryUid, statementLearnerGroupUid = EXCLUDED.statementLearnerGroupUid, statementClazzUid = EXCLUDED.statementClazzUid ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER statemententity_remote_insert_trig INSTEAD OF INSERT ON StatementEntity_ReceiveView FOR EACH ROW EXECUTE PROCEDURE statemententity_remote_insert_fn() CREATE TABLE IF NOT EXISTS ContextXObjectStatementJoinReplicate ( cxosjPk BIGINT NOT NULL, cxosjVersionId BIGINT NOT NULL DEFAULT 0, cxosjDestination BIGINT NOT NULL, cxosjPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (cxosjPk, cxosjDestination)) CREATE OR REPLACE FUNCTION ch_upd_66_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (66, NEW.contextXObjectStatementJoinUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_66_trig AFTER UPDATE OR INSERT ON ContextXObjectStatementJoin FOR EACH ROW EXECUTE PROCEDURE ch_upd_66_fn(); CREATE OR REPLACE FUNCTION ch_del_66_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (66, OLD.contextXObjectStatementJoinUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_66_trig AFTER DELETE ON ContextXObjectStatementJoin FOR EACH ROW EXECUTE PROCEDURE ch_del_66_fn(); CREATE OR REPLACE FUNCTION contextxobjectstatementjoin_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ContextXObjectStatementJoin(contextXObjectStatementJoinUid, contextActivityFlag, contextStatementUid, contextXObjectUid, verbMasterChangeSeqNum, verbLocalChangeSeqNum, verbLastChangedBy, contextXObjectLct) VALUES (NEW.contextXObjectStatementJoinUid, NEW.contextActivityFlag, NEW.contextStatementUid, NEW.contextXObjectUid, NEW.verbMasterChangeSeqNum, NEW.verbLocalChangeSeqNum, NEW.verbLastChangedBy, NEW.contextXObjectLct) ON CONFLICT (contextXObjectStatementJoinUid) DO UPDATE SET contextActivityFlag = EXCLUDED.contextActivityFlag, contextStatementUid = EXCLUDED.contextStatementUid, contextXObjectUid = EXCLUDED.contextXObjectUid, verbMasterChangeSeqNum = EXCLUDED.verbMasterChangeSeqNum, verbLocalChangeSeqNum = EXCLUDED.verbLocalChangeSeqNum, verbLastChangedBy = EXCLUDED.verbLastChangedBy, contextXObjectLct = EXCLUDED.contextXObjectLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER contextxobjectstatementjoin_remote_insert_trig INSTEAD OF INSERT ON ContextXObjectStatementJoin_ReceiveView FOR EACH ROW EXECUTE PROCEDURE contextxobjectstatementjoin_remote_insert_fn() CREATE TABLE IF NOT EXISTS AgentEntityReplicate ( aePk BIGINT NOT NULL, aeVersionId BIGINT NOT NULL DEFAULT 0, aeDestination BIGINT NOT NULL, aePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (aePk, aeDestination)) CREATE OR REPLACE FUNCTION ch_upd_68_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (68, NEW.agentUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_68_trig AFTER UPDATE OR INSERT ON AgentEntity FOR EACH ROW EXECUTE PROCEDURE ch_upd_68_fn(); CREATE OR REPLACE FUNCTION ch_del_68_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (68, OLD.agentUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_68_trig AFTER DELETE ON AgentEntity FOR EACH ROW EXECUTE PROCEDURE ch_del_68_fn(); CREATE OR REPLACE FUNCTION agententity_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO AgentEntity(agentUid, agentMbox, agentMbox_sha1sum, agentOpenid, agentAccountName, agentHomePage, agentPersonUid, statementMasterChangeSeqNum, statementLocalChangeSeqNum, statementLastChangedBy, agentLct) VALUES (NEW.agentUid, NEW.agentMbox, NEW.agentMbox_sha1sum, NEW.agentOpenid, NEW.agentAccountName, NEW.agentHomePage, NEW.agentPersonUid, NEW.statementMasterChangeSeqNum, NEW.statementLocalChangeSeqNum, NEW.statementLastChangedBy, NEW.agentLct) ON CONFLICT (agentUid) DO UPDATE SET agentMbox = EXCLUDED.agentMbox, agentMbox_sha1sum = EXCLUDED.agentMbox_sha1sum, agentOpenid = EXCLUDED.agentOpenid, agentAccountName = EXCLUDED.agentAccountName, agentHomePage = EXCLUDED.agentHomePage, agentPersonUid = EXCLUDED.agentPersonUid, statementMasterChangeSeqNum = EXCLUDED.statementMasterChangeSeqNum, statementLocalChangeSeqNum = EXCLUDED.statementLocalChangeSeqNum, statementLastChangedBy = EXCLUDED.statementLastChangedBy, agentLct = EXCLUDED.agentLct; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER agententity_remote_insert_trig INSTEAD OF INSERT ON AgentEntity_ReceiveView FOR EACH ROW EXECUTE PROCEDURE agententity_remote_insert_fn() CREATE TABLE IF NOT EXISTS StateEntityReplicate ( sePk BIGINT NOT NULL, seVersionId BIGINT NOT NULL DEFAULT 0, seDestination BIGINT NOT NULL, sePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (sePk, seDestination)) CREATE OR REPLACE FUNCTION ch_upd_70_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (70, NEW.stateUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_70_trig AFTER UPDATE OR INSERT ON StateEntity FOR EACH ROW EXECUTE PROCEDURE ch_upd_70_fn(); CREATE OR REPLACE FUNCTION ch_del_70_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (70, OLD.stateUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_70_trig AFTER DELETE ON StateEntity FOR EACH ROW EXECUTE PROCEDURE ch_del_70_fn(); CREATE OR REPLACE FUNCTION stateentity_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO StateEntity(stateUid, stateId, agentUid, activityId, registration, isIsactive, timestamp, stateMasterChangeSeqNum, stateLocalChangeSeqNum, stateLastChangedBy, stateLct) VALUES (NEW.stateUid, NEW.stateId, NEW.agentUid, NEW.activityId, NEW.registration, NEW.isIsactive, NEW.timestamp, NEW.stateMasterChangeSeqNum, NEW.stateLocalChangeSeqNum, NEW.stateLastChangedBy, NEW.stateLct) ON CONFLICT (stateUid) DO UPDATE SET stateId = EXCLUDED.stateId, agentUid = EXCLUDED.agentUid, activityId = EXCLUDED.activityId, registration = EXCLUDED.registration, isIsactive = EXCLUDED.isIsactive, timestamp = EXCLUDED.timestamp, stateMasterChangeSeqNum = EXCLUDED.stateMasterChangeSeqNum, stateLocalChangeSeqNum = EXCLUDED.stateLocalChangeSeqNum, stateLastChangedBy = EXCLUDED.stateLastChangedBy, stateLct = EXCLUDED.stateLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER stateentity_remote_insert_trig INSTEAD OF INSERT ON StateEntity_ReceiveView FOR EACH ROW EXECUTE PROCEDURE stateentity_remote_insert_fn() CREATE TABLE IF NOT EXISTS StateContentEntityReplicate ( scePk BIGINT NOT NULL, sceVersionId BIGINT NOT NULL DEFAULT 0, sceDestination BIGINT NOT NULL, scePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (scePk, sceDestination)) CREATE OR REPLACE FUNCTION ch_upd_72_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (72, NEW.stateContentUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_72_trig AFTER UPDATE OR INSERT ON StateContentEntity FOR EACH ROW EXECUTE PROCEDURE ch_upd_72_fn(); CREATE OR REPLACE FUNCTION ch_del_72_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (72, OLD.stateContentUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_72_trig AFTER DELETE ON StateContentEntity FOR EACH ROW EXECUTE PROCEDURE ch_del_72_fn(); CREATE OR REPLACE FUNCTION statecontententity_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO StateContentEntity(stateContentUid, stateContentStateUid, stateContentKey, stateContentValue, isIsactive, stateContentMasterChangeSeqNum, stateContentLocalChangeSeqNum, stateContentLastChangedBy, stateContentLct) VALUES (NEW.stateContentUid, NEW.stateContentStateUid, NEW.stateContentKey, NEW.stateContentValue, NEW.isIsactive, NEW.stateContentMasterChangeSeqNum, NEW.stateContentLocalChangeSeqNum, NEW.stateContentLastChangedBy, NEW.stateContentLct) ON CONFLICT (stateContentUid) DO UPDATE SET stateContentStateUid = EXCLUDED.stateContentStateUid, stateContentKey = EXCLUDED.stateContentKey, stateContentValue = EXCLUDED.stateContentValue, isIsactive = EXCLUDED.isIsactive, stateContentMasterChangeSeqNum = EXCLUDED.stateContentMasterChangeSeqNum, stateContentLocalChangeSeqNum = EXCLUDED.stateContentLocalChangeSeqNum, stateContentLastChangedBy = EXCLUDED.stateContentLastChangedBy, stateContentLct = EXCLUDED.stateContentLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER statecontententity_remote_insert_trig INSTEAD OF INSERT ON StateContentEntity_ReceiveView FOR EACH ROW EXECUTE PROCEDURE statecontententity_remote_insert_fn() CREATE TABLE IF NOT EXISTS XLangMapEntryReplicate ( xlmePk BIGINT NOT NULL, xlmeVersionId BIGINT NOT NULL DEFAULT 0, xlmeDestination BIGINT NOT NULL, xlmePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (xlmePk, xlmeDestination)) CREATE OR REPLACE FUNCTION ch_upd_74_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (74, NEW.statementLangMapUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_74_trig AFTER UPDATE OR INSERT ON XLangMapEntry FOR EACH ROW EXECUTE PROCEDURE ch_upd_74_fn(); CREATE OR REPLACE FUNCTION ch_del_74_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (74, OLD.statementLangMapUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_74_trig AFTER DELETE ON XLangMapEntry FOR EACH ROW EXECUTE PROCEDURE ch_del_74_fn(); CREATE OR REPLACE FUNCTION xlangmapentry_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO XLangMapEntry(verbLangMapUid, objectLangMapUid, languageLangMapUid, languageVariantLangMapUid, valueLangMap, statementLangMapMasterCsn, statementLangMapLocalCsn, statementLangMapLcb, statementLangMapLct, statementLangMapUid) VALUES (NEW.verbLangMapUid, NEW.objectLangMapUid, NEW.languageLangMapUid, NEW.languageVariantLangMapUid, NEW.valueLangMap, NEW.statementLangMapMasterCsn, NEW.statementLangMapLocalCsn, NEW.statementLangMapLcb, NEW.statementLangMapLct, NEW.statementLangMapUid) ON CONFLICT (statementLangMapUid) DO UPDATE SET verbLangMapUid = EXCLUDED.verbLangMapUid, objectLangMapUid = EXCLUDED.objectLangMapUid, languageLangMapUid = EXCLUDED.languageLangMapUid, languageVariantLangMapUid = EXCLUDED.languageVariantLangMapUid, valueLangMap = EXCLUDED.valueLangMap, statementLangMapMasterCsn = EXCLUDED.statementLangMapMasterCsn, statementLangMapLocalCsn = EXCLUDED.statementLangMapLocalCsn, statementLangMapLcb = EXCLUDED.statementLangMapLcb, statementLangMapLct = EXCLUDED.statementLangMapLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER xlangmapentry_remote_insert_trig INSTEAD OF INSERT ON XLangMapEntry_ReceiveView FOR EACH ROW EXECUTE PROCEDURE xlangmapentry_remote_insert_fn() CREATE TABLE IF NOT EXISTS SchoolReplicate ( schoolPk BIGINT NOT NULL, schoolVersionId BIGINT NOT NULL DEFAULT 0, schoolDestination BIGINT NOT NULL, schoolPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (schoolPk, schoolDestination)) CREATE OR REPLACE FUNCTION ch_upd_164_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (164, NEW.schoolUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_164_trig AFTER UPDATE OR INSERT ON School FOR EACH ROW EXECUTE PROCEDURE ch_upd_164_fn(); CREATE OR REPLACE FUNCTION ch_del_164_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (164, OLD.schoolUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_164_trig AFTER DELETE ON School FOR EACH ROW EXECUTE PROCEDURE ch_del_164_fn(); CREATE OR REPLACE FUNCTION school_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO School(schoolUid, schoolName, schoolDesc, schoolAddress, schoolActive, schoolPhoneNumber, schoolGender, schoolHolidayCalendarUid, schoolFeatures, schoolLocationLong, schoolLocationLatt, schoolEmailAddress, schoolTeachersPersonGroupUid, schoolStudentsPersonGroupUid, schoolPendingStudentsPersonGroupUid, schoolCode, schoolMasterChangeSeqNum, schoolLocalChangeSeqNum, schoolLastChangedBy, schoolLct, schoolTimeZone) VALUES (NEW.schoolUid, NEW.schoolName, NEW.schoolDesc, NEW.schoolAddress, NEW.schoolActive, NEW.schoolPhoneNumber, NEW.schoolGender, NEW.schoolHolidayCalendarUid, NEW.schoolFeatures, NEW.schoolLocationLong, NEW.schoolLocationLatt, NEW.schoolEmailAddress, NEW.schoolTeachersPersonGroupUid, NEW.schoolStudentsPersonGroupUid, NEW.schoolPendingStudentsPersonGroupUid, NEW.schoolCode, NEW.schoolMasterChangeSeqNum, NEW.schoolLocalChangeSeqNum, NEW.schoolLastChangedBy, NEW.schoolLct, NEW.schoolTimeZone) ON CONFLICT (schoolUid) DO UPDATE SET schoolName = EXCLUDED.schoolName, schoolDesc = EXCLUDED.schoolDesc, schoolAddress = EXCLUDED.schoolAddress, schoolActive = EXCLUDED.schoolActive, schoolPhoneNumber = EXCLUDED.schoolPhoneNumber, schoolGender = EXCLUDED.schoolGender, schoolHolidayCalendarUid = EXCLUDED.schoolHolidayCalendarUid, schoolFeatures = EXCLUDED.schoolFeatures, schoolLocationLong = EXCLUDED.schoolLocationLong, schoolLocationLatt = EXCLUDED.schoolLocationLatt, schoolEmailAddress = EXCLUDED.schoolEmailAddress, schoolTeachersPersonGroupUid = EXCLUDED.schoolTeachersPersonGroupUid, schoolStudentsPersonGroupUid = EXCLUDED.schoolStudentsPersonGroupUid, schoolPendingStudentsPersonGroupUid = EXCLUDED.schoolPendingStudentsPersonGroupUid, schoolCode = EXCLUDED.schoolCode, schoolMasterChangeSeqNum = EXCLUDED.schoolMasterChangeSeqNum, schoolLocalChangeSeqNum = EXCLUDED.schoolLocalChangeSeqNum, schoolLastChangedBy = EXCLUDED.schoolLastChangedBy, schoolLct = EXCLUDED.schoolLct, schoolTimeZone = EXCLUDED.schoolTimeZone ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER school_remote_insert_trig INSTEAD OF INSERT ON School_ReceiveView FOR EACH ROW EXECUTE PROCEDURE school_remote_insert_fn() CREATE TABLE IF NOT EXISTS SchoolMemberReplicate ( smPk BIGINT NOT NULL, smVersionId BIGINT NOT NULL DEFAULT 0, smDestination BIGINT NOT NULL, smPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (smPk, smDestination)) CREATE OR REPLACE FUNCTION ch_upd_200_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (200, NEW.schoolMemberUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_200_trig AFTER UPDATE OR INSERT ON SchoolMember FOR EACH ROW EXECUTE PROCEDURE ch_upd_200_fn(); CREATE OR REPLACE FUNCTION ch_del_200_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (200, OLD.schoolMemberUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_200_trig AFTER DELETE ON SchoolMember FOR EACH ROW EXECUTE PROCEDURE ch_del_200_fn(); CREATE OR REPLACE FUNCTION schoolmember_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO SchoolMember(schoolMemberUid, schoolMemberPersonUid, schoolMemberSchoolUid, schoolMemberJoinDate, schoolMemberLeftDate, schoolMemberRole, schoolMemberActive, schoolMemberLocalChangeSeqNum, schoolMemberMasterChangeSeqNum, schoolMemberLastChangedBy, schoolMemberLct) VALUES (NEW.schoolMemberUid, NEW.schoolMemberPersonUid, NEW.schoolMemberSchoolUid, NEW.schoolMemberJoinDate, NEW.schoolMemberLeftDate, NEW.schoolMemberRole, NEW.schoolMemberActive, NEW.schoolMemberLocalChangeSeqNum, NEW.schoolMemberMasterChangeSeqNum, NEW.schoolMemberLastChangedBy, NEW.schoolMemberLct) ON CONFLICT (schoolMemberUid) DO UPDATE SET schoolMemberPersonUid = EXCLUDED.schoolMemberPersonUid, schoolMemberSchoolUid = EXCLUDED.schoolMemberSchoolUid, schoolMemberJoinDate = EXCLUDED.schoolMemberJoinDate, schoolMemberLeftDate = EXCLUDED.schoolMemberLeftDate, schoolMemberRole = EXCLUDED.schoolMemberRole, schoolMemberActive = EXCLUDED.schoolMemberActive, schoolMemberLocalChangeSeqNum = EXCLUDED.schoolMemberLocalChangeSeqNum, schoolMemberMasterChangeSeqNum = EXCLUDED.schoolMemberMasterChangeSeqNum, schoolMemberLastChangedBy = EXCLUDED.schoolMemberLastChangedBy, schoolMemberLct = EXCLUDED.schoolMemberLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER schoolmember_remote_insert_trig INSTEAD OF INSERT ON SchoolMember_ReceiveView FOR EACH ROW EXECUTE PROCEDURE schoolmember_remote_insert_fn() CREATE TABLE IF NOT EXISTS CommentsReplicate ( commentsPk BIGINT NOT NULL, commentsVersionId BIGINT NOT NULL DEFAULT 0, commentsDestination BIGINT NOT NULL, commentsPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (commentsPk, commentsDestination)) CREATE OR REPLACE FUNCTION ch_upd_208_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (208, NEW.commentsUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_208_trig AFTER UPDATE OR INSERT ON Comments FOR EACH ROW EXECUTE PROCEDURE ch_upd_208_fn(); CREATE OR REPLACE FUNCTION ch_del_208_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (208, OLD.commentsUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_208_trig AFTER DELETE ON Comments FOR EACH ROW EXECUTE PROCEDURE ch_del_208_fn(); CREATE OR REPLACE FUNCTION comments_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO Comments(commentsUid, commentsText, commentsEntityType, commentsEntityUid, commentsPublic, commentsStatus, commentsPersonUid, commentsToPersonUid, commentsFlagged, commentsInActive, commentsDateTimeAdded, commentsDateTimeUpdated, commentsMCSN, commentsLCSN, commentsLCB, commentsLct) VALUES (NEW.commentsUid, NEW.commentsText, NEW.commentsEntityType, NEW.commentsEntityUid, NEW.commentsPublic, NEW.commentsStatus, NEW.commentsPersonUid, NEW.commentsToPersonUid, NEW.commentsFlagged, NEW.commentsInActive, NEW.commentsDateTimeAdded, NEW.commentsDateTimeUpdated, NEW.commentsMCSN, NEW.commentsLCSN, NEW.commentsLCB, NEW.commentsLct) ON CONFLICT (commentsUid) DO UPDATE SET commentsText = EXCLUDED.commentsText, commentsEntityType = EXCLUDED.commentsEntityType, commentsEntityUid = EXCLUDED.commentsEntityUid, commentsPublic = EXCLUDED.commentsPublic, commentsStatus = EXCLUDED.commentsStatus, commentsPersonUid = EXCLUDED.commentsPersonUid, commentsToPersonUid = EXCLUDED.commentsToPersonUid, commentsFlagged = EXCLUDED.commentsFlagged, commentsInActive = EXCLUDED.commentsInActive, commentsDateTimeAdded = EXCLUDED.commentsDateTimeAdded, commentsDateTimeUpdated = EXCLUDED.commentsDateTimeUpdated, commentsMCSN = EXCLUDED.commentsMCSN, commentsLCSN = EXCLUDED.commentsLCSN, commentsLCB = EXCLUDED.commentsLCB, commentsLct = EXCLUDED.commentsLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER comments_remote_insert_trig INSTEAD OF INSERT ON Comments_ReceiveView FOR EACH ROW EXECUTE PROCEDURE comments_remote_insert_fn() CREATE TABLE IF NOT EXISTS ReportReplicate ( reportPk BIGINT NOT NULL, reportVersionId BIGINT NOT NULL DEFAULT 0, reportDestination BIGINT NOT NULL, reportPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (reportPk, reportDestination)) CREATE OR REPLACE FUNCTION ch_upd_101_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (101, NEW.reportUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_101_trig AFTER UPDATE OR INSERT ON Report FOR EACH ROW EXECUTE PROCEDURE ch_upd_101_fn(); CREATE OR REPLACE FUNCTION ch_del_101_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (101, OLD.reportUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_101_trig AFTER DELETE ON Report FOR EACH ROW EXECUTE PROCEDURE ch_del_101_fn(); CREATE TABLE IF NOT EXISTS SiteReplicate ( sitePk BIGINT NOT NULL, siteVersionId BIGINT NOT NULL DEFAULT 0, siteDestination BIGINT NOT NULL, sitePending BOOL NOT NULL DEFAULT true, PRIMARY KEY (sitePk, siteDestination)) CREATE OR REPLACE FUNCTION ch_upd_189_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (189, NEW.siteUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_189_trig AFTER UPDATE OR INSERT ON Site FOR EACH ROW EXECUTE PROCEDURE ch_upd_189_fn(); CREATE OR REPLACE FUNCTION ch_del_189_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (189, OLD.siteUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_189_trig AFTER DELETE ON Site FOR EACH ROW EXECUTE PROCEDURE ch_del_189_fn(); CREATE OR REPLACE FUNCTION site_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO Site(siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt) VALUES (NEW.siteUid, NEW.sitePcsn, NEW.siteLcsn, NEW.siteLcb, NEW.siteLct, NEW.siteName, NEW.guestLogin, NEW.registrationAllowed, NEW.authSalt) ON CONFLICT (siteUid) DO UPDATE SET sitePcsn = EXCLUDED.sitePcsn, siteLcsn = EXCLUDED.siteLcsn, siteLcb = EXCLUDED.siteLcb, siteLct = EXCLUDED.siteLct, siteName = EXCLUDED.siteName, guestLogin = EXCLUDED.guestLogin, registrationAllowed = EXCLUDED.registrationAllowed, authSalt = EXCLUDED.authSalt; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER site_remote_insert_trig INSTEAD OF INSERT ON Site_ReceiveView FOR EACH ROW EXECUTE PROCEDURE site_remote_insert_fn() CREATE TABLE IF NOT EXISTS LearnerGroupReplicate ( lgPk BIGINT NOT NULL, lgVersionId BIGINT NOT NULL DEFAULT 0, lgDestination BIGINT NOT NULL, lgPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (lgPk, lgDestination)) CREATE OR REPLACE FUNCTION ch_upd_301_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (301, NEW.learnerGroupUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_301_trig AFTER UPDATE OR INSERT ON LearnerGroup FOR EACH ROW EXECUTE PROCEDURE ch_upd_301_fn(); CREATE OR REPLACE FUNCTION ch_del_301_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (301, OLD.learnerGroupUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_301_trig AFTER DELETE ON LearnerGroup FOR EACH ROW EXECUTE PROCEDURE ch_del_301_fn(); CREATE OR REPLACE FUNCTION learnergroup_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO LearnerGroup(learnerGroupUid, learnerGroupName, learnerGroupDescription, learnerGroupActive, learnerGroupMCSN, learnerGroupCSN, learnerGroupLCB, learnerGroupLct) VALUES (NEW.learnerGroupUid, NEW.learnerGroupName, NEW.learnerGroupDescription, NEW.learnerGroupActive, NEW.learnerGroupMCSN, NEW.learnerGroupCSN, NEW.learnerGroupLCB, NEW.learnerGroupLct) ON CONFLICT (learnerGroupUid) DO UPDATE SET learnerGroupName = EXCLUDED.learnerGroupName, learnerGroupDescription = EXCLUDED.learnerGroupDescription, learnerGroupActive = EXCLUDED.learnerGroupActive, learnerGroupMCSN = EXCLUDED.learnerGroupMCSN, learnerGroupCSN = EXCLUDED.learnerGroupCSN, learnerGroupLCB = EXCLUDED.learnerGroupLCB, learnerGroupLct = EXCLUDED.learnerGroupLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER learnergroup_remote_insert_trig INSTEAD OF INSERT ON LearnerGroup_ReceiveView FOR EACH ROW EXECUTE PROCEDURE learnergroup_remote_insert_fn() CREATE TABLE IF NOT EXISTS LearnerGroupMemberReplicate ( lgmPk BIGINT NOT NULL, lgmVersionId BIGINT NOT NULL DEFAULT 0, lgmDestination BIGINT NOT NULL, lgmPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (lgmPk, lgmDestination)) CREATE OR REPLACE FUNCTION ch_upd_300_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (300, NEW.learnerGroupMemberUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_300_trig AFTER UPDATE OR INSERT ON LearnerGroupMember FOR EACH ROW EXECUTE PROCEDURE ch_upd_300_fn(); CREATE OR REPLACE FUNCTION ch_del_300_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (300, OLD.learnerGroupMemberUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_300_trig AFTER DELETE ON LearnerGroupMember FOR EACH ROW EXECUTE PROCEDURE ch_del_300_fn(); CREATE OR REPLACE FUNCTION learnergroupmember_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO LearnerGroupMember(learnerGroupMemberUid, learnerGroupMemberPersonUid, learnerGroupMemberLgUid, learnerGroupMemberRole, learnerGroupMemberActive, learnerGroupMemberMCSN, learnerGroupMemberCSN, learnerGroupMemberLCB, learnerGroupMemberLct) VALUES (NEW.learnerGroupMemberUid, NEW.learnerGroupMemberPersonUid, NEW.learnerGroupMemberLgUid, NEW.learnerGroupMemberRole, NEW.learnerGroupMemberActive, NEW.learnerGroupMemberMCSN, NEW.learnerGroupMemberCSN, NEW.learnerGroupMemberLCB, NEW.learnerGroupMemberLct) ON CONFLICT (learnerGroupMemberUid) DO UPDATE SET learnerGroupMemberPersonUid = EXCLUDED.learnerGroupMemberPersonUid, learnerGroupMemberLgUid = EXCLUDED.learnerGroupMemberLgUid, learnerGroupMemberRole = EXCLUDED.learnerGroupMemberRole, learnerGroupMemberActive = EXCLUDED.learnerGroupMemberActive, learnerGroupMemberMCSN = EXCLUDED.learnerGroupMemberMCSN, learnerGroupMemberCSN = EXCLUDED.learnerGroupMemberCSN, learnerGroupMemberLCB = EXCLUDED.learnerGroupMemberLCB, learnerGroupMemberLct = EXCLUDED.learnerGroupMemberLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER learnergroupmember_remote_insert_trig INSTEAD OF INSERT ON LearnerGroupMember_ReceiveView FOR EACH ROW EXECUTE PROCEDURE learnergroupmember_remote_insert_fn() CREATE TABLE IF NOT EXISTS GroupLearningSessionReplicate ( glsPk BIGINT NOT NULL, glsVersionId BIGINT NOT NULL DEFAULT 0, glsDestination BIGINT NOT NULL, glsPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (glsPk, glsDestination)) CREATE OR REPLACE FUNCTION ch_upd_302_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (302, NEW.groupLearningSessionUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_302_trig AFTER UPDATE OR INSERT ON GroupLearningSession FOR EACH ROW EXECUTE PROCEDURE ch_upd_302_fn(); CREATE OR REPLACE FUNCTION ch_del_302_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (302, OLD.groupLearningSessionUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_302_trig AFTER DELETE ON GroupLearningSession FOR EACH ROW EXECUTE PROCEDURE ch_del_302_fn(); CREATE OR REPLACE FUNCTION grouplearningsession_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO GroupLearningSession(groupLearningSessionUid, groupLearningSessionContentUid, groupLearningSessionLearnerGroupUid, groupLearningSessionInactive, groupLearningSessionMCSN, groupLearningSessionCSN, groupLearningSessionLCB, groupLearningSessionLct) VALUES (NEW.groupLearningSessionUid, NEW.groupLearningSessionContentUid, NEW.groupLearningSessionLearnerGroupUid, NEW.groupLearningSessionInactive, NEW.groupLearningSessionMCSN, NEW.groupLearningSessionCSN, NEW.groupLearningSessionLCB, NEW.groupLearningSessionLct) ON CONFLICT (groupLearningSessionUid) DO UPDATE SET groupLearningSessionContentUid = EXCLUDED.groupLearningSessionContentUid, groupLearningSessionLearnerGroupUid = EXCLUDED.groupLearningSessionLearnerGroupUid, groupLearningSessionInactive = EXCLUDED.groupLearningSessionInactive, groupLearningSessionMCSN = EXCLUDED.groupLearningSessionMCSN, groupLearningSessionCSN = EXCLUDED.groupLearningSessionCSN, groupLearningSessionLCB = EXCLUDED.groupLearningSessionLCB, groupLearningSessionLct = EXCLUDED.groupLearningSessionLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER grouplearningsession_remote_insert_trig INSTEAD OF INSERT ON GroupLearningSession_ReceiveView FOR EACH ROW EXECUTE PROCEDURE grouplearningsession_remote_insert_fn() CREATE TABLE IF NOT EXISTS SiteTermsReplicate ( stPk BIGINT NOT NULL, stVersionId BIGINT NOT NULL DEFAULT 0, stDestination BIGINT NOT NULL, stPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (stPk, stDestination)) CREATE OR REPLACE FUNCTION ch_upd_272_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (272, NEW.sTermsUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_272_trig AFTER UPDATE OR INSERT ON SiteTerms FOR EACH ROW EXECUTE PROCEDURE ch_upd_272_fn(); CREATE OR REPLACE FUNCTION ch_del_272_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (272, OLD.sTermsUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_272_trig AFTER DELETE ON SiteTerms FOR EACH ROW EXECUTE PROCEDURE ch_del_272_fn(); CREATE OR REPLACE FUNCTION siteterms_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO SiteTerms(sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct) VALUES (NEW.sTermsUid, NEW.termsHtml, NEW.sTermsLang, NEW.sTermsLangUid, NEW.sTermsActive, NEW.sTermsLastChangedBy, NEW.sTermsPrimaryCsn, NEW.sTermsLocalCsn, NEW.sTermsLct) ON CONFLICT (sTermsUid) DO UPDATE SET termsHtml = EXCLUDED.termsHtml, sTermsLang = EXCLUDED.sTermsLang, sTermsLangUid = EXCLUDED.sTermsLangUid, sTermsActive = EXCLUDED.sTermsActive, sTermsLastChangedBy = EXCLUDED.sTermsLastChangedBy, sTermsPrimaryCsn = EXCLUDED.sTermsPrimaryCsn, sTermsLocalCsn = EXCLUDED.sTermsLocalCsn, sTermsLct = EXCLUDED.sTermsLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER siteterms_remote_insert_trig INSTEAD OF INSERT ON SiteTerms_ReceiveView FOR EACH ROW EXECUTE PROCEDURE siteterms_remote_insert_fn() CREATE TABLE IF NOT EXISTS ClazzContentJoinReplicate ( ccjPk BIGINT NOT NULL, ccjVersionId BIGINT NOT NULL DEFAULT 0, ccjDestination BIGINT NOT NULL, ccjPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (ccjPk, ccjDestination)) CREATE OR REPLACE FUNCTION ch_upd_134_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (134, NEW.ccjUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_134_trig AFTER UPDATE OR INSERT ON ClazzContentJoin FOR EACH ROW EXECUTE PROCEDURE ch_upd_134_fn(); CREATE OR REPLACE FUNCTION ch_del_134_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (134, OLD.ccjUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_134_trig AFTER DELETE ON ClazzContentJoin FOR EACH ROW EXECUTE PROCEDURE ch_del_134_fn(); CREATE OR REPLACE FUNCTION clazzcontentjoin_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ClazzContentJoin(ccjUid, ccjContentEntryUid, ccjClazzUid, ccjActive, ccjLocalChangeSeqNum, ccjMasterChangeSeqNum, ccjLastChangedBy, ccjLct) VALUES (NEW.ccjUid, NEW.ccjContentEntryUid, NEW.ccjClazzUid, NEW.ccjActive, NEW.ccjLocalChangeSeqNum, NEW.ccjMasterChangeSeqNum, NEW.ccjLastChangedBy, NEW.ccjLct) ON CONFLICT (ccjUid) DO UPDATE SET ccjContentEntryUid = EXCLUDED.ccjContentEntryUid, ccjClazzUid = EXCLUDED.ccjClazzUid, ccjActive = EXCLUDED.ccjActive, ccjLocalChangeSeqNum = EXCLUDED.ccjLocalChangeSeqNum, ccjMasterChangeSeqNum = EXCLUDED.ccjMasterChangeSeqNum, ccjLastChangedBy = EXCLUDED.ccjLastChangedBy, ccjLct = EXCLUDED.ccjLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER clazzcontentjoin_remote_insert_trig INSTEAD OF INSERT ON ClazzContentJoin_ReceiveView FOR EACH ROW EXECUTE PROCEDURE clazzcontentjoin_remote_insert_fn() CREATE TABLE IF NOT EXISTS PersonParentJoinReplicate ( ppjPk BIGINT NOT NULL, ppjVersionId BIGINT NOT NULL DEFAULT 0, ppjDestination BIGINT NOT NULL, ppjPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (ppjPk, ppjDestination)) CREATE OR REPLACE FUNCTION ch_upd_512_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (512, NEW.ppjUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_512_trig AFTER UPDATE OR INSERT ON PersonParentJoin FOR EACH ROW EXECUTE PROCEDURE ch_upd_512_fn(); CREATE OR REPLACE FUNCTION ch_del_512_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (512, OLD.ppjUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_512_trig AFTER DELETE ON PersonParentJoin FOR EACH ROW EXECUTE PROCEDURE ch_del_512_fn(); CREATE OR REPLACE FUNCTION personparentjoin_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO PersonParentJoin(ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) VALUES (NEW.ppjUid, NEW.ppjPcsn, NEW.ppjLcsn, NEW.ppjLcb, NEW.ppjLct, NEW.ppjParentPersonUid, NEW.ppjMinorPersonUid, NEW.ppjRelationship, NEW.ppjEmail, NEW.ppjPhone, NEW.ppjInactive, NEW.ppjStatus, NEW.ppjApprovalTiemstamp, NEW.ppjApprovalIpAddr) ON CONFLICT (ppjUid) DO UPDATE SET ppjPcsn = EXCLUDED.ppjPcsn, ppjLcsn = EXCLUDED.ppjLcsn, ppjLcb = EXCLUDED.ppjLcb, ppjLct = EXCLUDED.ppjLct, ppjParentPersonUid = EXCLUDED.ppjParentPersonUid, ppjMinorPersonUid = EXCLUDED.ppjMinorPersonUid, ppjRelationship = EXCLUDED.ppjRelationship, ppjEmail = EXCLUDED.ppjEmail, ppjPhone = EXCLUDED.ppjPhone, ppjInactive = EXCLUDED.ppjInactive, ppjStatus = EXCLUDED.ppjStatus, ppjApprovalTiemstamp = EXCLUDED.ppjApprovalTiemstamp, ppjApprovalIpAddr = EXCLUDED.ppjApprovalIpAddr ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER personparentjoin_remote_insert_trig INSTEAD OF INSERT ON PersonParentJoin_ReceiveView FOR EACH ROW EXECUTE PROCEDURE personparentjoin_remote_insert_fn() CREATE TABLE IF NOT EXISTS ScopedGrantReplicate ( sgPk BIGINT NOT NULL, sgVersionId BIGINT NOT NULL DEFAULT 0, sgDestination BIGINT NOT NULL, sgPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (sgPk, sgDestination)) CREATE OR REPLACE FUNCTION ch_upd_48_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (48, NEW.sgUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_48_trig AFTER UPDATE OR INSERT ON ScopedGrant FOR EACH ROW EXECUTE PROCEDURE ch_upd_48_fn(); CREATE OR REPLACE FUNCTION ch_del_48_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (48, OLD.sgUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_48_trig AFTER DELETE ON ScopedGrant FOR EACH ROW EXECUTE PROCEDURE ch_del_48_fn(); CREATE OR REPLACE FUNCTION sg_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ScopedGrant(sgUid, sgPcsn, sgLcsn, sgLcb, sgLct, sgTableId, sgEntityUid, sgPermissions, sgGroupUid, sgIndex, sgFlags) VALUES (NEW.sgUid, NEW.sgPcsn, NEW.sgLcsn, NEW.sgLcb, NEW.sgLct, NEW.sgTableId, NEW.sgEntityUid, NEW.sgPermissions, NEW.sgGroupUid, NEW.sgIndex, NEW.sgFlags) ON CONFLICT(sgUid) DO UPDATE SET sgLct = EXCLUDED.sgLct, sgPermissions = EXCLUDED.sgPermissions ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER sg_remote_insert_trig INSTEAD OF INSERT ON ScopedGrant_ReceiveView FOR EACH ROW EXECUTE PROCEDURE sg_remote_insert_fn() CREATE TABLE IF NOT EXISTS ErrorReportReplicate ( erPk BIGINT NOT NULL, erVersionId BIGINT NOT NULL DEFAULT 0, erDestination BIGINT NOT NULL, erPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (erPk, erDestination)) CREATE OR REPLACE FUNCTION ch_upd_419_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (419, NEW.errUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_419_trig AFTER UPDATE OR INSERT ON ErrorReport FOR EACH ROW EXECUTE PROCEDURE ch_upd_419_fn(); CREATE OR REPLACE FUNCTION ch_del_419_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (419, OLD.errUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_419_trig AFTER DELETE ON ErrorReport FOR EACH ROW EXECUTE PROCEDURE ch_del_419_fn(); CREATE OR REPLACE FUNCTION errorreport_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ErrorReport(errUid, errPcsn, errLcsn, errLcb, errLct, severity, timestamp, presenterUri, appVersion, versionCode, errorCode, operatingSys, osVersion, stackTrace, message) VALUES (NEW.errUid, NEW.errPcsn, NEW.errLcsn, NEW.errLcb, NEW.errLct, NEW.severity, NEW.timestamp, NEW.presenterUri, NEW.appVersion, NEW.versionCode, NEW.errorCode, NEW.operatingSys, NEW.osVersion, NEW.stackTrace, NEW.message) ON CONFLICT (errUid) DO UPDATE SET errPcsn = EXCLUDED.errPcsn, errLcsn = EXCLUDED.errLcsn, errLcb = EXCLUDED.errLcb, errLct = EXCLUDED.errLct, severity = EXCLUDED.severity, timestamp = EXCLUDED.timestamp, presenterUri = EXCLUDED.presenterUri, appVersion = EXCLUDED.appVersion, versionCode = EXCLUDED.versionCode, errorCode = EXCLUDED.errorCode, operatingSys = EXCLUDED.operatingSys, osVersion = EXCLUDED.osVersion, stackTrace = EXCLUDED.stackTrace, message = EXCLUDED.message ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER errorreport_remote_insert_trig INSTEAD OF INSERT ON ErrorReport_ReceiveView FOR EACH ROW EXECUTE PROCEDURE errorreport_remote_insert_fn() CREATE TABLE IF NOT EXISTS ClazzAssignmentReplicate ( caPk BIGINT NOT NULL, caVersionId BIGINT NOT NULL DEFAULT 0, caDestination BIGINT NOT NULL, caPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (caPk, caDestination)) CREATE OR REPLACE FUNCTION ch_upd_520_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (520, NEW.caUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_520_trig AFTER UPDATE OR INSERT ON ClazzAssignment FOR EACH ROW EXECUTE PROCEDURE ch_upd_520_fn(); CREATE OR REPLACE FUNCTION ch_del_520_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (520, OLD.caUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_520_trig AFTER DELETE ON ClazzAssignment FOR EACH ROW EXECUTE PROCEDURE ch_del_520_fn(); CREATE OR REPLACE FUNCTION clazzassignment_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ClazzAssignment(caUid, caTitle, caDescription, caDeadlineDate, caStartDate, caLateSubmissionType, caLateSubmissionPenalty, caGracePeriodDate, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caClazzUid, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) VALUES (NEW.caUid, NEW.caTitle, NEW.caDescription, NEW.caDeadlineDate, NEW.caStartDate, NEW.caLateSubmissionType, NEW.caLateSubmissionPenalty, NEW.caGracePeriodDate, NEW.caActive, NEW.caClassCommentEnabled, NEW.caPrivateCommentsEnabled, NEW.caClazzUid, NEW.caLocalChangeSeqNum, NEW.caMasterChangeSeqNum, NEW.caLastChangedBy, NEW.caLct) ON CONFLICT (caUid) DO UPDATE SET caTitle = EXCLUDED.caTitle, caDescription = EXCLUDED.caDescription, caDeadlineDate = EXCLUDED.caDeadlineDate, caStartDate = EXCLUDED.caStartDate, caLateSubmissionType = EXCLUDED.caLateSubmissionType, caLateSubmissionPenalty = EXCLUDED.caLateSubmissionPenalty, caGracePeriodDate = EXCLUDED.caGracePeriodDate, caActive = EXCLUDED.caActive, caClassCommentEnabled = EXCLUDED.caClassCommentEnabled, caPrivateCommentsEnabled = EXCLUDED.caPrivateCommentsEnabled, caClazzUid = EXCLUDED.caClazzUid, caLocalChangeSeqNum = EXCLUDED.caLocalChangeSeqNum, caMasterChangeSeqNum = EXCLUDED.caMasterChangeSeqNum, caLastChangedBy = EXCLUDED.caLastChangedBy, caLct = EXCLUDED.caLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER clazzassignment_remote_insert_trig INSTEAD OF INSERT ON ClazzAssignment_ReceiveView FOR EACH ROW EXECUTE PROCEDURE clazzassignment_remote_insert_fn() CREATE TABLE IF NOT EXISTS ClazzAssignmentContentJoinReplicate ( cacjPk BIGINT NOT NULL, cacjVersionId BIGINT NOT NULL DEFAULT 0, cacjDestination BIGINT NOT NULL, cacjPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (cacjPk, cacjDestination)) CREATE OR REPLACE FUNCTION ch_upd_521_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (521, NEW.cacjUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_521_trig AFTER UPDATE OR INSERT ON ClazzAssignmentContentJoin FOR EACH ROW EXECUTE PROCEDURE ch_upd_521_fn(); CREATE OR REPLACE FUNCTION ch_del_521_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (521, OLD.cacjUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_521_trig AFTER DELETE ON ClazzAssignmentContentJoin FOR EACH ROW EXECUTE PROCEDURE ch_del_521_fn(); CREATE OR REPLACE FUNCTION clazzassignmentcontentjoin_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ClazzAssignmentContentJoin(cacjUid, cacjContentUid, cacjAssignmentUid, cacjActive, cacjMCSN, cacjLCSN, cacjLCB, cacjLct) VALUES (NEW.cacjUid, NEW.cacjContentUid, NEW.cacjAssignmentUid, NEW.cacjActive, NEW.cacjMCSN, NEW.cacjLCSN, NEW.cacjLCB, NEW.cacjLct) ON CONFLICT (cacjUid) DO UPDATE SET cacjContentUid = EXCLUDED.cacjContentUid, cacjAssignmentUid = EXCLUDED.cacjAssignmentUid, cacjActive = EXCLUDED.cacjActive, cacjMCSN = EXCLUDED.cacjMCSN, cacjLCSN = EXCLUDED.cacjLCSN, cacjLCB = EXCLUDED.cacjLCB, cacjLct = EXCLUDED.cacjLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER clazzassignmentcontentjoin_remote_insert_trig INSTEAD OF INSERT ON ClazzAssignmentContentJoin_ReceiveView FOR EACH ROW EXECUTE PROCEDURE clazzassignmentcontentjoin_remote_insert_fn() CREATE TABLE IF NOT EXISTS PersonAuth2Replicate ( paPk BIGINT NOT NULL, paVersionId BIGINT NOT NULL DEFAULT 0, paDestination BIGINT NOT NULL, paPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (paPk, paDestination)) CREATE OR REPLACE FUNCTION ch_upd_678_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (678, NEW.pauthUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_678_trig AFTER UPDATE OR INSERT ON PersonAuth2 FOR EACH ROW EXECUTE PROCEDURE ch_upd_678_fn(); CREATE OR REPLACE FUNCTION ch_del_678_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (678, OLD.pauthUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_678_trig AFTER DELETE ON PersonAuth2 FOR EACH ROW EXECUTE PROCEDURE ch_del_678_fn(); CREATE OR REPLACE FUNCTION personauth2_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO PersonAuth2(pauthUid, pauthMechanism, pauthAuth, pauthLcsn, pauthPcsn, pauthLcb, pauthLct) VALUES (NEW.pauthUid, NEW.pauthMechanism, NEW.pauthAuth, NEW.pauthLcsn, NEW.pauthPcsn, NEW.pauthLcb, NEW.pauthLct) ON CONFLICT (pauthUid) DO UPDATE SET pauthMechanism = EXCLUDED.pauthMechanism, pauthAuth = EXCLUDED.pauthAuth, pauthLcsn = EXCLUDED.pauthLcsn, pauthPcsn = EXCLUDED.pauthPcsn, pauthLcb = EXCLUDED.pauthLcb, pauthLct = EXCLUDED.pauthLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER personauth2_remote_insert_trig INSTEAD OF INSERT ON PersonAuth2_ReceiveView FOR EACH ROW EXECUTE PROCEDURE personauth2_remote_insert_fn() CREATE TABLE IF NOT EXISTS UserSessionReplicate ( usPk BIGINT NOT NULL, usVersionId BIGINT NOT NULL DEFAULT 0, usDestination BIGINT NOT NULL, usPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (usPk, usDestination)) CREATE OR REPLACE FUNCTION ch_upd_679_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (679, NEW.usUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END CREATE TRIGGER ch_upd_679_trig AFTER UPDATE OR INSERT ON UserSession FOR EACH ROW EXECUTE PROCEDURE ch_upd_679_fn(); CREATE OR REPLACE FUNCTION ch_del_679_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (679, OLD.usUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_679_trig AFTER DELETE ON UserSession FOR EACH ROW EXECUTE PROCEDURE ch_del_679_fn(); CREATE OR REPLACE FUNCTION usersession_remote_ins_fn() RETURNS TRIGGER AS BEGIN INSERT INTO UserSession(usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType) VALUES (NEW.usUid, NEW.usPcsn, NEW.usLcsn, NEW.usLcb, NEW.usLct, NEW.usPersonUid, NEW.usClientNodeId, NEW.usStartTime, NEW.usEndTime, NEW.usStatus, NEW.usReason, NEW.usAuth, NEW.usSessionType) /*postgres ON CONFLICT (usUid) DO UPDATE SET usStatus = EXCLUDED.usStatus, usEndTime = EXCLUDED.usEndTime, usReason = EXCLUDED.usReason */ ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END CREATE TRIGGER usersession_remote_ins_trig INSTEAD OF INSERT ON UserSession_ReceiveView FOR EACH ROW EXECUTE PROCEDURE usersession_remote_ins_fn() execSqlBatchArraytoTypedArray      comustadmobilecoredbMIGRATE_USERNAME_CLIENTDEFINEDPROPERTY_BACKING_FIELDdoormigrationDoorMigrationStatementListkotlinIntFunction1DoorSqlDatabasecollectionsListStringLOCAL_FUNCTION_FOR_LAMBDAUNDERSCORE_PARAMETERNothingemptyListLAMBDADEFAULT_PROPERTY_ACCESSOR    comustadmobilecoredbdaoBaseDaoDEFINEDinsertandroidxroomInsertkotlinLongentityinsertAsyncjsJsNameStringinsertListUnitentityListcollectionsListupdateUpdateTAnyINSTANCE_RECEIVER comustadmobilecoredbdao comustadmobilecoredbdao2 G+M8 >%+5 ";"> D*0#)` comustadmobilecoredbdaoClazzAssignmentDaoCommonDEFINEDkotlinUnitAnySELECT_PERSONUID_IF_ENROLLED_ELSE_0_FOR_PERSONUID_AND_ASSIGNMENTUID_SQLPROPERTY_BACKING_FIELDString SELECT COALESCE( (SELECT ClazzEnrolment.clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment.clazzEnrolmentRole = 1000 AND ClazzEnrolment.clazzEnrolmentClazzUid = (SELECT ClazzAssignment.caClazzUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid) LIMIT 1), 0) DEFAULT_PROPERTY_ACCESSORNothingSELECT_SUBMITTER_UID_FOR_PERSONUID_AND_ASSIGNMENTUID_SQL SELECT CASE -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero WHEN (SELECT caGroupUid FROM ClazzAssignment WHERE caUid = :assignmentUid) = 0 THEN ( SELECT COALESCE( (SELECT ClazzEnrolment.clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment.clazzEnrolmentRole = 1000 AND ClazzEnrolment.clazzEnrolmentClazzUid = (SELECT ClazzAssignment.caClazzUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid) LIMIT 1), 0) ) -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero WHEN (SELECT caGroupUid FROM ClazzAssignment WHERE caUid = :assignmentUid) != 0 AND ( SELECT COALESCE( (SELECT ClazzEnrolment.clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment.clazzEnrolmentRole = 1000 AND ClazzEnrolment.clazzEnrolmentClazzUid = (SELECT ClazzAssignment.caClazzUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid) LIMIT 1), 0) ) = 0 THEN 0 -- When assignment is by groups and the person is an enrolled student the submitter uid is the -- group that they are assigned to. If they are not assigned to a group but are enrolled -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP ELSE COALESCE( (SELECT CourseGroupMember.cgmGroupNumber FROM CourseGroupMember WHERE ( SELECT COALESCE( (SELECT ClazzEnrolment.clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment.clazzEnrolmentRole = 1000 AND ClazzEnrolment.clazzEnrolmentClazzUid = (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 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 ) HAS_LEARNINGRECORD_AND_MEMBER_VIEW_PERMISSION_CTE_SQL HasLearningRecordSelectPermission (hasPermission) AS (SELECT ( ( /* If the accountPersonUid is the owner of the course, all permissions are granted */ (COALESCE( (SELECT _Clazz_Permission.clazzOwnerPersonUid FROM Clazz _Clazz_Permission WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid) /* If there is a CoursePermission entity that is for the course as per the clazzUid parameter that is granted to the person directly or to the enrolmentRole that the person has in the course, then permission is granted. */ OR EXISTS(SELECT CoursePermission.cpUid FROM CoursePermission LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson ON CoursePermission.cpToEnrolmentRole != 0 AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = (SELECT COALESCE( (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC LIMIT 1), 0)) WHERE CoursePermission.cpClazzUid = :clazzUid AND (CoursePermission.cpToPersonUid = :accountPersonUid OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) AND (CoursePermission.cpPermissionsFlag & 128 ) > 0) OR EXISTS(SELECT SystemPermission.spUid FROM SystemPermission WHERE SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & 128 ) > 0) ) )) ASSIGNMENT_CLAZZ_UID_CTE_SQL AssignmentClazzUid(clazzUid) AS (SELECT ClazzAssignment.caClazzUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid) SELECT_SUBMITTER_UID_FOR_ACCOUNT_PERSON_UID_AND_ASSIGNMENT_CTE AccountSubmitterUid(accountSubmitterUid) AS ( SELECT CASE -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero WHEN (SELECT caGroupUid FROM ClazzAssignment WHERE caUid = :assignmentUid) = 0 THEN ( SELECT COALESCE( (SELECT ClazzEnrolment.clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment.clazzEnrolmentRole = 1000 AND ClazzEnrolment.clazzEnrolmentClazzUid = (SELECT ClazzAssignment.caClazzUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid) LIMIT 1), 0) ) -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero WHEN (SELECT caGroupUid FROM ClazzAssignment WHERE caUid = :assignmentUid) != 0 AND ( SELECT COALESCE( (SELECT ClazzEnrolment.clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment.clazzEnrolmentRole = 1000 AND ClazzEnrolment.clazzEnrolmentClazzUid = (SELECT ClazzAssignment.caClazzUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid) LIMIT 1), 0) ) = 0 THEN 0 -- When assignment is by groups and the person is an enrolled student the submitter uid is the -- group that they are assigned to. If they are not assigned to a group but are enrolled -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP ELSE COALESCE( (SELECT CourseGroupMember.cgmGroupNumber FROM CourseGroupMember WHERE ( SELECT COALESCE( (SELECT ClazzEnrolment.clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment.clazzEnrolmentRole = 1000 AND ClazzEnrolment.clazzEnrolmentClazzUid = (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 ) SELECT_GROUPSET_UID_FOR_ASSIGNMENT_UID_SQL SELECT ClazzAssignment.caGroupUid FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid SELECT_ASSIGNMENT_IS_PEERMARKED_SQL ((SELECT ClazzAssignment.caMarkingType FROM ClazzAssignment WHERE ClazzAssignment.caUid = :assignmentUid) = 2) 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) )) ) ) SORT_NAME_ASCIntSORT_NAME_DESCINSTANCE_RECEIVER     comustadmobilecoredbdaodeactivateByUidsDEFINEDkotlinUnitClazzAssignmentDaouidListcollectionsListLongchangeTimeforEachFunction1LOCAL_FUNCTION_FOR_LAMBDAitupdateActiveByUidBooleanLAMBDA comustadmobilecoredbdao" <comustadmobilecoredbdaoClazzDaoCommonDEFINEDkotlinUnitAnySORT_CLAZZNAME_ASCPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingSORT_CLAZZNAME_DESCSORT_ATTENDANCE_ASCSORT_ATTENDANCE_DESCFILTER_CURRENTLY_ENROLLEDFILTER_PAST_ENROLLMENTSSELECT_ACTIVE_CLAZZESStringSELECT * FROM Clazz WHERE CAST(isClazzActive AS INTEGER) = 1INSTANCE_RECEIVER comustadmobilecoredbdao7 #) &)/197 )R/comustadmobilecoredbdaoClazzEnrolmentDaoCommonDEFINEDkotlinUnitAnySORT_FIRST_NAME_ASCPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingSORT_FIRST_NAME_DESCSORT_LAST_NAME_ASCSORT_LAST_NAME_DESCSORT_DATE_REGISTERED_ASCSORT_DATE_REGISTERED_DESCSORT_DATE_LEFT_ASCSORT_DATE_LEFT_DESCFILTER_ACTIVE_ONLYWITH_CURRENTLY_ENROLED_STUDENTS_SQLString WITH CurrentlyEnrolledPersonUids(enroledPersonUid) AS (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS enroledPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid AND ClazzEnrolment.clazzEnrolmentRole = 1000 AND :time BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) SELECT_ENROLMENT_TYPE_BY_UID_SQL SELECT ClazzEnrolment.clazzEnrolmentRole FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentUid = :clazzEnrolmentUid PERMISSION_REQUIRED_BY_CLAZZENROLMENT_UID CASE ( SELECT ClazzEnrolment.clazzEnrolmentRole FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentUid = :clazzEnrolmentUid ) WHEN 1000 THEN 8 ELSE 8 END SELECT_ACCOUNT_PERSON_UID_IS_STUDENT_IN_CLAZZ_UID (SELECT EXISTS( SELECT 1 FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid AND ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment.clazzEnrolmentRole = 1000)) SELECT_BY_UID_AND_ROLE_SQL SELECT * FROM (SELECT Person.*, PersonPicture.*, (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) FROM ClazzEnrolment WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) FROM ClazzEnrolment WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, (SELECT ClazzEnrolment.clazzEnrolmentRole FROM ClazzEnrolment WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid AND ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid AND ClazzEnrolment.clazzEnrolmentActive ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC LIMIT 1) AS enrolmentRole FROM Person LEFT JOIN PersonPicture ON PersonPicture.personPictureUid = Person.personUid WHERE Person.personUid IN (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid AND ClazzEnrolment.clazzEnrolmentActive AND ClazzEnrolment.clazzEnrolmentRole = :roleId AND (:filter != 1 OR (:currentTime BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft))) /* Begin permission check */ AND ( ( ( /* If the accountPersonUid is the owner of the course, all permissions are granted */ (COALESCE( (SELECT _Clazz_Permission.clazzOwnerPersonUid FROM Clazz _Clazz_Permission WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid) /* If there is a CoursePermission entity that is for the course as per the clazzUid parameter that is granted to the person directly or to the enrolmentRole that the person has in the course, then permission is granted. */ OR EXISTS(SELECT CoursePermission.cpUid FROM CoursePermission LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson ON CoursePermission.cpToEnrolmentRole != 0 AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = (SELECT COALESCE( (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC LIMIT 1), 0)) WHERE CoursePermission.cpClazzUid = :clazzUid AND (CoursePermission.cpToPersonUid = :accountPersonUid OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) AND (CoursePermission.cpPermissionsFlag & :permission ) > 0) OR EXISTS(SELECT SystemPermission.spUid FROM SystemPermission WHERE SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & :permission ) > 0) ) ) OR Person.personUid = :accountPersonUid ) /* End permission check */ AND Person.firstNames || ' ' || Person.lastName LIKE :searchText GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember ORDER BY CASE(:sortOrder) WHEN 1 THEN CourseMember.firstNames WHEN 3 THEN CourseMember.lastName ELSE '' END ASC, CASE(:sortOrder) WHEN 2 THEN CourseMember.firstNames WHEN 4 THEN CourseMember.lastName ELSE '' END DESC, CASE(:sortOrder) WHEN 7 THEN CourseMember.earliestJoinDate WHEN 9 THEN CourseMember.latestDateLeft ELSE 0 END ASC, CASE(:sortOrder) WHEN 8 THEN CourseMember.earliestJoinDate WHEN 10 THEN CourseMember.latestDateLeft ELSE 0 END DESC PERSON_UIDS_FOR_PAGED_GRADEBOOK_QUERY_CTE PersonUids(personUid) AS ( SELECT CourseMember.personUid FROM (SELECT Person.*, (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) FROM ClazzEnrolment WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) FROM ClazzEnrolment WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, (SELECT ClazzEnrolment.clazzEnrolmentRole FROM ClazzEnrolment WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid AND ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid AND ClazzEnrolment.clazzEnrolmentActive ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC LIMIT 1) AS enrolmentRole FROM Person WHERE Person.personUid IN (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid AND ClazzEnrolment.clazzEnrolmentActive AND ClazzEnrolment.clazzEnrolmentRole = :roleId AND (:filter != 1 OR (:currentTime BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft))) /* Begin permission check */ AND ( (( /* If the accountPersonUid is the owner of the course, all permissions are granted */ (COALESCE( (SELECT _Clazz_Permission.clazzOwnerPersonUid FROM Clazz _Clazz_Permission WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid) /* If there is a CoursePermission entity that is for the course as per the clazzUid parameter that is granted to the person directly or to the enrolmentRole that the person has in the course, then permission is granted. */ OR EXISTS(SELECT CoursePermission.cpUid FROM CoursePermission LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson ON CoursePermission.cpToEnrolmentRole != 0 AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = (SELECT COALESCE( (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC LIMIT 1), 0)) WHERE CoursePermission.cpClazzUid = :clazzUid AND (CoursePermission.cpToPersonUid = :accountPersonUid OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) AND (CoursePermission.cpPermissionsFlag & 128 ) > 0) OR EXISTS(SELECT SystemPermission.spUid FROM SystemPermission WHERE SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & 128 ) > 0) ) ) OR Person.personUid = :accountPersonUid ) /* End permission check */ AND Person.firstNames || ' ' || Person.lastName LIKE :searchText GROUP BY Person.personUid) AS CourseMember ORDER BY CASE(:sortOrder) WHEN 1 THEN CourseMember.firstNames WHEN 3 THEN CourseMember.lastName ELSE '' END ASC, CASE(:sortOrder) WHEN 2 THEN CourseMember.firstNames WHEN 4 THEN CourseMember.lastName ELSE '' END DESC, CASE(:sortOrder) WHEN 7 THEN CourseMember.earliestJoinDate WHEN 9 THEN CourseMember.latestDateLeft ELSE 0 END ASC, CASE(:sortOrder) WHEN 8 THEN CourseMember.earliestJoinDate WHEN 10 THEN CourseMember.latestDateLeft ELSE 0 END DESC LIMIT :studentsLimit OFFSET :studentsOffset ) INSTANCE_RECEIVER     comustadmobilecoredbdaoupdateDateLeftDEFINEDkotlinUnitClazzEnrolmentDaoclazzEnrolmentUidListcollectionsListLongendDateupdateTimedoorutilsystemTimeInMillisforEachFunction1LOCAL_FUNCTION_FOR_LAMBDAitupdateDateLeftByUidLAMBDA comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao & H,' -comustadmobilecoredbdaoContentEntryDaoCommonDEFINEDkotlinUnitAnySORT_TITLE_ASCPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingSORT_TITLE_DESCSELECT_STATUS_FIELDS_FOR_CONTENT_ENTRYString (SELECT MAX(StatementEntity.extensionProgress) FROM StatementEntity WHERE (SELECT includeResults FROM IncludeResults) = 1 AND StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 ) AS sProgress, (SELECT CASE -- If a successful completion statement exists, then count as success WHEN (SELECT EXISTS( SELECT 1 FROM StatementEntity WHERE (SELECT includeResults FROM IncludeResults) = 1 AND StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid AND ( CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 ))) THEN 1 -- Else if no success record exists, however a fail record exists, mark as failed WHEN (SELECT EXISTS( SELECT 1 FROM StatementEntity WHERE (SELECT includeResults FROM IncludeResults) = 1 AND StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid AND ( CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 ))) THEN 0 ELSE NULL END ) AS sIsSuccess, (SELECT EXISTS( SELECT 1 FROM StatementEntity WHERE (SELECT includeResults FROM IncludeResults) = 1 AND StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) ) AS sIsCompleted, (SELECT MAX(StatementEntity.resultScoreScaled) FROM StatementEntity WHERE (SELECT includeResults FROM IncludeResults) = 1 AND StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid ) AS sScoreScaled SELECT_ACCOUNT_PERSON_AND_STATUS_FIELDS :accountPersonUid AS sPersonUid, 0 AS sCbUid, (SELECT MAX(StatementEntity.extensionProgress) FROM StatementEntity WHERE (SELECT includeResults FROM IncludeResults) = 1 AND StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 ) AS sProgress, (SELECT CASE -- If a successful completion statement exists, then count as success WHEN (SELECT EXISTS( SELECT 1 FROM StatementEntity WHERE (SELECT includeResults FROM IncludeResults) = 1 AND StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid AND ( CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 ))) THEN 1 -- Else if no success record exists, however a fail record exists, mark as failed WHEN (SELECT EXISTS( SELECT 1 FROM StatementEntity WHERE (SELECT includeResults FROM IncludeResults) = 1 AND StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid AND ( CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 ))) THEN 0 ELSE NULL END ) AS sIsSuccess, (SELECT EXISTS( SELECT 1 FROM StatementEntity WHERE (SELECT includeResults FROM IncludeResults) = 1 AND StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1) ) AS sIsCompleted, (SELECT MAX(StatementEntity.resultScoreScaled) FROM StatementEntity WHERE (SELECT includeResults FROM IncludeResults) = 1 AND StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid ) AS sScoreScaled INSTANCE_RECEIVER comustadmobilecoredbdao *P0comustadmobilecoredbdaoContentEntryImportJobDaoCommonDEFINEDkotlinUnitAnyFIND_IN_PROGRESS_JOBS_BY_CONTENT_ENTRY_UIDPROPERTY_BACKING_FIELDString SELECT ContentEntryImportJob.cjiUid, ContentEntryImportJob.cjiItemProgress, ContentEntryImportJob.cjiItemTotal, ContentEntryImportJob.cjiStatus, ContentEntryImportJob.cjiError, ContentEntryImportJob.cjiOwnerPersonUid FROM ContentEntryImportJob WHERE ContentEntryImportJob.cjiContentEntryUid = :contentEntryUid AND ( ContentEntryImportJob.cjiStatus BETWEEN 4 AND 20 OR (ContentEntryImportJob.cjiStatus = 25 AND NOT ContentEntryImportJob.cjiErrorDismissed)) DEFAULT_PROPERTY_ACCESSORNothingINSTANCE_RECEIVER comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdaoCourseAssignmentMarkDaoCommonDEFINEDkotlinUnitAnyARG_FILTER_RECENT_SCORESPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingARG_FILTER_ALL_SCORESINSTANCE_RECEIVER comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao !comustadmobilecoredbdaoCourseBlockDaoCommonDEFINEDkotlinUnitAnySUBMITTER_LIST_IN_CLAZZ_CTEPROPERTY_BACKING_FIELDString SubmitterList (submitterId, assignmentUid) AS (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, ClazzAssignment.caUid AS assignmentUid FROM ClazzEnrolment JOIN Person ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid JOIN ClazzAssignment ON ClazzAssignment.caClazzUid = :clazzUid JOIN CourseBlock ON CourseBlock.cbEntityUid = ClazzAssignment.caUid AND CourseBlock.cbType = 103 WHERE ClazzAssignment.caGroupUid = 0 AND clazzEnrolmentClazzUid = :clazzUid AND clazzEnrolmentActive AND clazzEnrolmentRole = 1000 AND CourseBlock.cbGracePeriodDate <= ClazzEnrolment.clazzEnrolmentDateLeft AND ClazzEnrolment.clazzEnrolmentDateJoined <= CourseBlock.cbGracePeriodDate GROUP BY submitterId, assignmentUid UNION SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId, ClazzAssignment.caUid AS assignmentUid FROM CourseGroupMember JOIN ClazzAssignment ON ClazzAssignment.caClazzUid = :clazzUid WHERE CourseGroupMember.cgmSetUid = ClazzAssignment.caGroupUid AND ClazzAssignment.caGroupUid != 0 AND CourseGroupMember.cgmGroupNumber != 0 GROUP BY submitterId, assignmentUid ) DEFAULT_PROPERTY_ACCESSORNothingINSTANCE_RECEIVER     comustadmobilecoredbdaodeactivateByUidsDEFINEDkotlinUnitCourseBlockDaouidListcollectionsListLongchangeTimeforEachFunction1LOCAL_FUNCTION_FOR_LAMBDAitupdateActiveByUidBooleanLAMBDA comustadmobilecoredbdao comustadmobilecoredbdao :G@$*comustadmobilecoredbdaoCourseGroupMemberDaoCommonDEFINEDkotlinUnitAnyCASE_CLAZZ_UID_WHEN_NOT_ZERO_USEIT_ELSE_LOOKUP_CGS_UID_SQLPROPERTY_BACKING_FIELDString CASE(:clazzUid) WHEN 0 THEN (SELECT CourseGroupSet.cgsClazzUid FROM CourseGroupSet WHERE CourseGroupSet.cgsUid = :cgsUid) ELSE :clazzUid END DEFAULT_PROPERTY_ACCESSORNothingFIND_BY_COURSEGROUPSET_AND_CLAZZ_SQL --First get a list of all enrolments - this may contains duplicates for students who leave and re-enrol WITH AllEnrollmentsAndActiveStatus(enrolledPersonUid, isActive) AS (SELECT ClazzEnrolment.clazzEnrolmentPersonUid AS enrolledPersonUid, (:time BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft) AS isActive FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentClazzUid = CASE(:clazzUid) WHEN 0 THEN (SELECT CourseGroupSet.cgsClazzUid FROM CourseGroupSet WHERE CourseGroupSet.cgsUid = :cgsUid) ELSE :clazzUid END AND ClazzEnrolment.clazzEnrolmentRole = 1000), --Consolidate and removes any duplicates EnrolledStudentPersonUids(enrolledPersonUid, isActive) AS (SELECT DISTINCT AllEnrollmentsAndActiveStatus.enrolledPersonUid, (SELECT CAST(AllEnrollmentsInner.isActive AS INTEGER) FROM AllEnrollmentsAndActiveStatus AllEnrollmentsInner WHERE AllEnrollmentsInner.enrolledPersonUid = AllEnrollmentsAndActiveStatus.enrolledPersonUid ORDER BY AllEnrollmentsInner.isActive DESC LIMIT 1) AS isActive FROM AllEnrollmentsAndActiveStatus) -- Now create a list with each students name, the coursegroupmember object if any and active status SELECT (Person.firstNames || ' ' || Person.lastName) AS name, Person.personUid, CourseGroupMember.*, PersonPicture.*, EnrolledStudentPersonUids.isActive AS enrolmentIsActive, PersonPicture.personPictureThumbnailUri AS pictureUri FROM EnrolledStudentPersonUids JOIN Person ON Person.personUid = EnrolledStudentPersonUids.enrolledPersonUid LEFT JOIN PersonPicture ON PersonPicture.personPictureUid = Person.personUid -- LEFT JOIN will use the most recent member in case of duplicate assignments eg if LEFT JOIN CourseGroupMember ON CourseGroupMember.cgmUid = (SELECT CourseGroupMember.cgmUid FROM CourseGroupMember WHERE CourseGroupMember.cgmPersonUid = EnrolledStudentPersonUids.enrolledPersonUid AND CourseGroupMember.cgmSetUid = :cgsUid ORDER BY CourseGroupMember.cgmLct DESC LIMIT 1) WHERE (:activeFilter = 0 OR :activeFilter = EnrolledStudentPersonUids.isActive) /* * Begin permission check - must have course view members permission, or active * user must be in the same group */ AND ( (( /* If the accountPersonUid is the owner of the course, all permissions are granted */ (COALESCE( (SELECT _Clazz_Permission.clazzOwnerPersonUid FROM Clazz _Clazz_Permission WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid) /* If there is a CoursePermission entity that is for the course as per the clazzUid parameter that is granted to the person directly or to the enrolmentRole that the person has in the course, then permission is granted. */ OR EXISTS(SELECT CoursePermission.cpUid FROM CoursePermission LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson ON CoursePermission.cpToEnrolmentRole != 0 AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = (SELECT COALESCE( (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC LIMIT 1), 0)) WHERE CoursePermission.cpClazzUid = :clazzUid AND (CoursePermission.cpToPersonUid = :accountPersonUid OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) AND (CoursePermission.cpPermissionsFlag & 8192 ) > 0) OR EXISTS(SELECT SystemPermission.spUid FROM SystemPermission WHERE SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & 8192 ) > 0) ) ) OR EXISTS( SELECT 1 FROM CourseGroupMember _CourseGroupMemberForActivePerson WHERE _CourseGroupMemberForActivePerson.cgmPersonUid = :accountPersonUid AND _CourseGroupMemberForActivePerson.cgmGroupNumber = CourseGroupMember.cgmGroupNumber) ) ORDER BY Person.firstNames, Person.lastName ASC INSTANCE_RECEIVER comustadmobilecoredbdao  comustadmobilecoredbdaoCourseGroupSetDaoConstantsDEFINEDkotlinUnitAnySORT_NAME_ASCPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingSORT_NAME_DESCINSTANCE_RECEIVER comustadmobilecoredbdao- SYKHQ& ,T LZKQK%QG M$ *:@comustadmobilecoredbdaoCoursePermissionDaoCommonDEFINEDkotlinUnitAnyLEFT_JOIN_ENROLMENT_FOR_ACCOUNT_PERSON_FROM_COURSEPERMISSION_WITH_ACCOUNT_UID_PARAMPROPERTY_BACKING_FIELDString LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson ON CoursePermission.cpToEnrolmentRole != 0 AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = (SELECT COALESCE( (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC LIMIT 1), 0)) DEFAULT_PROPERTY_ACCESSORNothingPERSON_COURSE_PERMISSION_CLAUSE_FOR_ACCOUNT_PERSON_UID_AND_CLAZZUID_SQL_PT1( /* If the accountPersonUid is the owner of the course, all permissions are granted */ (COALESCE( (SELECT _Clazz_Permission.clazzOwnerPersonUid FROM Clazz _Clazz_Permission WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid) /* If there is a CoursePermission entity that is for the course as per the clazzUid parameter that is granted to the person directly or to the enrolmentRole that the person has in the course, then permission is granted. */ OR EXISTS(SELECT CoursePermission.cpUid FROM CoursePermission LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson ON CoursePermission.cpToEnrolmentRole != 0 AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = (SELECT COALESCE( (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC LIMIT 1), 0)) WHERE CoursePermission.cpClazzUid = :clazzUid AND (CoursePermission.cpToPersonUid = :accountPersonUid OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) AND (CoursePermission.cpPermissionsFlag & SELECT_CLAZZ_UID_FOR_ENROLMENT_UID_SQL SELECT COALESCE( (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = :clazzEnrolmentUid), 0) PERSON_COURSE_PERMISSION_CLAUSE_FOR_ACCOUNT_PERSON_UID_AND_CLAZZENROLMENTUID_SQL_PT1( /* If the accountPersonUid is the owner of the course, all permissions are granted */ (COALESCE( (SELECT _Clazz_Permission.clazzOwnerPersonUid FROM Clazz _Clazz_Permission WHERE _Clazz_Permission.clazzUid = ( SELECT COALESCE( (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = :clazzEnrolmentUid), 0) )), 0) = :accountPersonUid) /* If there is a CoursePermission entity that is for the course as per the clazzUid parameter that is granted to the person directly or to the enrolmentRole that the person has in the course, then permission is granted. */ OR EXISTS(SELECT CoursePermission.cpUid FROM CoursePermission LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson ON CoursePermission.cpToEnrolmentRole != 0 AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = (SELECT COALESCE( (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC LIMIT 1), 0)) WHERE CoursePermission.cpClazzUid = ( SELECT COALESCE( (SELECT _ClazzEnrolment_ForClazzUid.clazzEnrolmentClazzUid FROM ClazzEnrolment _ClazzEnrolment_ForClazzUid WHERE _ClazzEnrolment_ForClazzUid.clazzEnrolmentUid = :clazzEnrolmentUid), 0) ) AND (CoursePermission.cpToPersonUid = :accountPersonUid OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) AND (CoursePermission.cpPermissionsFlag & PERSON_COURSE_PERMISSION_CLAUSE_FOR_ACCOUNT_PERSON_UID_AND_CLAZZUID_SQL_PT2 ) > 0) OR EXISTS(SELECT SystemPermission.spUid FROM SystemPermission WHERE SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & PERSON_COURSE_PERMISSION_CLAUSE_FOR_ACCOUNT_PERSON_UID_AND_CLAZZUID_SQL_PT3 ) > 0) ) PERSON_COURSE_PERMISSION_CLAUSE_FOR_ACCOUNT_PERSON_UID_AND_CLAZZUID_SQL ( /* If the accountPersonUid is the owner of the course, all permissions are granted */ (COALESCE( (SELECT _Clazz_Permission.clazzOwnerPersonUid FROM Clazz _Clazz_Permission WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid) /* If there is a CoursePermission entity that is for the course as per the clazzUid parameter that is granted to the person directly or to the enrolmentRole that the person has in the course, then permission is granted. */ OR EXISTS(SELECT CoursePermission.cpUid FROM CoursePermission LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson ON CoursePermission.cpToEnrolmentRole != 0 AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = (SELECT COALESCE( (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC LIMIT 1), 0)) WHERE CoursePermission.cpClazzUid = :clazzUid AND (CoursePermission.cpToPersonUid = :accountPersonUid OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) AND (CoursePermission.cpPermissionsFlag & :permission ) > 0) OR EXISTS(SELECT SystemPermission.spUid FROM SystemPermission WHERE SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & :permission ) > 0) ) PERSON_HAS_PERMISSION_WITH_CLAZZ_SQL SELECT (:clazzUid != 0 AND :accountPersonUid != 0) AND ( ( /* If the accountPersonUid is the owner of the course, all permissions are granted */ (COALESCE( (SELECT _Clazz_Permission.clazzOwnerPersonUid FROM Clazz _Clazz_Permission WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid) /* If there is a CoursePermission entity that is for the course as per the clazzUid parameter that is granted to the person directly or to the enrolmentRole that the person has in the course, then permission is granted. */ OR EXISTS(SELECT CoursePermission.cpUid FROM CoursePermission LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson ON CoursePermission.cpToEnrolmentRole != 0 AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = (SELECT COALESCE( (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC LIMIT 1), 0)) WHERE CoursePermission.cpClazzUid = :clazzUid AND (CoursePermission.cpToPersonUid = :accountPersonUid OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole) AND (CoursePermission.cpPermissionsFlag & :permission ) > 0) OR EXISTS(SELECT SystemPermission.spUid FROM SystemPermission WHERE SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & :permission ) > 0) ) ) SELECT_COURSEPERMISSION_ENTITES_FOR_ACCOUNT_PERSON_UID_SQL /* Get CoursePermissions given to the active user based on their enrolment role*/ SELECT CoursePermission.* FROM ClazzEnrolment ClazzEnrolment_ActiveUser JOIN CoursePermission ON CoursePermission.cpClazzUid = ClazzEnrolment_ActiveUser.clazzEnrolmentClazzUid AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ActiveUser.clazzEnrolmentRole WHERE ClazzEnrolment_ActiveUser.clazzEnrolmentPersonUid = :accountPersonUid UNION /* Get ClazzUids where the active user can view members based a grant directly to them */ SELECT CoursePermission.* FROM CoursePermission WHERE CoursePermission.cpToPersonUid = :accountPersonUid INSTANCE_RECEIVER comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao  comustadmobilecoredbdaoDiscussionTopicDaoCommonDEFINEDkotlinUnitAnySORT_DATE_ASCPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingSORT_DATE_DESCINSTANCE_RECEIVER comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao      comustadmobilecoredbdaodeactivateByUidsDEFINEDkotlinUnitHolidayDaouidListcollectionsListLongchangeTimeforEachFunction1LOCAL_FUNCTION_FOR_LAMBDAitupdateActiveByUidBooleanLAMBDA   comustadmobilecoredbdaoImageDaoDEFINEDupdateUrikotlinUnituidLonguriStringthumbnailUritimeINSTANCE_RECEIVERAny comustadmobilecoredbdao comustadmobilecoredbdaoLanguageDaoCommonDEFINEDkotlinUnitAnySORT_LANGNAME_ASCPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingSORT_LANGNAME_DESCSORT_TWO_LETTER_ASCSORT_TWO_LETTER_DESCSORT_THREE_LETTER_ASCSORT_THREE_LETTER_DESCINSTANCE_RECEIVER'        comustadmobilecoredbdaoinitPreloadedLanguagesDEFINEDkotlinUnitLanguageDaouidsInsertedcollectionsListLongfindByUidListmaplibentitiesLanguageCompanionFIXED_LANGUAGESGET_PROPERTYFunction1LOCAL_FUNCTION_FOR_LAMBDAitNothinglangUidLAMBDAtemplateListToInsertfilterBooleannotNOT_INcontainsreplaceList comustadmobilecoredbdao comustadmobilecoredbdao3           comustadmobilecoredbdaoinitPreloadedLeavingReasonsDEFINEDkotlinUnitLeavingReasonDaouidsInsertedcollectionsListLongfindByUidListtoListCollectionMapvaluesGET_PROPERTYStringlibentitiesLeavingReasonCompanionFIXED_UIDSuidsToInsertfilterFunction1EntryBooleanLOCAL_FUNCTION_FOR_LAMBDAitNothingnotNOT_INcontainsvalueLAMBDAverbListToInsertmapreasonkeyreplaceList comustadmobilecoredbdao comustadmobilecoredbdaoN     "      comustadmobilecoredbdaoOfflineItemPendingTransferJobandroidxroomEntityDEFINEDoiptjIdkotlinIntoiptjOiUidLongoiptjTableIdoiptjEntityUidoiptjUrlStringNothingoiptjTypeUnitAnyPrimaryKeyBooleanPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringOfflineItemPendingTransferJob(oiptjId=, oiptjOiUid=oiptjTableId=oiptjEntityUid=oiptjUrl=oiptjType=)hashCoderesultplustimesEQinternalirEQEQequalsotherEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQINSTANCE_RECEIVER  comustadmobilecoredbdaoOneToManyJoinDaoDEFINEDinsertListAsyncandroidxroomInsertkotlinUnitentityListcollectionsListupdateListAsyncUpdateTAnyINSTANCE_RECEIVER comustadmobilecoredbdao comustadmobilecoredbdao     comustadmobilecoredbdaodeactivateByUidsDEFINEDkotlinUnitPeerReviewerAllocationDaouidListcollectionsListLongchangeTimeforEachFunction1LOCAL_FUNCTION_FOR_LAMBDAitupdateActiveByUidBooleanLAMBDA comustadmobilecoredbdao comustadmobilecoredbdao$ !comustadmobilecoredbdaoPersonAuthDaoCommonDEFINEDkotlinUnitAnyENCRYPTED_PASS_PREFIXPROPERTY_BACKING_FIELDStringe:DEFAULT_PROPERTY_ACCESSORNothingPLAIN_PASS_PREFIXp:encryptThisPasswordoriginalPasswordlibutilencryptPasswordauthenticateThisEncryptedPasswordBooleanprovidedPasswordencryptedPasswordinternalirEQEQINSTANCE_RECEIVER comustadmobilecoredbdao :%comustadmobilecoredbdaoPersonDaoCommonDEFINEDkotlinUnitAnySORT_FIRST_NAME_ASCPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingSORT_FIRST_NAME_DESCSORT_LAST_NAME_ASCSORT_LAST_NAME_DESCSQL_SELECT_LIST_WITH_PERMISSIONString WITH CanViewPersonUidsViaCoursePermission(personUid) AS /* Select personUids that can be viewed based on CoursePermission given the active user for their enrolments */ (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid FROM ClazzEnrolment ClazzEnrolment_ForActiveUser JOIN CoursePermission ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole AND (CoursePermission.cpPermissionsFlag & 8192) > 0 JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid WHERE :accountPersonUid != 0 AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive UNION /* Select personUids that can be viewed based on CoursePermission for the active user where the CoursePermission is granted directly to them */ SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid FROM CoursePermission JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid WHERE :accountPersonUid != 0 AND CoursePermission.cpToPersonUid = :accountPersonUid) SELECT Person.*, PersonPicture.* FROM Person LEFT JOIN PersonPicture ON PersonPicture.personPictureUid = Person.personUid WHERE /* Begin permission check */ ( ( EXISTS(SELECT 1 FROM SystemPermission WHERE :accountPersonUid != 0 AND SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & 8192 ) > 0 AND NOT SystemPermission.spIsDeleted) ) OR (Person.personUid IN (SELECT CanViewPersonUidsViaCoursePermission.personUid FROM CanViewPersonUidsViaCoursePermission)) OR (Person.personUid = :accountPersonUid) ) /* End permission check */ AND (:excludeClazz = 0 OR :excludeClazz NOT IN (SELECT clazzEnrolmentClazzUid FROM ClazzEnrolment WHERE clazzEnrolmentPersonUid = Person.personUid AND :timestamp BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft AND ClazzEnrolment.clazzEnrolmentActive)) AND Person.personType = 0 AND (Person.personUid NOT IN (:excludeSelected)) AND (:searchText = '%' OR Person.firstNames || ' ' || Person.lastName LIKE :searchText) GROUP BY Person.personUid, PersonPicture.personPictureUid ORDER BY CASE(:sortOrder) WHEN 1 THEN Person.firstNames WHEN 3 THEN Person.lastName ELSE '' END ASC, CASE(:sortOrder) WHEN 2 THEN Person.firstNames WHEN 4 THEN Person.lastName ELSE '' END DESC INSTANCE_RECEIVER comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdaoReportDaoCommonDEFINEDkotlinUnitAnySORT_TITLE_ASCPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingSORT_TITLE_DESCINSTANCE_RECEIVER'        comustadmobilecoredbdaoinitPreloadedTemplatesDEFINEDkotlinUnitReportDaouidsInsertedcollectionsListLongfindByUidListmaplibentitiesReportCompanionFIXED_TEMPLATESGET_PROPERTYFunction1LOCAL_FUNCTION_FOR_LAMBDAitNothingreportUidLAMBDAtemplateListToInsertfilterBooleannotNOT_INcontainsreplaceList comustadmobilecoredbdao      comustadmobilecoredbdaodeactivateByUidsDEFINEDkotlinUnitScheduleDaouidListcollectionsListLongchangeTimeforEachFunction1LOCAL_FUNCTION_FOR_LAMBDAitupdateScheduleActivatedBooleanLAMBDA comustadmobilecoredbdao "$Z*comustadmobilecoredbdaoScopedGrantDaoCommonDEFINEDkotlinUnitAnySQL_FIND_BY_TABLE_AND_ENTITYPROPERTY_BACKING_FIELDString SELECT ScopedGrant.*, CASE WHEN Person.firstNames IS NOT NULL THEN Person.firstNames ELSE PersonGroup.groupName END AS name FROM ScopedGrant JOIN PersonGroup ON ScopedGrant.sgGroupUid = PersonGroup.groupUid LEFT JOIN Person ON Person.personGroupUid = PersonGroup.groupUid WHERE ScopedGrant.sgTableId = :tableId AND ScopedGrant.sgEntityUid = :entityUid DEFAULT_PROPERTY_ACCESSORNothingSQL_USER_HAS_SYSTEM_LEVEL_PERMISSION SELECT EXISTS( SELECT PersonGroupMember.groupMemberGroupUid FROM PersonGroupMember JOIN ScopedGrant ON ScopedGrant.sgGroupUid = PersonGroupMember.groupMemberGroupUid WHERE PersonGroupMember.groupMemberPersonUid = :accountPersonUid AND (ScopedGrant.sgEntityUid = 0 OR ScopedGrant.sgEntityUid = -2) AND (ScopedGrant.sgTableId = 0 OR ScopedGrant.sgTableId = -2) AND (ScopedGrant.sgPermissions & :permission) > 0 ) INSTANCE_RECEIVER   comustadmobilecoredbdaoScrapeQueueItemDaoCommonDEFINEDkotlinUnitAnySTATUS_PENDINGPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingSTATUS_RUNNINGSTATUS_DONESTATUS_FAILEDINSTANCE_RECEIVER comustadmobilecoredbdao comustadmobilecoredbdao      comustadmobilecoredbdaodeactivateByUidsDEFINEDkotlinUnitSiteTermsDaouidListcollectionsListLongchangeTimeforEachFunction1LOCAL_FUNCTION_FOR_LAMBDAitupdateActiveByUidBooleanLAMBDA comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao 060K63x9comustadmobilecoredbdaoSystemPermissionDaoCommonDEFINEDkotlinUnitAnySYSTEM_PERMISSIONS_EXISTS_FOR_ACCOUNTUID_SQL_PT1PROPERTY_BACKING_FIELDString EXISTS(SELECT 1 FROM SystemPermission WHERE :accountPersonUid != 0 AND SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & DEFAULT_PROPERTY_ACCESSORNothingSYSTEM_PERMISSIONS_EXISTS_FOR_ACCOUNTUID_SQL_PT2 ) > 0 AND NOT SystemPermission.spIsDeleted) SELECT_SYSTEM_PERMISSIONS_EXISTS_FOR_ACCOUNTUID_SQL SELECT EXISTS(SELECT 1 FROM SystemPermission WHERE :accountPersonUid != 0 AND SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & :permission ) > 0 AND NOT SystemPermission.spIsDeleted) INSTANCE_RECEIVER comustadmobilecoredbdao m$;AcomustadmobilecoredbdaoTransferJobDaoCommonDEFINEDkotlinUnitAnySELECT_TRANSFER_JOB_TOTALS_SQLPROPERTY_BACKING_FIELDString (SELECT SUM(TransferJobItem.tjTotalSize) FROM TransferJobItem WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid) AS totalSize, (SELECT SUM(TransferJobItem.tjTransferred) FROM TransferJobItem WHERE TransferJobItem.tjiTjUid = TransferJob.tjUid) AS transferred DEFAULT_PROPERTY_ACCESSORNothingSELECT_CONTENT_ENTRY_VERSION_UIDS_FOR_CONTENT_ENTRY_UID_SQL (SELECT ContentEntryVersion.cevUid FROM ContentEntryVersion WHERE ContentEntryVersion.cevContentEntryUid = :contentEntryUid) INSTANCE_RECEIVER comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdao comustadmobilecoredbdaoUserSessionDaoCommonDEFINEDkotlinUnitAnyFIND_LOCAL_SESSIONS_SQLPROPERTY_BACKING_FIELDString SELECT UserSession.*, Person.*, PersonPicture.* FROM UserSession JOIN Person ON Person.personUid = UserSession.usPersonUid LEFT JOIN PersonPicture ON PersonPicture.personPictureUid = UserSession.usPersonUid WHERE UserSession.usClientNodeId = ( SELECT COALESCE( (SELECT nodeClientId FROM SyncNode LIMIT 1), 0)) AND UserSession.usStatus = 1 AND (UserSession.usSessionType & 8) != 8 DEFAULT_PROPERTY_ACCESSORNothingINSTANCE_RECEIVER comustadmobilecoredbdaoxapi comustadmobilecoredbdaoxapi comustadmobilecoredbdaoxapi comustadmobilecoredbdaoxapi -3comustadmobilecoredbdaoxapiActivityLangMapEntryDaoCommonDEFINEDkotlinUnitAnyINTO_LANG_MAP_WHERE_INTERACTION_ENTITY_EXISTSPROPERTY_BACKING_FIELDString INTO ActivityLangMapEntry(almeActivityUid, almeHash, almeLangCode, almePropName, almeValue, almeAieHash, almeLastMod) SELECT :almeActivityUid AS almeActivityUid, :almeHash AS almeHash, :almeLangCode AS almeLangCode, :almePropName AS almePropName, :almeValue AS almeValue, :almeAieHash AS almeAieHash, :almeLastMod AS almeLastMod WHERE EXISTS(SELECT 1 FROM ActivityInteractionEntity WHERE ActivityInteractionEntity.aieActivityUid = :almeActivityUid AND ActivityInteractionEntity.aieHash = :almeAieHash) DEFAULT_PROPERTY_ACCESSORNothingINSTANCE_RECEIVER comustadmobilecoredbdaoxapi comustadmobilecoredbdaoxapi comustadmobilecoredbdaoxapi comustadmobilecoredbdaoxapi comustadmobilecoredbdaoxapi comustadmobilecoredbdaoxapiL M\S9 ?TQZ9?06,2-U33a90i66<#>".4Q#!Q'%+BtH17+1comustadmobilecoredbdaoxapiStatementDaoCommonDEFINEDkotlinUnitAnyFROM_STATEMENT_ENTITY_WHERE_MATCHES_ACCOUNT_PERSON_UID_AND_CONTENT_ENTRY_ROOTPROPERTY_BACKING_FIELDString FROM StatementEntity WHERE StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = :contentEntryUid AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 AND (:courseBlockUid = 0 OR StatementEntity.statementCbUid = :courseBlockUid) DEFAULT_PROPERTY_ACCESSORNothingFROM_STATEMENT_ENTITY_STATUS_STATEMENTS_FOR_CONTENT_ENTRY FROM StatementEntity WHERE StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid = :contentEntryUid AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 AND (:courseBlockUid = 0 OR StatementEntity.statementCbUid = :courseBlockUid) AND ( (CAST(StatementEntity.resultCompletion AS INTEGER) = 1) OR (StatementEntity.extensionProgress IS NOT NULL)) FROM_STATEMENT_ENTITY_WHERE_MATCHES_ACCOUNT_PERSON_UID_AND_PARENT_CONTENT_ENTRY_ROOT FROM StatementEntity WHERE StatementEntity.statementActorPersonUid = :accountPersonUid AND StatementEntity.statementContentEntryUid IN ( SELECT ContentEntryParentChildJoin.cepcjChildContentEntryUid FROM ContentEntryParentChildJoin WHERE ContentEntryParentChildJoin.cepcjParentContentEntryUid = :parentUid) AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 AND ( (CAST(StatementEntity.resultCompletion AS INTEGER) = 1) OR (StatementEntity.extensionProgress IS NOT NULL)) FROM_STATEMENT_ENTITY_STATUS_STATEMENTS_FOR_CLAZZ_STUDENT FROM StatementEntity WHERE ( (SELECT EXISTS( SELECT 1 FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid AND ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment.clazzEnrolmentRole = 1000)) ) AND StatementEntity.statementActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid) AND StatementEntity.statementClazzUid = :clazzUid AND ( (CAST(StatementEntity.resultCompletion AS INTEGER) = 1) OR (StatementEntity.extensionProgress IS NOT NULL)) STATEMENT_ENTITY_IS_SUCCESSFUL_COMPLETION_CLAUSE CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 STATEMENT_ENTITY_IS_FAILED_COMPLETION_CLAUSE CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 STATEMENT_MATCHES_PERSONUIDS_AND_COURSEBLOCKS StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid AND StatementEntity.statementActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) STATEMENT_MATCHES_PERSONUIDS_AND_COURSEBLOCKS_INNER StatementEntity_Inner.statementCbUid = PersonUidsAndCourseBlocks.cbUid AND StatementEntity_Inner.statementActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) JOIN_ACTOR_TABLES_FROM_ACTOR_UIDS_FOR_PERSON_UID JOIN ActorEntity ON ActorEntity.actorUid = StatementEntity.statementActorUid LEFT JOIN GroupMemberActorJoin ON ActorEntity.actorObjectType = 2 AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( SELECT GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid FROM GroupMemberActorJoin WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid AND GroupMemberActorJoin.gmajMemberActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) JOIN_ACTOR_TABLES_FROM_ACTOR_UIDS_FOR_PERSON_UID_INNER JOIN ActorEntity ActorEntity_Inner ON ActorEntity_Inner.actorUid = StatementEntity_Inner.statementActorUid LEFT JOIN GroupMemberActorJoin GroupMemberActorJoin_Inner ON ActorEntity_Inner.actorObjectType = 2 AND (GroupMemberActorJoin_Inner.gmajGroupActorUid, GroupMemberActorJoin_Inner.gmajMemberActorUid) IN ( SELECT GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid FROM GroupMemberActorJoin WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid AND GroupMemberActorJoin.gmajMemberActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) ACTOR_UIDS_FOR_PERSONUIDS_CTE -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( SELECT ActorEntity.actorUid AS actorUid, ActorEntity.actorPersonUid AS actorPersonUid FROM ActorEntity WHERE ActorEntity.actorPersonUid IN (SELECT PersonUids.personUid FROM PersonUids) ), -- Add in group actor uids ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid FROM AgentActorUidsForPersonUid UNION SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid FROM AgentActorUidsForPersonUid JOIN GroupMemberActorJoin ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid ) FIND_STATUS_FOR_STUDENTS_SQL WITH PersonUids(personUid) AS ( SELECT Person.personUid FROM Person WHERE Person.personUid IN (:studentPersonUids) ), -- Get the ActorUids for the PersonUids See ActoryEntity doc for info on this join relationship AgentActorUidsForPersonUid(actorUid, actorPersonUid) AS( SELECT ActorEntity.actorUid AS actorUid, ActorEntity.actorPersonUid AS actorPersonUid FROM ActorEntity WHERE ActorEntity.actorPersonUid IN (SELECT PersonUids.personUid FROM PersonUids) ), -- Add in group actor uids ActorUidsForPersonUid(actorUid, actorPersonUid) AS ( SELECT AgentActorUidsForPersonUid.actorUid AS actorUid, AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid FROM AgentActorUidsForPersonUid UNION SELECT GroupMemberActorJoin.gmajGroupActorUid AS actorUid, AgentActorUidsForPersonUid.actorPersonUid AS actorPersonUid FROM AgentActorUidsForPersonUid JOIN GroupMemberActorJoin ON GroupMemberActorJoin.gmajMemberActorUid = AgentActorUidsForPersonUid.actorUid ) , PersonUidsAndCourseBlocks(personUid, cbUid, cbType, caMarkingType) AS ( SELECT Person.personUid AS personUid, CourseBlock.cbUid AS cbUid, CourseBlock.cbType AS cbType, ClazzAssignment.caMarkingType AS caMarkingType FROM Person JOIN CourseBlock ON CourseBlock.cbClazzUid = :clazzUid LEFT JOIN ClazzAssignment ON CourseBlock.cbType = 103 AND ClazzAssignment.caUid = CourseBlock.cbEntityUid WHERE Person.personUid IN (:studentPersonUids) ) SELECT PersonUidsAndCourseBlocks.personUid AS sPersonUid, PersonUidsAndCourseBlocks.cbUid AS sCbUid, (SELECT MAX(StatementEntity.extensionProgress) FROM StatementEntity JOIN ActorEntity ON ActorEntity.actorUid = StatementEntity.statementActorUid LEFT JOIN GroupMemberActorJoin ON ActorEntity.actorObjectType = 2 AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( SELECT GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid FROM GroupMemberActorJoin WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid AND GroupMemberActorJoin.gmajMemberActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) WHERE StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid AND StatementEntity.statementActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) ) AS sProgress, (SELECT EXISTS( SELECT 1 FROM StatementEntity JOIN ActorEntity ON ActorEntity.actorUid = StatementEntity.statementActorUid LEFT JOIN GroupMemberActorJoin ON ActorEntity.actorObjectType = 2 AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( SELECT GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid FROM GroupMemberActorJoin WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid AND GroupMemberActorJoin.gmajMemberActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) WHERE ( StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid AND StatementEntity.statementActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) ) AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1 )) AS sIsCompleted, (SELECT CASE /*If there is a statement marked as success, then count as successful even if *there were subsequent failed attempts */ WHEN ( SELECT EXISTS( SELECT 1 FROM StatementEntity JOIN ActorEntity ON ActorEntity.actorUid = StatementEntity.statementActorUid LEFT JOIN GroupMemberActorJoin ON ActorEntity.actorObjectType = 2 AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( SELECT GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid FROM GroupMemberActorJoin WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid AND GroupMemberActorJoin.gmajMemberActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) WHERE ( StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid AND StatementEntity.statementActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) ) AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1 ) ) THEN 1 /*If there are no statements marked as success, however there are statements marekd as fail, *then count as fail */ WHEN ( SELECT EXISTS( SELECT 1 FROM StatementEntity JOIN ActorEntity ON ActorEntity.actorUid = StatementEntity.statementActorUid LEFT JOIN GroupMemberActorJoin ON ActorEntity.actorObjectType = 2 AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( SELECT GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid FROM GroupMemberActorJoin WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid AND GroupMemberActorJoin.gmajMemberActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) WHERE ( StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid AND StatementEntity.statementActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) ) AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0 ) ) THEN 0 /* Else there is no known success/fail result*/ ELSE NULL END ) AS sIsSuccess, -- See ClazzGradebookScreen for info on which score is selected (SELECT CASE -- When there is a peer marked assignment, take the average of the latest distinct ... WHEN ( PersonUidsAndCourseBlocks.cbType = 103 AND PersonUidsAndCourseBlocks.caMarkingType = 2 ) THEN (SELECT AVG(StatementEntity.resultScoreScaled) FROM StatementEntity JOIN ActorEntity ON ActorEntity.actorUid = StatementEntity.statementActorUid LEFT JOIN GroupMemberActorJoin ON ActorEntity.actorObjectType = 2 AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( SELECT GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid FROM GroupMemberActorJoin WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid AND GroupMemberActorJoin.gmajMemberActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) WHERE ( StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid AND StatementEntity.statementActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) ) AND StatementEntity.timestamp = ( SELECT MAX(StatementEntity_Inner.timestamp) FROM StatementEntity StatementEntity_Inner JOIN ActorEntity ActorEntity_Inner ON ActorEntity_Inner.actorUid = StatementEntity_Inner.statementActorUid LEFT JOIN GroupMemberActorJoin GroupMemberActorJoin_Inner ON ActorEntity_Inner.actorObjectType = 2 AND (GroupMemberActorJoin_Inner.gmajGroupActorUid, GroupMemberActorJoin_Inner.gmajMemberActorUid) IN ( SELECT GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid FROM GroupMemberActorJoin WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid AND GroupMemberActorJoin.gmajMemberActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) WHERE ( StatementEntity_Inner.statementCbUid = PersonUidsAndCourseBlocks.cbUid AND StatementEntity_Inner.statementActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) ) AND StatementEntity_Inner.contextInstructorActorUid = StatementEntity.contextInstructorActorUid) LIMIT 1) -- When an assignment, but not peer marked, then the latest score WHEN PersonUidsAndCourseBlocks.cbType = 103 THEN (SELECT StatementEntity.resultScoreScaled FROM StatementEntity JOIN ActorEntity ON ActorEntity.actorUid = StatementEntity.statementActorUid LEFT JOIN GroupMemberActorJoin ON ActorEntity.actorObjectType = 2 AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( SELECT GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid FROM GroupMemberActorJoin WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid AND GroupMemberActorJoin.gmajMemberActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) WHERE ( StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid AND StatementEntity.statementActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) ) ORDER BY StatementEntity.timestamp DESC LIMIT 1) -- else the best score accomplished so far ELSE (SELECT MAX(StatementEntity.resultScoreScaled) FROM StatementEntity JOIN ActorEntity ON ActorEntity.actorUid = StatementEntity.statementActorUid LEFT JOIN GroupMemberActorJoin ON ActorEntity.actorObjectType = 2 AND (GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid) IN ( SELECT GroupMemberActorJoin.gmajGroupActorUid, GroupMemberActorJoin.gmajMemberActorUid FROM GroupMemberActorJoin WHERE GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid AND GroupMemberActorJoin.gmajMemberActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid)) WHERE ( StatementEntity.statementCbUid = PersonUidsAndCourseBlocks.cbUid AND StatementEntity.statementActorUid IN ( SELECT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid WHERE ActorUidsForPersonUid.actorPersonUid = PersonUidsAndCourseBlocks.personUid) )) END ) AS sScoreScaled FROM PersonUidsAndCourseBlocks WHERE :accountPersonUid = :accountPersonUid SELECT_STATUS_STATEMENTS_FOR_ACTOR_PERSON_UIDS -- Fetch all statements that could be completion or progress for the Gradebook report SELECT StatementEntity.*, ActorEntity.*, GroupMemberActorJoin.* FROM StatementEntity JOIN ActorEntity ON ActorEntity.actorUid = StatementEntity.statementActorUid LEFT JOIN GroupMemberActorJoin ON ActorEntity.actorObjectType = 2 AND GroupMemberActorJoin.gmajGroupActorUid = StatementEntity.statementActorUid AND GroupMemberActorJoin.gmajMemberActorUid IN ( SELECT DISTINCT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid) WHERE StatementEntity.statementClazzUid = :clazzUid AND StatementEntity.completionOrProgress = :completionOrProgressTrueVal AND StatementEntity.statementActorUid IN ( SELECT DISTINCT ActorUidsForPersonUid.actorUid FROM ActorUidsForPersonUid) AND ( StatementEntity.resultScoreScaled IS NOT NULL OR StatementEntity.resultCompletion IS NOT NULL OR StatementEntity.resultSuccess IS NOT NULL OR StatementEntity.extensionProgress IS NOT NULL ) PERSON_WITH_ATTEMPTS_MAXSCORE SELECT MAX(StatementEntity.resultScoreScaled) FROM StatementEntity WHERE StatementEntity.statementContentEntryUid = :contentEntryUid AND StatementEntity.statementActorPersonUid = Person.personUid AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 PERSON_WITH_ATTEMPTS_MAX_PROGRESS SELECT MAX(StatementEntity.extensionProgress) FROM StatementEntity WHERE StatementEntity.statementContentEntryUid = :contentEntryUid AND StatementEntity.statementActorPersonUid = Person.personUid AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1 PERSON_WITH_ATTEMPTS_MOST_RECENT_TIME SELECT MAX(StatementEntity.timestamp) FROM StatementEntity WHERE StatementEntity.statementContentEntryUid = :contentEntryUid AND StatementEntity.statementActorPersonUid = Person.personUid FROM_STATEMENTS_WHERE_MATCHES_CONTENT_ENTRY_UID_AND_HAS_PERMISSION FROM StatementEntity LEFT JOIN ClazzEnrolment ON ClazzEnrolment.clazzEnrolmentUid = COALESCE( (SELECT ClazzEnrolment.clazzEnrolmentUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment.clazzEnrolmentActive AND ClazzEnrolment.clazzEnrolmentClazzUid = StatementEntity.statementClazzUid ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC LIMIT 1), 0) WHERE StatementEntity.statementContentEntryUid = :contentEntryUid /* permission check */ AND ( StatementEntity.statementActorPersonUid = :accountPersonUid OR EXISTS(SELECT CoursePermission.cpUid FROM CoursePermission WHERE CoursePermission.cpClazzUid = StatementEntity.statementClazzUid AND ( CoursePermission.cpToPersonUid = :accountPersonUid OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) AND (CoursePermission.cpPermissionsFlag & 128) > 0 AND NOT CoursePermission.cpIsDeleted) OR ( EXISTS(SELECT 1 FROM SystemPermission WHERE :accountPersonUid != 0 AND SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & 128 ) > 0 AND NOT SystemPermission.spIsDeleted) )) DISTINCT_REGISTRATION_UIDS_FOR_PERSON_AND_CONTENT DistinctRegistrationUids(contextRegistrationHi, contextRegistrationLo, statementClazzUid) AS ( SELECT DISTINCT StatementEntity.contextRegistrationHi, StatementEntity.contextRegistrationLo, StatementEntity.statementClazzUid FROM StatementEntity WHERE StatementEntity.statementContentEntryUid = :contentEntryUid AND StatementEntity.statementActorPersonUid = :personUid) DISTINCT_REGISTRATION_UIDS_PERMISSION_CHECK :personUid = :accountPersonUid OR EXISTS( SELECT CoursePermission.cpUid FROM CoursePermission LEFT JOIN ClazzEnrolment ON ClazzEnrolment.clazzEnrolmentUid = COALESCE( (SELECT ClazzEnrolment.clazzEnrolmentUid FROM ClazzEnrolment WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid AND ClazzEnrolment.clazzEnrolmentActive AND ClazzEnrolment.clazzEnrolmentClazzUid = DistinctRegistrationUids.statementClazzUid ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC LIMIT 1), 0) WHERE CoursePermission.cpClazzUid = DistinctRegistrationUids.statementClazzUid AND ( CoursePermission.cpToPersonUid = :accountPersonUid OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment.clazzEnrolmentRole ) AND (CoursePermission.cpPermissionsFlag & 128) > 0 AND NOT CoursePermission.cpIsDeleted) OR ( EXISTS(SELECT 1 FROM SystemPermission WHERE :accountPersonUid != 0 AND SystemPermission.spToPersonUid = :accountPersonUid AND (SystemPermission.spPermissionsFlag & 128 ) > 0 AND NOT SystemPermission.spIsDeleted) ) INSTANCE_RECEIVER     comustadmobilecoredbdaoxapigetResultsDEFINEDkotlincollectionsListlibentitiesStatementReportDataStatementDaosqlStrStringparamsListArrayAnyNothingdoorSimpleDoorQuery comustadmobilecoredbdaoxapi comustadmobilecoredbdaoxapi comustadmobilecoredbdaoxapi comustadmobilecoredbdaoxapi    comustadmobilecoredbextpreloadDEFINEDkotlinUnitUmAppDatabasedaoinitPreloadedTemplatesReportDaoreportDaoinitPreloadedLeavingReasonsLeavingReasonDaoleavingReasonDaoinitPreloadedLanguagesLanguageDaolanguageDaol       M ('AX  _\&&&^[??wX\  t%#xL8 u"RQ"TYiQ_$YGLIKHJX AM("MQ-B<6/ZW[L  -]o<DGEHA+ L1"( :;=)c:|+e<~UW]KHJKOXRWQ# ['2X w!*6 !a 9XG\]Gc<<K\\7qMYO[:YZYXCx#HN |'LRc!ie!kI3CE8821;>;> /A4"@     q|+ aw MJOg]ce0  <<      $M ^&:#`_ = comustadmobilecoredbextMIGRATION_105_106DEFINEDPROPERTY_BACKING_FIELDdoormigrationDoorMigrationStatementListkotlinIntFunction1DoorSqlDatabasecollectionsListStringLOCAL_FUNCTION_FOR_LAMBDAstmtListMutableListmutableListOfUnitplusAssignPLUSEQALTER TABLE CourseAssignmentSubmissionAttachment ADD COLUMN casaFileName TEXTNothingLAMBDADEFAULT_PROPERTY_ACCESSORMIGRATION_106_107applyExtensionFunctionType$this$applyBooleanaddDROP TABLE IF EXISTS SqliteChangeSeqNumsDROP TABLE IF EXISTS UpdateNotificationMIGRATION_107_108ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerComment TEXTALTER TABLE ClazzAssignment ADD COLUMN caPeerReviewerCount INTEGER NOT NULL DEFAULT 0IFinternalirEQEQdbTypeDoorDbTypeCompanionSQLITEGET_PROPERTYALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerSubmitterUid INTEGER NOT NULL DEFAULT 0ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerPersonUid INTEGER NOT NULL DEFAULT 0CREATE TABLE IF NOT EXISTS PeerReviewerAllocation (`praUid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `praMarkerSubmitterUid` INTEGER NOT NULL, `praToMarkerSubmitterUid` INTEGER NOT NULL, `praAssignmentUid` INTEGER NOT NULL, `praActive` INTEGER NOT NULL, `praLct` INTEGER NOT NULL)CREATE TABLE IF NOT EXISTS PeerReviewerAllocationReplicate (`prarPk` INTEGER NOT NULL, `prarVersionId` INTEGER NOT NULL DEFAULT 0, `prarDestination` INTEGER NOT NULL, `prarPending` INTEGER NOT NULL DEFAULT 1, PRIMARY KEY(`prarPk`, `prarDestination`))CREATE INDEX IF NOT EXISTS `index_PeerReviewerAllocationReplicate_prarPk_prarDestination_prarVersionId` ON PeerReviewerAllocationReplicate (`prarPk`, `prarDestination`, `prarVersionId`)CREATE INDEX IF NOT EXISTS `index_PeerReviewerAllocationReplicate_prarDestination_prarPending` ON PeerReviewerAllocationReplicate (`prarDestination`, `prarPending`) CREATE TRIGGER ch_ins_140 AFTER INSERT ON PeerReviewerAllocation BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 140 AS chTableId, NEW.praUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 140 AND chEntityPk = NEW.praUid); END CREATE TRIGGER ch_upd_140 AFTER UPDATE ON PeerReviewerAllocation BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 140 AS chTableId, NEW.praUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 140 AND chEntityPk = NEW.praUid); END CREATE TRIGGER ch_del_140 AFTER DELETE ON PeerReviewerAllocation BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 140 AS chTableId, OLD.praUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 140 AND chEntityPk = OLD.praUid); END CREATE VIEW PeerReviewerAllocation_ReceiveView AS SELECT PeerReviewerAllocation.*, ClazzAssignmentReplicate.* FROM PeerReviewerAllocation LEFT JOIN ClazzAssignmentReplicate ON ClazzAssignmentReplicate.caPk = PeerReviewerAllocation.praUid CREATE TRIGGER peerreviewerallocation_remote_insert_ins INSTEAD OF INSERT ON PeerReviewerAllocation_ReceiveView FOR EACH ROW BEGIN REPLACE INTO PeerReviewerAllocation(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES (NEW.praUid, NEW.praMarkerSubmitterUid, NEW.praToMarkerSubmitterUid, NEW.praAssignmentUid, NEW.praActive, NEW.praLct) /*psql ON CONFLICT (praUid) DO UPDATE SET praMarkerSubmitterUid = EXCLUDED.praMarkerSubmitterUid, praToMarkerSubmitterUid = EXCLUDED.praToMarkerSubmitterUid, praAssignmentUid = EXCLUDED.praAssignmentUid, praActive = EXCLUDED.praActive, praLct = EXCLUDED.praLct */; END ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerSubmitterUid BIGINT NOT NULL DEFAULT 0ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerPersonUid BIGINT NOT NULL DEFAULT 0CREATE TABLE IF NOT EXISTS PeerReviewerAllocation ( praMarkerSubmitterUid BIGINT NOT NULL , praToMarkerSubmitterUid BIGINT NOT NULL , praAssignmentUid BIGINT NOT NULL , praActive BOOL NOT NULL , praLct BIGINT NOT NULL , praUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS PeerReviewerAllocationReplicate ( prarPk BIGINT NOT NULL , prarVersionId BIGINT NOT NULL DEFAULT 0 , prarDestination BIGINT NOT NULL , prarPending BOOL NOT NULL DEFAULT true, PRIMARY KEY (prarPk, prarDestination) )CREATE INDEX index_PeerReviewerAllocationReplicate_prarPk_prarDestination_prarVersionId ON PeerReviewerAllocationReplicate (prarPk, prarDestination, prarVersionId)CREATE INDEX index_PeerReviewerAllocationReplicate_prarDestination_prarPending ON PeerReviewerAllocationReplicate (prarDestination, prarPending) CREATE OR REPLACE FUNCTION ch_upd_140_fn() RETURNS TRIGGER AS Char BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (140, NEW.praUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END LANGUAGE plpgsql CREATE TRIGGER ch_upd_140_trig AFTER UPDATE OR INSERT ON PeerReviewerAllocation FOR EACH ROW EXECUTE PROCEDURE ch_upd_140_fn(); CREATE OR REPLACE FUNCTION ch_del_140_fn() RETURNS TRIGGER AS BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (140, OLD.praUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END CREATE TRIGGER ch_del_140_trig AFTER DELETE ON PeerReviewerAllocation FOR EACH ROW EXECUTE PROCEDURE ch_del_140_fn(); CREATE OR REPLACE FUNCTION peerreviewerallocation_remote_insert_fn() RETURNS TRIGGER AS BEGIN INSERT INTO PeerReviewerAllocation(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES (NEW.praUid, NEW.praMarkerSubmitterUid, NEW.praToMarkerSubmitterUid, NEW.praAssignmentUid, NEW.praActive, NEW.praLct) ON CONFLICT (praUid) DO UPDATE SET praMarkerSubmitterUid = EXCLUDED.praMarkerSubmitterUid, praToMarkerSubmitterUid = EXCLUDED.praToMarkerSubmitterUid, praAssignmentUid = EXCLUDED.praAssignmentUid, praActive = EXCLUDED.praActive, praLct = EXCLUDED.praLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END LANGUAGE plpgsql CREATE TRIGGER peerreviewerallocation_remote_insert_trig INSTEAD OF INSERT ON PeerReviewerAllocation_ReceiveView FOR EACH ROW EXECUTE PROCEDURE peerreviewerallocation_remote_insert_fn() MIGRATION_108_109CREATE TABLE IF NOT EXISTS ExternalAppPermission ( eapPersonUid INTEGER NOT NULL , eapPackageId TEXT , eapStartTime INTEGER NOT NULL , eapExpireTime INTEGER NOT NULL , eapAuthToken TEXT , eapAndroidAccountName TEXT , eapUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ExternalAppPermission ( eapPersonUid BIGINT NOT NULL , eapPackageId TEXT , eapStartTime BIGINT NOT NULL , eapExpireTime BIGINT NOT NULL , eapAuthToken TEXT , eapAndroidAccountName TEXT , eapUid SERIAL PRIMARY KEY NOT NULL )MIGRATION_120_121buildList$this$buildListWHENIR_TEMPORARY_VARIABLEtmp0_subjectCREATE TABLE IF NOT EXISTS StudentResult ( srSourcedId TEXT , srCourseBlockUid INTEGER NOT NULL , srClazzUid INTEGER NOT NULL , srAssignmentUid INTEGER NOT NULL , srLineItemSourcedId TEXT , srStatus INTEGER NOT NULL , srMetaData TEXT , srStudentPersonUid INTEGER NOT NULL , srStudentGroupId INTEGER NOT NULL , srMarkerPersonUid INTEGER NOT NULL , srMarkerGroupId INTEGER NOT NULL , srScoreStatus INTEGER NOT NULL , srScore REAl NOT NULL , srScoreDate INTEGER NOT NULL , srLastModified INTEGER NOT NULL , srComment TEXT , srAppId TEXT , srActive INTEGER NOT NULL , srUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )POSTGRESCREATE TABLE IF NOT EXISTS StudentResult ( srSourcedId TEXT , srCourseBlockUid BIGINT NOT NULL , srClazzUid BIGINT NOT NULL , srAssignmentUid BIGINT NOT NULL , srLineItemSourcedId TEXT , srStatus INTEGER NOT NULL , srMetaData TEXT , srStudentPersonUid BIGINT NOT NULL , srStudentGroupId INTEGER NOT NULL , srMarkerPersonUid BIGINT NOT NULL , srMarkerGroupId INTEGER NOT NULL , srScoreStatus INTEGER NOT NULL , srScore FLOAT NOT NULL , srScoreDate BIGINT NOT NULL , srLastModified BIGINT NOT NULL , srComment TEXT , srAppId TEXT , srActive BOOL NOT NULL , srUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_121_122CREATE TABLE IF NOT EXISTS OutgoingReplication ( destNodeId INTEGER NOT NULL , orPk1 INTEGER NOT NULL , orPk2 INTEGER NOT NULL , orTableId INTEGER NOT NULL , orUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ReplicationOperation ( repOpRemoteNodeId INTEGER NOT NULL , repOpStatus INTEGER NOT NULL , repOpTableId INTEGER NOT NULL , PRIMARY KEY (repOpRemoteNodeId, repOpTableId) )CREATE TABLE IF NOT EXISTS PendingRepositorySession ( endpointUrl TEXT , remoteNodeId INTEGER NOT NULL , rsUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS OutgoingReplication ( destNodeId BIGINT NOT NULL , orPk1 BIGINT NOT NULL , orPk2 BIGINT NOT NULL , orTableId INTEGER NOT NULL , orUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ReplicationOperation ( repOpRemoteNodeId BIGINT NOT NULL , repOpStatus INTEGER NOT NULL , repOpTableId INTEGER NOT NULL , PRIMARY KEY (repOpRemoteNodeId, repOpTableId) )CREATE TABLE IF NOT EXISTS PendingRepositorySession ( endpointUrl TEXT , remoteNodeId BIGINT NOT NULL , rsUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_122_123listOfDROP TABLE IF EXISTS CourseDiscussionMIGRATION_123_124DROP TABLE IF EXISTS ContentJobItemDROP TABLE IF EXISTS ContentJobCREATE TABLE IF NOT EXISTS ContentJob ( toUri TEXT , cjProgress INTEGER NOT NULL , cjTotal INTEGER NOT NULL , cjNotificationTitle TEXT , cjIsMeteredAllowed INTEGER NOT NULL , params TEXT , cjLct INTEGER NOT NULL , cjUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ContentJobItem ( cjiJobUid INTEGER NOT NULL , sourceUri TEXT , cjiIsLeaf INTEGER NOT NULL , cjiContentEntryUid INTEGER NOT NULL , cjiParentContentEntryUid INTEGER NOT NULL , cjiContainerUid INTEGER NOT NULL , cjiItemProgress INTEGER NOT NULL , cjiItemTotal INTEGER NOT NULL , cjiRecursiveProgress INTEGER NOT NULL , cjiRecursiveTotal INTEGER NOT NULL , cjiStatus INTEGER NOT NULL , cjiRecursiveStatus INTEGER NOT NULL , cjiConnectivityNeeded INTEGER NOT NULL , cjiPluginId INTEGER NOT NULL , cjiAttemptCount INTEGER NOT NULL , cjiParentCjiUid INTEGER NOT NULL , cjiServerJobId INTEGER NOT NULL , cjiStartTime INTEGER NOT NULL , cjiFinishTime INTEGER NOT NULL , cjiUploadSessionUid TEXT , cjiContentDeletedOnCancellation INTEGER NOT NULL , cjiContainerProcessed INTEGER NOT NULL , cjiLastModified INTEGER NOT NULL , cjiUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX index_ContentJobItem_cjiContentEntryUid_cjiFinishTime ON ContentJobItem (cjiContentEntryUid, cjiFinishTime)CREATE TABLE IF NOT EXISTS ContentJob ( toUri TEXT , cjProgress BIGINT NOT NULL , cjTotal BIGINT NOT NULL , cjNotificationTitle TEXT , cjIsMeteredAllowed BOOL NOT NULL , params TEXT , cjLct BIGINT NOT NULL , cjUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ContentJobItem ( cjiJobUid BIGINT NOT NULL , sourceUri TEXT , cjiIsLeaf BOOL NOT NULL , cjiContentEntryUid BIGINT NOT NULL , cjiParentContentEntryUid BIGINT NOT NULL , cjiContainerUid BIGINT NOT NULL , cjiItemProgress BIGINT NOT NULL , cjiItemTotal BIGINT NOT NULL , cjiRecursiveProgress BIGINT NOT NULL , cjiRecursiveTotal BIGINT NOT NULL , cjiStatus INTEGER NOT NULL , cjiRecursiveStatus INTEGER NOT NULL , cjiConnectivityNeeded BOOL NOT NULL , cjiPluginId INTEGER NOT NULL , cjiAttemptCount INTEGER NOT NULL , cjiParentCjiUid BIGINT NOT NULL , cjiServerJobId BIGINT NOT NULL , cjiStartTime BIGINT NOT NULL , cjiFinishTime BIGINT NOT NULL , cjiUploadSessionUid TEXT , cjiContentDeletedOnCancellation BOOL NOT NULL , cjiContainerProcessed BOOL NOT NULL , cjiLastModified BIGINT NOT NULL , cjiUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_124_125CREATE TABLE IF NOT EXISTS ContentJobItem ( cjiJobUid INTEGER NOT NULL , sourceUri TEXT , cjiOriginalFilename TEXT , cjiIsLeaf INTEGER NOT NULL , cjiContentEntryUid INTEGER NOT NULL , cjiParentContentEntryUid INTEGER NOT NULL , cjiContentEntryVersion INTEGER NOT NULL , cjiItemProgress INTEGER NOT NULL , cjiItemTotal INTEGER NOT NULL , cjiRecursiveProgress INTEGER NOT NULL , cjiRecursiveTotal INTEGER NOT NULL , cjiStatus INTEGER NOT NULL , cjiRecursiveStatus INTEGER NOT NULL , cjiConnectivityNeeded INTEGER NOT NULL , cjiPluginId INTEGER NOT NULL , cjiAttemptCount INTEGER NOT NULL , cjiParentCjiUid INTEGER NOT NULL , cjiServerJobId INTEGER NOT NULL , cjiStartTime INTEGER NOT NULL , cjiFinishTime INTEGER NOT NULL , cjiUploadSessionUid TEXT , cjiContentDeletedOnCancellation INTEGER NOT NULL , cjiContainerProcessed INTEGER NOT NULL , cjiLastModified INTEGER NOT NULL , cjiUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryVersion ( cevContentEntryUid INTEGER NOT NULL , cevUrl TEXT , cevContentType TEXT , cevSitemapUrl TEXT , cevSize INTEGER NOT NULL , cevInActive INTEGER NOT NULL , cevLastModified INTEGER NOT NULL , cevLct INTEGER NOT NULL , cevUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ContentJobItem ( cjiJobUid BIGINT NOT NULL , sourceUri TEXT , cjiOriginalFilename TEXT , cjiIsLeaf BOOL NOT NULL , cjiContentEntryUid BIGINT NOT NULL , cjiParentContentEntryUid BIGINT NOT NULL , cjiContentEntryVersion BIGINT NOT NULL , cjiItemProgress BIGINT NOT NULL , cjiItemTotal BIGINT NOT NULL , cjiRecursiveProgress BIGINT NOT NULL , cjiRecursiveTotal BIGINT NOT NULL , cjiStatus INTEGER NOT NULL , cjiRecursiveStatus INTEGER NOT NULL , cjiConnectivityNeeded BOOL NOT NULL , cjiPluginId INTEGER NOT NULL , cjiAttemptCount INTEGER NOT NULL , cjiParentCjiUid BIGINT NOT NULL , cjiServerJobId BIGINT NOT NULL , cjiStartTime BIGINT NOT NULL , cjiFinishTime BIGINT NOT NULL , cjiUploadSessionUid TEXT , cjiContentDeletedOnCancellation BOOL NOT NULL , cjiContainerProcessed BOOL NOT NULL , cjiLastModified BIGINT NOT NULL , cjiUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryVersion ( cevContentEntryUid BIGINT NOT NULL , cevUrl TEXT , cevContentType TEXT , cevSitemapUrl TEXT , cevSize BIGINT NOT NULL , cevInActive BOOL NOT NULL , cevLastModified BIGINT NOT NULL , cevLct BIGINT NOT NULL , cevUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_125_126emptyListMIGRATION_126_127CREATE TABLE IF NOT EXISTS TransferJob ( tjType INTEGER NOT NULL , tjStatus INTEGER NOT NULL , tjName TEXT , tjUuid TEXT , tjUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS TransferJobItem ( tjiTjUid INTEGER NOT NULL , tjTotalSize INTEGER NOT NULL , tjTransferred INTEGER NOT NULL , tjAttemptCount INTEGER NOT NULL , tjiSrc TEXT , tjiDest TEXT , tjiType INTEGER NOT NULL , tjiStatus INTEGER NOT NULL , tjiTableId INTEGER NOT NULL , tjiEntityUid INTEGER NOT NULL , tjiUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS TransferJob ( tjType INTEGER NOT NULL , tjStatus INTEGER NOT NULL , tjName TEXT , tjUuid TEXT , tjUid SERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS TransferJobItem ( tjiTjUid INTEGER NOT NULL , tjTotalSize BIGINT NOT NULL , tjTransferred BIGINT NOT NULL , tjAttemptCount INTEGER NOT NULL , tjiSrc TEXT , tjiDest TEXT , tjiType INTEGER NOT NULL , tjiStatus INTEGER NOT NULL , tjiTableId INTEGER NOT NULL , tjiEntityUid BIGINT NOT NULL , tjiUid SERIAL PRIMARY KEY NOT NULL )MIGRATION_127_128DROP TABLE IF EXISTS PersonPictureCREATE TABLE IF NOT EXISTS PersonPicture ( personPictureLct INTEGER NOT NULL , personPictureUri TEXT , personPictureThumbnailUri TEXT , fileSize INTEGER NOT NULL , personPictureActive INTEGER NOT NULL , personPictureUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )ALTER TABLE TransferJobItem ADD COLUMN tjiEntityEtag INTEGER NOT NULL DEFAULT 0CREATE TABLE IF NOT EXISTS PersonPicture ( personPictureLct BIGINT NOT NULL , personPictureUri TEXT , personPictureThumbnailUri TEXT , fileSize INTEGER NOT NULL , personPictureActive BOOL NOT NULL , personPictureUid BIGSERIAL PRIMARY KEY NOT NULL )ALTER TABLE TransferJobItem ADD COLUMN tjiEntityEtag BIGINT NOT NULL DEFAULT 0MIGRATION_128_129DROP TABLE IF EXISTS CoursePictureCREATE TABLE IF NOT EXISTS CoursePicture ( coursePictureLct INTEGER NOT NULL , coursePictureUri TEXT , coursePictureThumbnailUri TEXT , coursePictureActive INTEGER NOT NULL , coursePictureUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS CoursePicture ( coursePictureLct BIGINT NOT NULL , coursePictureUri TEXT , coursePictureThumbnailUri TEXT , coursePictureActive BOOL NOT NULL , coursePictureUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_129_130ALTER TABLE TransferJobItem ADD COLUMN tjiLockIdToRelease INTEGER NOT NULL DEFAULT 0MIGRATION_130_131CREATE TABLE IF NOT EXISTS CacheLockJoin ( cljTableId INTEGER NOT NULL , cljEntityUid INTEGER NOT NULL , cljUrl TEXT NOT NULL , cljLockId INTEGER NOT NULL , cljStatus INTEGER NOT NULL , cljType INTEGER NOT NULL , cljId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX idx_clj_table_entity_url ON CacheLockJoin (cljTableId, cljEntityUid, cljUrl)CREATE TABLE IF NOT EXISTS CacheLockJoin ( cljTableId INTEGER NOT NULL , cljEntityUid BIGINT NOT NULL , cljUrl TEXT NOT NULL , cljLockId INTEGER NOT NULL , cljStatus INTEGER NOT NULL , cljType INTEGER NOT NULL , cljId SERIAL PRIMARY KEY NOT NULL )MIGRATION_132_133DROP TABLE ContentJobItemCREATE TABLE IF NOT EXISTS ContentEntryImportJob ( sourceUri TEXT , cjiOriginalFilename TEXT , cjiContentEntryUid INTEGER NOT NULL , cjiParentContentEntryUid INTEGER NOT NULL , cjiContentEntryVersion INTEGER NOT NULL , cjiItemProgress INTEGER NOT NULL , cjiItemTotal INTEGER NOT NULL , cjiStatus INTEGER NOT NULL , cjiRecursiveStatus INTEGER NOT NULL , cjiPluginId INTEGER NOT NULL , cjiParentCjiUid INTEGER NOT NULL , cjiStartTime INTEGER NOT NULL , cjiFinishTime INTEGER NOT NULL , cjiContentDeletedOnCancellation INTEGER NOT NULL , cjiUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX index_ContentEntryImportJob_cjiContentEntryUid_cjiFinishTime ON ContentEntryImportJob (cjiContentEntryUid, cjiFinishTime)CREATE TABLE IF NOT EXISTS ContentEntryImportJob ( sourceUri TEXT , cjiOriginalFilename TEXT , cjiContentEntryUid BIGINT NOT NULL , cjiParentContentEntryUid BIGINT NOT NULL , cjiContentEntryVersion BIGINT NOT NULL , cjiItemProgress BIGINT NOT NULL , cjiItemTotal BIGINT NOT NULL , cjiStatus INTEGER NOT NULL , cjiRecursiveStatus INTEGER NOT NULL , cjiPluginId INTEGER NOT NULL , cjiParentCjiUid BIGINT NOT NULL , cjiStartTime BIGINT NOT NULL , cjiFinishTime BIGINT NOT NULL , cjiContentDeletedOnCancellation BOOL NOT NULL , cjiUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_133_134CREATE INDEX tji_table_entity_etag ON TransferJobItem (tjiTableId, tjiEntityUid, tjiEntityEtag)MIGRATION_134_135CREATE TABLE IF NOT EXISTS OfflineItem ( oiNodeId INTEGER NOT NULL , oiClazzUid INTEGER NOT NULL , oiCourseBlockUid INTEGER NOT NULL , oiContentEntryUid INTEGER NOT NULL , oiActive INTEGER NOT NULL , oiLct INTEGER NOT NULL , oiUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX offline_item_node_content_entry ON OfflineItem (oiNodeId, oiContentEntryUid)CREATE TABLE IF NOT EXISTS OfflineItem ( oiNodeId BIGINT NOT NULL , oiClazzUid BIGINT NOT NULL , oiCourseBlockUid BIGINT NOT NULL , oiContentEntryUid BIGINT NOT NULL , oiActive BOOL NOT NULL , oiLct BIGINT NOT NULL , oiUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_135_136ALTER TABLE TransferJob ADD COLUMN tjTableId INTEGER NOT NULL DEFAULT 0ALTER TABLE TransferJob ADD COLUMN tjCreationType INTEGER NOT NULL DEFAULT 0ALTER TABLE TransferJob ADD COLUMN tjEntityUid INTEGER NOT NULL DEFAULT 0ALTER TABLE TransferJob ADD COLUMN tjTimeCreated INTEGER NOT NULL DEFAULT 0ALTER TABLE TransferJob ADD COLUMN tjEntityUid BIGINT NOT NULL DEFAULT 0ALTER TABLE TransferJob ADD COLUMN tjTimeCreated BIGINT NOT NULL DEFAULT 0CREATE INDEX TransferJob_idx_tjTableId_EntityUid ON TransferJob (tjTableId, tjEntityUid)MIGRATION_136_137CREATE TABLE IF NOT EXISTS OfflineItemPendingTransferJob ( oiptjOiUid INTEGER NOT NULL , oiptjTableId INTEGER NOT NULL , oiptjEntityUid INTEGER NOT NULL , oiptjUrl TEXT , oiptjType INTEGER NOT NULL , oiptjId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS OfflineItemPendingTransferJob ( oiptjOiUid BIGINT NOT NULL , oiptjTableId INTEGER NOT NULL , oiptjEntityUid BIGINT NOT NULL , oiptjUrl TEXT , oiptjType INTEGER NOT NULL , oiptjId SERIAL PRIMARY KEY NOT NULL )MIGRATION_137_138ALTER TABLE ContentEntryVersion RENAME to ContentEntryVersion_OLDCREATE TABLE IF NOT EXISTS ContentEntryVersion ( cevContentEntryUid INTEGER NOT NULL , cevUrl TEXT , cevContentType TEXT , cevManifestUrl TEXT , cevSize INTEGER NOT NULL , cevInActive INTEGER NOT NULL , cevLastModified INTEGER NOT NULL , cevLct INTEGER NOT NULL , cevUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )INSERT INTO ContentEntryVersion (cevContentEntryUid, cevUrl, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid) SELECT cevContentEntryUid, cevUrl, cevContentType, cevSitemapUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid FROM ContentEntryVersion_OLDDROP TABLE ContentEntryVersion_OLDALTER TABLE ContentEntryVersion RENAME COLUMN cevSitemapUrl TO cevManifestUrlMIGRATION_138_139CREATE TABLE IF NOT EXISTS ContentEntryVersion ( cevContentEntryUid INTEGER NOT NULL , cevOpenUri TEXT , cevContentType TEXT , cevManifestUrl TEXT , cevSize INTEGER NOT NULL , cevInActive INTEGER NOT NULL , cevLastModified INTEGER NOT NULL , cevLct INTEGER NOT NULL , cevUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )INSERT INTO ContentEntryVersion (cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid) SELECT cevContentEntryUid, cevUrl, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid FROM ContentEntryVersion_OLDALTER TABLE ContentEntryVersion RENAME COLUMN cevUrl to cevOpenUriMIGRATION_139_140CREATE INDEX transferjob_tjuid ON TransferJobItem (tjiTjUid)MIGRATION_140_141ALTER TABLE UserSession ALTER COLUMN usLcb TYPE BIGINTMIGRATION_141_142DROP TABLE IF EXISTS ClazzAssignmentContentJoinMIGRATION_142_143ALTER TABLE ContentEntryParentChildJoin ADD COLUMN cepcjDeleted INTEGER NOT NULL DEFAULT 0CREATE TABLE IF NOT EXISTS DeletedItem ( delItemName TEXT , delItemIconUri TEXT , delItemLastModTime INTEGER NOT NULL , delItemTimeDeleted INTEGER NOT NULL , delItemEntityTable INTEGER NOT NULL , delItemEntityUid INTEGER NOT NULL , delItemDeletedByPersonUid INTEGER NOT NULL , delItemStatus INTEGER NOT NULL , delItemIsFolder INTEGER NOT NULL DEFAULT 0 , delItemUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE INDEX delitem_idx_status_time ON DeletedItem (delItemStatus, delItemTimeDeleted)ALTER TABLE ContentEntryParentChildJoin ADD COLUMN cepcjDeleted BOOL NOT NULL DEFAULT falseCREATE TABLE IF NOT EXISTS DeletedItem ( delItemName TEXT , delItemIconUri TEXT , delItemLastModTime BIGINT NOT NULL , delItemTimeDeleted BIGINT NOT NULL , delItemEntityTable INTEGER NOT NULL , delItemEntityUid BIGINT NOT NULL , delItemDeletedByPersonUid BIGINT NOT NULL , delItemStatus INTEGER NOT NULL , delItemIsFolder BOOL NOT NULL DEFAULT false, delItemUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_143_144DROP TABLE IF EXISTS MessageCREATE TABLE IF NOT EXISTS Message ( messageSenderPersonUid INTEGER NOT NULL , messageToPersonUid INTEGER NOT NULL , messageText TEXT , messageTimestamp INTEGER NOT NULL , messageLct INTEGER NOT NULL , messageUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS Message ( messageSenderPersonUid BIGINT NOT NULL , messageToPersonUid BIGINT NOT NULL , messageText TEXT , messageTimestamp BIGINT NOT NULL , messageLct BIGINT NOT NULL , messageUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_144_145_SERVERinsertOutgoingReplicationSql INSERT INTO OutgoingReplication(destNodeId, orTableId, orPk1, orPk2) SELECT UserSession.usClientNodeId AS destNodeId, libentitiesMessageTABLE_ID AS orTableId, NEW.messageUid AS orPk1, 0 as orPk2 FROM UserSession WHERE ( UserSession.usPersonUid = NEW.messageSenderPersonUid OR UserSession.usPersonUid = NEW.messageToPersonUid) AND UserSession.usStatus = UserSessionSTATUS_ACTIVE AND UserSession.usClientNodeId NOT IN (SELECT ReplicationOperation.repOpRemoteNodeId FROM ReplicationOperation WHERE ReplicationOperation.repOpTableId = ); CREATE TRIGGER IF NOT EXISTS message_send_trigger AFTER INSERT ON Message FOR EACH ROW BEGIN END CREATE OR REPLACE FUNCTION message_send_fn() RETURNS TRIGGER AS $$ BEGIN RETURN NEW; END $$ LANGUAGE plpgsql CREATE TRIGGER message_send_trig AFTER INSERT ON Message FOR EACH ROW EXECUTE PROCEDURE message_send_fn() MIGRATION_144_145_CLIENTMIGRATION_145_146CREATE INDEX message_idx_send_to_time ON Message (messageSenderPersonUid, messageToPersonUid, messageTimestamp)MIGRATION_146_147ALTER TABLE CacheLockJoin ALTER COLUMN cljLockId TYPE BIGINTMIGRATION_147_148ALTER TABLE TransferJob ADD COLUMN tjOiUid BIGINT NOT NULL DEFAULT 0ALTER TABLE CacheLockJoin ADD COLUMN cljOiUid BIGINT NOT NULL DEFAULT 0ALTER TABLE TransferJob ADD COLUMN tjOiUid INTEGER NOT NULL DEFAULT 0ALTER TABLE CacheLockJoin ADD COLUMN cljOiUid INTEGER NOT NULL DEFAULT 0CREATE INDEX idx_clj_offline_item_uid ON CacheLockJoin (cljOiUid)MIGRATION_148_149_CLIENT_WITH_OFFLINE_ITEMSit CREATE TRIGGER IF NOT EXISTS offline_item_inactive_trig AFTER UPDATE ON OfflineItem FOR EACH ROW WHEN NEW.oiActive = 0 AND OLD.oiActive = 1 BEGIN UPDATE CacheLockJoin SET cljStatus = CacheLockJoinSTATUS_PENDING_DELETE WHERE cljOiUid = NEW.oiUid; END MIGRATION_148_149_NO_OFFLINE_ITEMSMIGRATION_149_150fieldTypeINTEGERBIGINTALTER TABLE ContentEntryVersion ADD COLUMN cevStorageSize NOT NULL DEFAULT 0ALTER TABLE ContentEntryVersion ADD COLUMN cevOriginalSize MIGRATION_150_151ALTER TABLE TransferJobItem ADD COLUMN tjiPartialTmpFile TEXTMIGRATION_151_152 CREATE OR REPLACE FUNCTION retain_c_clj_50_personPictureUri() RETURNS TRIGGER AS $$ BEGIN INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(50, NEW.personPictureUid, NEW.personPictureUri, 0, 1, 1); RETURN NEW; END $$ LANGUAGE plpgsql CREATE OR REPLACE FUNCTION retain_d_clj_50_personPictureUri() RETURNS TRIGGER AS $$ BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 50 AND cljEntityUid = OLD.personPictureUid AND cljUrl = OLD.personPictureUri; RETURN OLD; END $$ LANGUAGE plpgsql CREATE TRIGGER retain_c_clj_50_personPictureUri_ins_t AFTER INSERT ON PersonPicture FOR EACH ROW WHEN (NEW.personPictureUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_50_personPictureUri(); CREATE TRIGGER retain_c_clj_50_personPictureUri_upd_t AFTER UPDATE ON PersonPicture FOR EACH ROW WHEN (NEW.personPictureUri IS DISTINCT FROM OLD.personPictureUri AND OLD.personPictureUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_50_personPictureUri(); CREATE TRIGGER retain_d_clj_50_personPictureUri_upd_t AFTER UPDATE ON PersonPicture FOR EACH ROW WHEN (NEW.personPictureUri IS DISTINCT FROM OLD.personPictureUri AND NEW.personPictureUri IS NOT NULL) EXECUTE FUNCTION retain_d_clj_50_personPictureUri(); CREATE OR REPLACE FUNCTION retain_c_clj_50_personPictureThumbnailUr() RETURNS TRIGGER AS $$ BEGIN INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(50, NEW.personPictureUid, NEW.personPictureThumbnailUri, 0, 1, 1); RETURN NEW; END $$ LANGUAGE plpgsql CREATE OR REPLACE FUNCTION retain_d_clj_50_personPictureThumbnailUr() RETURNS TRIGGER AS $$ BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 50 AND cljEntityUid = OLD.personPictureUid AND cljUrl = OLD.personPictureThumbnailUri; RETURN OLD; END $$ LANGUAGE plpgsql CREATE TRIGGER retain_c_clj_50_personPictureThumbnailUr_ins_t AFTER INSERT ON PersonPicture FOR EACH ROW WHEN (NEW.personPictureThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_50_personPictureThumbnailUr(); CREATE TRIGGER retain_c_clj_50_personPictureThumbnailUr_upd_t AFTER UPDATE ON PersonPicture FOR EACH ROW WHEN (NEW.personPictureThumbnailUri IS DISTINCT FROM OLD.personPictureThumbnailUri AND OLD.personPictureThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_50_personPictureThumbnailUr(); CREATE TRIGGER retain_d_clj_50_personPictureThumbnailUr_upd_t AFTER UPDATE ON PersonPicture FOR EACH ROW WHEN (NEW.personPictureThumbnailUri IS DISTINCT FROM OLD.personPictureThumbnailUri AND NEW.personPictureThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_d_clj_50_personPictureThumbnailUr(); CREATE OR REPLACE FUNCTION retain_c_clj_125_coursePictureUri() RETURNS TRIGGER AS $$ BEGIN INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(125, NEW.coursePictureUid, NEW.coursePictureUri, 0, 1, 1); RETURN NEW; END $$ LANGUAGE plpgsql CREATE OR REPLACE FUNCTION retain_d_clj_125_coursePictureUri() RETURNS TRIGGER AS $$ BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 125 AND cljEntityUid = OLD.coursePictureUid AND cljUrl = OLD.coursePictureUri; RETURN OLD; END $$ LANGUAGE plpgsql CREATE TRIGGER retain_c_clj_125_coursePictureUri_ins_t AFTER INSERT ON CoursePicture FOR EACH ROW WHEN (NEW.coursePictureUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_125_coursePictureUri(); CREATE TRIGGER retain_c_clj_125_coursePictureUri_upd_t AFTER UPDATE ON CoursePicture FOR EACH ROW WHEN (NEW.coursePictureUri IS DISTINCT FROM OLD.coursePictureUri AND OLD.coursePictureUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_125_coursePictureUri(); CREATE TRIGGER retain_d_clj_125_coursePictureUri_upd_t AFTER UPDATE ON CoursePicture FOR EACH ROW WHEN (NEW.coursePictureUri IS DISTINCT FROM OLD.coursePictureUri AND NEW.coursePictureUri IS NOT NULL) EXECUTE FUNCTION retain_d_clj_125_coursePictureUri(); CREATE OR REPLACE FUNCTION retain_c_clj_125_coursePictureThumbnailUr() RETURNS TRIGGER AS $$ BEGIN INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(125, NEW.coursePictureUid, NEW.coursePictureThumbnailUri, 0, 1, 1); RETURN NEW; END $$ LANGUAGE plpgsql CREATE OR REPLACE FUNCTION retain_d_clj_125_coursePictureThumbnailUr() RETURNS TRIGGER AS $$ BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 125 AND cljEntityUid = OLD.coursePictureUid AND cljUrl = OLD.coursePictureThumbnailUri; RETURN OLD; END $$ LANGUAGE plpgsql CREATE TRIGGER retain_c_clj_125_coursePictureThumbnailUr_ins_t AFTER INSERT ON CoursePicture FOR EACH ROW WHEN (NEW.coursePictureThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_125_coursePictureThumbnailUr(); CREATE TRIGGER retain_c_clj_125_coursePictureThumbnailUr_upd_t AFTER UPDATE ON CoursePicture FOR EACH ROW WHEN (NEW.coursePictureThumbnailUri IS DISTINCT FROM OLD.coursePictureThumbnailUri AND OLD.coursePictureThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_125_coursePictureThumbnailUr(); CREATE TRIGGER retain_d_clj_125_coursePictureThumbnailUr_upd_t AFTER UPDATE ON CoursePicture FOR EACH ROW WHEN (NEW.coursePictureThumbnailUri IS DISTINCT FROM OLD.coursePictureThumbnailUri AND NEW.coursePictureThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_d_clj_125_coursePictureThumbnailUr(); MIGRATION_152_153CREATE TABLE IF NOT EXISTS EnrolmentRequest ( erClazzUid INTEGER NOT NULL , erClazzName TEXT , erPersonUid INTEGER NOT NULL , erPersonFullname TEXT , erPersonPictureUri TEXT , erPersonUsername TEXT , erRole INTEGER NOT NULL , erRequestTime INTEGER NOT NULL , erStatus INTEGER NOT NULL , erStatusSetByPersonUid INTEGER NOT NULL , erDeleted INTEGER NOT NULL , erStatusSetAuth TEXT , erLastModified INTEGER NOT NULL , erUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS EnrolmentRequest ( erClazzUid BIGINT NOT NULL , erClazzName TEXT , erPersonUid BIGINT NOT NULL , erPersonFullname TEXT , erPersonPictureUri TEXT , erPersonUsername TEXT , erRole INTEGER NOT NULL , erRequestTime BIGINT NOT NULL , erStatus INTEGER NOT NULL , erStatusSetByPersonUid BIGINT NOT NULL , erDeleted BOOL NOT NULL , erStatusSetAuth TEXT , erLastModified BIGINT NOT NULL , erUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE INDEX idx_enrolmentrequest_by_clazz ON EnrolmentRequest (erClazzUid, erStatus)CREATE INDEX idx_enrolmentrequest_by_person ON EnrolmentRequest (erPersonUid, erStatus)MIGRATION_153_154CREATE TABLE IF NOT EXISTS CoursePermission ( cpLastModified INTEGER NOT NULL , cpClazzUid INTEGER NOT NULL , cpToEnrolmentRole INTEGER NOT NULL , cpToPersonUid INTEGER NOT NULL , cpToGroupUid INTEGER NOT NULL , cpPermissionsFlag INTEGER NOT NULL , cpIsDeleted INTEGER NOT NULL , cpUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS SystemPermission ( spToPersonUid INTEGER NOT NULL , spToGroupUid INTEGER NOT NULL , spPermissionsFlag INTEGER NOT NULL , spLastModified INTEGER NOT NULL , spIsDeleted INTEGER NOT NULL , spUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )ALTER TABLE Clazz ADD COLUMN clazzOwnerPersonUid INTEGER NOT NULL DEFAULT 0CREATE TABLE IF NOT EXISTS CoursePermission ( cpLastModified BIGINT NOT NULL , cpClazzUid BIGINT NOT NULL , cpToEnrolmentRole INTEGER NOT NULL , cpToPersonUid BIGINT NOT NULL , cpToGroupUid BIGINT NOT NULL , cpPermissionsFlag BIGINT NOT NULL , cpIsDeleted BOOL NOT NULL , cpUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS SystemPermission ( spToPersonUid BIGINT NOT NULL , spToGroupUid BIGINT NOT NULL , spPermissionsFlag BIGINT NOT NULL , spLastModified BIGINT NOT NULL , spIsDeleted BOOL NOT NULL , spUid BIGSERIAL PRIMARY KEY NOT NULL )ALTER TABLE Clazz ADD COLUMN clazzOwnerPersonUid BIGINT NOT NULL DEFAULT 0CREATE INDEX idx_coursepermission_clazzuid ON CoursePermission (cpClazzUid)CREATE INDEX idx_systempermission_personuid ON SystemPermission (spToPersonUid)MIGRATION_154_155ALTER TABLE CourseAssignmentSubmission ADD COLUMN casClazzUid INTEGER NOT NULL DEFAULT 0ALTER TABLE CourseAssignmentMark ADD COLUMN camClazzUid INTEGER NOT NULL DEFAULT 0ALTER TABLE CourseAssignmentSubmission ADD COLUMN casClazzUid BIGINT NOT NULL DEFAULT 0ALTER TABLE CourseAssignmentMark ADD COLUMN camClazzUid BIGINT NOT NULL DEFAULT 0MIGRATION_155_156_SERVERfalseVal0false INSERT INTO SystemPermission(spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) SELECT Person.personUid AS spToPersonUid, 0 AS spToGroupUid, CASE WHEN Person.username = 'admin' THEN LongMAX_VALUE ELSE 0 END AS spPermissionsFlag, utilsystemTimeInMillis AS spLastModified, AS spIsDeleted FROM Person INSERT INTO CoursePermission(cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) SELECT AS cpLastModified, Clazz.clazzUid AS cpClazzUid, ClazzEnrolmentROLE_TEACHER AS cpToEnrolmentRole, 0 AS cpToPersonUid, 0 AS cpToGroupUid, CoursePermissionTEACHER_DEFAULT_PERMISSIONS AS cpPermissionsFlag, AS cpIsDeleted FROM Clazz ROLE_STUDENTSTUDENT_DEFAULT_PERMISSIONS UPDATE Clazz SET clazzOwnerPersonUid = (SELECT Person.personUid FROM Person WHERE Person.username = 'admin' LIMIT 1) UPDATE ScopedGrant SET sgPermissions = 0, sgLct = MIGRATION_155_156_CLIENTMIGRATION_156_157DROP TABLE IF EXISTS CourseAssignmentSubmissionAttachmentCREATE TABLE IF NOT EXISTS CourseAssignmentSubmissionFile ( casaSubmissionUid INTEGER NOT NULL , casaCaUid INTEGER NOT NULL , casaClazzUid INTEGER NOT NULL , casaMimeType TEXT , casaFileName TEXT , casaUri TEXT , casaSize INTEGER NOT NULL , casaTimestamp INTEGER NOT NULL , casaUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS CourseAssignmentSubmissionFile ( casaSubmissionUid BIGINT NOT NULL , casaCaUid BIGINT NOT NULL , casaClazzUid BIGINT NOT NULL , casaMimeType TEXT , casaFileName TEXT , casaUri TEXT , casaSize INTEGER NOT NULL , casaTimestamp BIGINT NOT NULL , casaUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_157_158ALTER TABLE CourseAssignmentSubmissionFile ADD COLUMN casaDeleted INTEGER NOT NULL DEFAULT 0ALTER TABLE CourseAssignmentSubmissionFile ADD COLUMN casaDeleted BOOL NOT NULL DEFAULT FALSEMIGRATION_158_159colTypeALTER TABLE CourseAssignmentSubmissionFile ADD COLUMN casaSubmitterUid MIGRATION_159_160DROP TABLE IF EXISTS CommentsCREATE TABLE IF NOT EXISTS Comments ( commentsText TEXT , commentsEntityUid INTEGER NOT NULL , commentsStatus INTEGER NOT NULL , commentsFromPersonUid INTEGER NOT NULL , commentsForSubmitterUid INTEGER NOT NULL , commentsFromSubmitterUid INTEGER NOT NULL , commentsFlagged INTEGER NOT NULL , commentsDeleted INTEGER NOT NULL , commentsDateTimeAdded INTEGER NOT NULL , commentsLct INTEGER NOT NULL , commentsUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS Comments ( commentsText TEXT , commentsEntityUid BIGINT NOT NULL , commentsStatus INTEGER NOT NULL , commentsFromPersonUid BIGINT NOT NULL , commentsForSubmitterUid BIGINT NOT NULL , commentsFromSubmitterUid BIGINT NOT NULL , commentsFlagged BOOL NOT NULL , commentsDeleted BOOL NOT NULL , commentsDateTimeAdded BIGINT NOT NULL , commentsLct BIGINT NOT NULL , commentsUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE INDEX idx_comments_entity_submitter ON Comments (commentsEntityUid, commentsForSubmitterUid)MIGRATION_160_161ALTER TABLE DiscussionPost DROP COLUMN discussionPostVisibleALTER TABLE DiscussionPost DROP COLUMN discussionPostArchiveALTER TABLE DiscussionPost ADD COLUMN dpDeleted BOOL NOT NULL DEFAULT FALSEALTER TABLE DiscussionPost ADD COLUMN discussionPostReplyToPostUid BIGINT NOT NULL DEFAULT 0ALTER TABLE DiscussionPost ADD COLUMN discussionPostCourseBlockUid BIGINT NOT NULL DEFAULT 0ALTER TABLE DiscussionPost RENAME to DiscussionPost_OLDCREATE TABLE IF NOT EXISTS DiscussionPost ( discussionPostReplyToPostUid INTEGER NOT NULL , discussionPostTitle TEXT , discussionPostMessage TEXT , discussionPostStartDate INTEGER NOT NULL , discussionPostCourseBlockUid INTEGER NOT NULL , dpDeleted INTEGER NOT NULL , discussionPostStartedPersonUid INTEGER NOT NULL , discussionPostClazzUid INTEGER NOT NULL , discussionPostLct INTEGER NOT NULL , discussionPostUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )INSERT INTO DiscussionPost (discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostUid) SELECT discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, 0 AS dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostUid FROM DiscussionPost_OLDDROP TABLE DiscussionPost_OLDMIGRATION_161_162_SERVER CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Ins_casaUri AFTER INSERT ON CourseAssignmentSubmissionFile FOR EACH ROW WHEN NEW.casaUri IS NOT NULL BEGIN INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1); END CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Upd_casaUri_New AFTER UPDATE ON CourseAssignmentSubmissionFile FOR EACH ROW WHEN NEW.casaUri != OLD.casaUri AND NEW.casaUri IS NOT NULL BEGIN INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1); END CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Upd_casaUri_Old AFTER UPDATE ON CourseAssignmentSubmissionFile FOR EACH ROW WHEN NEW.casaUri != OLD.casaUri AND OLD.casaUri IS NOT NULL BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 90 AND cljEntityUid = OLD.casaUid AND cljUrl = OLD.casaUri; END CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Del_casaUri AFTER DELETE ON CourseAssignmentSubmissionFile FOR EACH ROW WHEN OLD.casaUri IS NOT NULL BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 90 AND cljEntityUid = OLD.casaUid AND cljUrl = OLD.casaUri; END CREATE OR REPLACE FUNCTION retain_c_clj_90_casaUri() RETURNS TRIGGER AS $$ BEGIN INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1); RETURN NEW; END $$ LANGUAGE plpgsql CREATE OR REPLACE FUNCTION retain_d_clj_90_casaUri() RETURNS TRIGGER AS $$ BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 90 AND cljEntityUid = OLD.casaUid AND cljUrl = OLD.casaUri; RETURN OLD; END $$ LANGUAGE plpgsql CREATE TRIGGER retain_c_clj_90_casaUri_ins_t AFTER INSERT ON CourseAssignmentSubmissionFile FOR EACH ROW WHEN (NEW.casaUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_90_casaUri(); CREATE TRIGGER retain_c_clj_90_casaUri_upd_t AFTER UPDATE ON CourseAssignmentSubmissionFile FOR EACH ROW WHEN (NEW.casaUri IS DISTINCT FROM OLD.casaUri AND OLD.casaUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_90_casaUri(); CREATE TRIGGER retain_d_clj_90_casaUri_upd_t AFTER UPDATE ON CourseAssignmentSubmissionFile FOR EACH ROW WHEN (NEW.casaUri IS DISTINCT FROM OLD.casaUri AND NEW.casaUri IS NOT NULL) EXECUTE FUNCTION retain_d_clj_90_casaUri(); MIGRATION_161_162_CLIENTMIGRATION_162_163ALTER TABLE ContentEntry ADD COLUMN contentOwnerType INTEGER NOT NULL DEFAULT 0MIGRATION_163_164ALTER TABLE ContentEntryImportJob ADD COLUMN cjiCompressionLevel INTEGER NOT NULL DEFAULT 0MIGRATION_164_165ALTER TABLE ContentEntryImportJob ADD COLUMN cjiError TEXTALTER TABLE ContentEntryImportJob ADD COLUMN cjiErrorDismissed INTEGER NOT NULL DEFAULT 0ALTER TABLE ContentEntryImportJob ADD COLUMN cjiErrorDismissed BOOL NOT NULL DEFAULT FALSEMIGRATION_165_166ALTER TABLE ContentEntryImportJob ADD COLUMN cjiOwnerPersonUid INTEGER NOT NULL DEFAULT 0ALTER TABLE ContentEntryImportJob ADD COLUMN cjiOwnerPersonUid BIGINT NOT NULL DEFAULT 0MIGRATION_166_167UPDATE ContentEntryImportJob SET cjiStatus = 24 WHERE cjiStatus = 4MIGRATION_167_168CREATE TABLE IF NOT EXISTS CourseBlockPicture ( cbpUid INTEGER PRIMARY KEY NOT NULL , cbpLct INTEGER NOT NULL , cbpPictureUri TEXT , cbpThumbnailUri TEXT )CREATE TABLE IF NOT EXISTS CourseBlockPicture ( cbpUid BIGINT PRIMARY KEY NOT NULL , cbpLct BIGINT NOT NULL , cbpPictureUri TEXT , cbpThumbnailUri TEXT )MIGRATION_168_169CREATE TABLE IF NOT EXISTS ContentEntryPicture2 ( cepUid INTEGER PRIMARY KEY NOT NULL , cepLct INTEGER NOT NULL , cepPictureUri TEXT , cepThumbnailUri TEXT )CREATE TABLE IF NOT EXISTS ContentEntryPicture2 ( cepUid BIGINT PRIMARY KEY NOT NULL , cepLct BIGINT NOT NULL , cepPictureUri TEXT , cepThumbnailUri TEXT )MIGRATION_169_170_SERVER CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Ins_cbpPictureUri AFTER INSERT ON CourseBlockPicture FOR EACH ROW WHEN NEW.cbpPictureUri IS NOT NULL BEGIN INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1); END CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Ins_cbpThumbnailUri AFTER INSERT ON CourseBlockPicture FOR EACH ROW WHEN NEW.cbpThumbnailUri IS NOT NULL BEGIN INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1); END CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpPictureUri_New AFTER UPDATE ON CourseBlockPicture FOR EACH ROW WHEN NEW.cbpPictureUri != OLD.cbpPictureUri AND NEW.cbpPictureUri IS NOT NULL BEGIN INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1); END CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpPictureUri_Old AFTER UPDATE ON CourseBlockPicture FOR EACH ROW WHEN NEW.cbpPictureUri != OLD.cbpPictureUri AND OLD.cbpPictureUri IS NOT NULL BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6677 AND cljEntityUid = OLD.cbpUid AND cljUrl = OLD.cbpPictureUri; END CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpThumbnailUri_New AFTER UPDATE ON CourseBlockPicture FOR EACH ROW WHEN NEW.cbpThumbnailUri != OLD.cbpThumbnailUri AND NEW.cbpThumbnailUri IS NOT NULL BEGIN INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1); END CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpThumbnailUri_Old AFTER UPDATE ON CourseBlockPicture FOR EACH ROW WHEN NEW.cbpThumbnailUri != OLD.cbpThumbnailUri AND OLD.cbpThumbnailUri IS NOT NULL BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6677 AND cljEntityUid = OLD.cbpUid AND cljUrl = OLD.cbpThumbnailUri; END CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Del_cbpPictureUri AFTER DELETE ON CourseBlockPicture FOR EACH ROW WHEN OLD.cbpPictureUri IS NOT NULL BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6677 AND cljEntityUid = OLD.cbpUid AND cljUrl = OLD.cbpPictureUri; END CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Del_cbpThumbnailUri AFTER DELETE ON CourseBlockPicture FOR EACH ROW WHEN OLD.cbpThumbnailUri IS NOT NULL BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6677 AND cljEntityUid = OLD.cbpUid AND cljUrl = OLD.cbpThumbnailUri; END CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Ins_cepPictureUri AFTER INSERT ON ContentEntryPicture2 FOR EACH ROW WHEN NEW.cepPictureUri IS NOT NULL BEGIN INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1); END CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Ins_cepThumbnailUri AFTER INSERT ON ContentEntryPicture2 FOR EACH ROW WHEN NEW.cepThumbnailUri IS NOT NULL BEGIN INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1); END CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepPictureUri_New AFTER UPDATE ON ContentEntryPicture2 FOR EACH ROW WHEN NEW.cepPictureUri != OLD.cepPictureUri AND NEW.cepPictureUri IS NOT NULL BEGIN INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1); END CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepPictureUri_Old AFTER UPDATE ON ContentEntryPicture2 FOR EACH ROW WHEN NEW.cepPictureUri != OLD.cepPictureUri AND OLD.cepPictureUri IS NOT NULL BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6678 AND cljEntityUid = OLD.cepUid AND cljUrl = OLD.cepPictureUri; END CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepThumbnailUri_New AFTER UPDATE ON ContentEntryPicture2 FOR EACH ROW WHEN NEW.cepThumbnailUri != OLD.cepThumbnailUri AND NEW.cepThumbnailUri IS NOT NULL BEGIN INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1); END CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepThumbnailUri_Old AFTER UPDATE ON ContentEntryPicture2 FOR EACH ROW WHEN NEW.cepThumbnailUri != OLD.cepThumbnailUri AND OLD.cepThumbnailUri IS NOT NULL BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6678 AND cljEntityUid = OLD.cepUid AND cljUrl = OLD.cepThumbnailUri; END CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Del_cepPictureUri AFTER DELETE ON ContentEntryPicture2 FOR EACH ROW WHEN OLD.cepPictureUri IS NOT NULL BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6678 AND cljEntityUid = OLD.cepUid AND cljUrl = OLD.cepPictureUri; END CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Del_cepThumbnailUri AFTER DELETE ON ContentEntryPicture2 FOR EACH ROW WHEN OLD.cepThumbnailUri IS NOT NULL BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6678 AND cljEntityUid = OLD.cepUid AND cljUrl = OLD.cepThumbnailUri; END CREATE OR REPLACE FUNCTION retain_c_clj_6677_cbpPictureUri() RETURNS TRIGGER AS $$ BEGIN INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1); RETURN NEW; END $$ LANGUAGE plpgsql CREATE OR REPLACE FUNCTION retain_d_clj_6677_cbpPictureUri() RETURNS TRIGGER AS $$ BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6677 AND cljEntityUid = OLD.cbpUid AND cljUrl = OLD.cbpPictureUri; RETURN OLD; END $$ LANGUAGE plpgsql CREATE TRIGGER retain_c_clj_6677_cbpPictureUri_ins_t AFTER INSERT ON CourseBlockPicture FOR EACH ROW WHEN (NEW.cbpPictureUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_6677_cbpPictureUri(); CREATE TRIGGER retain_c_clj_6677_cbpPictureUri_upd_t AFTER UPDATE ON CourseBlockPicture FOR EACH ROW WHEN (NEW.cbpPictureUri IS DISTINCT FROM OLD.cbpPictureUri AND OLD.cbpPictureUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_6677_cbpPictureUri(); CREATE TRIGGER retain_d_clj_6677_cbpPictureUri_upd_t AFTER UPDATE ON CourseBlockPicture FOR EACH ROW WHEN (NEW.cbpPictureUri IS DISTINCT FROM OLD.cbpPictureUri AND NEW.cbpPictureUri IS NOT NULL) EXECUTE FUNCTION retain_d_clj_6677_cbpPictureUri(); CREATE OR REPLACE FUNCTION retain_c_clj_6677_cbpThumbnailUri() RETURNS TRIGGER AS $$ BEGIN INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1); RETURN NEW; END $$ LANGUAGE plpgsql CREATE OR REPLACE FUNCTION retain_d_clj_6677_cbpThumbnailUri() RETURNS TRIGGER AS $$ BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6677 AND cljEntityUid = OLD.cbpUid AND cljUrl = OLD.cbpThumbnailUri; RETURN OLD; END $$ LANGUAGE plpgsql CREATE TRIGGER retain_c_clj_6677_cbpThumbnailUri_ins_t AFTER INSERT ON CourseBlockPicture FOR EACH ROW WHEN (NEW.cbpThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_6677_cbpThumbnailUri(); CREATE TRIGGER retain_c_clj_6677_cbpThumbnailUri_upd_t AFTER UPDATE ON CourseBlockPicture FOR EACH ROW WHEN (NEW.cbpThumbnailUri IS DISTINCT FROM OLD.cbpThumbnailUri AND OLD.cbpThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_6677_cbpThumbnailUri(); CREATE TRIGGER retain_d_clj_6677_cbpThumbnailUri_upd_t AFTER UPDATE ON CourseBlockPicture FOR EACH ROW WHEN (NEW.cbpThumbnailUri IS DISTINCT FROM OLD.cbpThumbnailUri AND NEW.cbpThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_d_clj_6677_cbpThumbnailUri(); CREATE OR REPLACE FUNCTION retain_c_clj_6678_cepPictureUri() RETURNS TRIGGER AS $$ BEGIN INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1); RETURN NEW; END $$ LANGUAGE plpgsql CREATE OR REPLACE FUNCTION retain_d_clj_6678_cepPictureUri() RETURNS TRIGGER AS $$ BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6678 AND cljEntityUid = OLD.cepUid AND cljUrl = OLD.cepPictureUri; RETURN OLD; END $$ LANGUAGE plpgsql CREATE TRIGGER retain_c_clj_6678_cepPictureUri_ins_t AFTER INSERT ON ContentEntryPicture2 FOR EACH ROW WHEN (NEW.cepPictureUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_6678_cepPictureUri(); CREATE TRIGGER retain_c_clj_6678_cepPictureUri_upd_t AFTER UPDATE ON ContentEntryPicture2 FOR EACH ROW WHEN (NEW.cepPictureUri IS DISTINCT FROM OLD.cepPictureUri AND OLD.cepPictureUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_6678_cepPictureUri(); CREATE TRIGGER retain_d_clj_6678_cepPictureUri_upd_t AFTER UPDATE ON ContentEntryPicture2 FOR EACH ROW WHEN (NEW.cepPictureUri IS DISTINCT FROM OLD.cepPictureUri AND NEW.cepPictureUri IS NOT NULL) EXECUTE FUNCTION retain_d_clj_6678_cepPictureUri(); CREATE OR REPLACE FUNCTION retain_c_clj_6678_cepThumbnailUri() RETURNS TRIGGER AS $$ BEGIN INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType) VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1); RETURN NEW; END $$ LANGUAGE plpgsql CREATE OR REPLACE FUNCTION retain_d_clj_6678_cepThumbnailUri() RETURNS TRIGGER AS $$ BEGIN UPDATE CacheLockJoin SET cljStatus = 3 WHERE cljTableId = 6678 AND cljEntityUid = OLD.cepUid AND cljUrl = OLD.cepThumbnailUri; RETURN OLD; END $$ LANGUAGE plpgsql CREATE TRIGGER retain_c_clj_6678_cepThumbnailUri_ins_t AFTER INSERT ON ContentEntryPicture2 FOR EACH ROW WHEN (NEW.cepThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_6678_cepThumbnailUri(); CREATE TRIGGER retain_c_clj_6678_cepThumbnailUri_upd_t AFTER UPDATE ON ContentEntryPicture2 FOR EACH ROW WHEN (NEW.cepThumbnailUri IS DISTINCT FROM OLD.cepThumbnailUri AND OLD.cepThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_c_clj_6678_cepThumbnailUri(); CREATE TRIGGER retain_d_clj_6678_cepThumbnailUri_upd_t AFTER UPDATE ON ContentEntryPicture2 FOR EACH ROW WHEN (NEW.cepThumbnailUri IS DISTINCT FROM OLD.cepThumbnailUri AND NEW.cepThumbnailUri IS NOT NULL) EXECUTE FUNCTION retain_d_clj_6678_cepThumbnailUri(); MIGRATION_169_170_CLIENTMIGRATION_170_171CREATE TABLE IF NOT EXISTS TransferJobError ( tjeTjUid INTEGER NOT NULL , tjeTime INTEGER NOT NULL , tjeErrorStr TEXT , tjeDismissed INTEGER NOT NULL , tjeId INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS TransferJobError ( tjeTjUid INTEGER NOT NULL , tjeTime BIGINT NOT NULL , tjeErrorStr TEXT , tjeDismissed BOOL NOT NULL , tjeId SERIAL PRIMARY KEY NOT NULL )CREATE INDEX idx_transferjoberror_tjetjuid ON TransferJobError (tjeTjUid)MIGRATION_171_172ALTER TABLE CourseBlock ADD COLUMN cbSourcedId TEXTCREATE INDEX idx_courseblock_cbclazzuid ON CourseBlock (cbClazzUid)CREATE INDEX idx_courseblock_cbsourcedid ON CourseBlock (cbSourcedId)MIGRATION_172_194ALTER TABLE CourseBlock ADD COLUMN cbClazzSourcedId TEXTALTER TABLE CourseBlock ADD COLUMN cbCreatedByAppId TEXTALTER TABLE CourseBlock ADD COLUMN cbMetadata TEXTALTER TABLE CourseBlock RENAME to CourseBlock_OLDCREATE TABLE IF NOT EXISTS CourseBlock ( cbType INTEGER NOT NULL , cbIndentLevel INTEGER NOT NULL , cbModuleParentBlockUid INTEGER NOT NULL , cbTitle TEXT , cbDescription TEXT , cbCompletionCriteria INTEGER NOT NULL , cbHideUntilDate INTEGER NOT NULL , cbDeadlineDate INTEGER NOT NULL , cbLateSubmissionPenalty INTEGER NOT NULL , cbGracePeriodDate INTEGER NOT NULL , cbMaxPoints REAl , cbMinPoints REAL , cbIndex INTEGER NOT NULL , cbClazzUid INTEGER NOT NULL , cbClazzSourcedId TEXT , cbActive INTEGER NOT NULL , cbHidden INTEGER NOT NULL , cbEntityUid INTEGER NOT NULL , cbLct INTEGER NOT NULL , cbSourcedId TEXT , cbMetadata TEXT , cbCreatedByAppId TEXT , cbUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )INSERT INTO CourseBlock (cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, cbUid) SELECT cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, cbUid FROM CourseBlock_OLDDROP TABLE CourseBlock_OLDALTER TABLE CourseBlock ALTER COLUMN cbMaxPoints TYPE FLOATALTER TABLE CourseBlock ALTER COLUMN cbMaxPoints DROP NOT NULLALTER TABLE CourseBlock ALTER COLUMN cbMinPoints TYPE FLOATALTER TABLE CourseBlock ALTER COLUMN cbMinPoints DROP NOT NULLbigIntTypeforEachrangesIntRangerangeToRANGEALTER TABLE OutgoingReplication ADD COLUMN orPk ALTER TABLE OutgoingReplication RENAME to OutgoingReplication_OLDCREATE TABLE IF NOT EXISTS OutgoingReplication ( destNodeId INTEGER NOT NULL , orPk1 INTEGER NOT NULL , orPk2 INTEGER NOT NULL DEFAULT 0 , orPk3 INTEGER NOT NULL DEFAULT 0 , orPk4 INTEGER NOT NULL DEFAULT 0 , orTableId INTEGER NOT NULL , orUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )INSERT INTO OutgoingReplication (destNodeId, orPk1, orPk2, orPk3, orPk4, orTableId, orUid) SELECT destNodeId, orPk1, orPk2, orPk3, orPk4, orTableId, orUid FROM OutgoingReplication_OLDDROP TABLE OutgoingReplication_OLDALTER TABLE OutgoingReplication ALTER COLUMN orPk2 SET DEFAULT 0ArrayStudentResultStatementEntityAgentEntityVerbLangMapEntryXObjectEntityContextXObjectStatementJoinVerbEntityDROP TABLE IF EXISTS CREATE TABLE IF NOT EXISTS StudentResult ( srUid INTEGER PRIMARY KEY NOT NULL , srSourcedId TEXT , srCourseBlockUid INTEGER NOT NULL , srLineItemSourcedId TEXT , srLineItemHref TEXT , srClazzUid INTEGER NOT NULL , srAssignmentUid INTEGER NOT NULL , srStatus INTEGER NOT NULL , srMetaData TEXT , srStudentPersonUid INTEGER NOT NULL , srStudentPersonSourcedId TEXT , srStudentGroupId INTEGER NOT NULL , srMarkerPersonUid INTEGER NOT NULL , srMarkerGroupId INTEGER NOT NULL , srScoreStatus INTEGER NOT NULL , srScore REAl NOT NULL , srScoreDate INTEGER NOT NULL , srLastModified INTEGER NOT NULL , srComment TEXT , srAppId TEXT , srDeleted INTEGER NOT NULL )CREATE TABLE IF NOT EXISTS ActivityEntity ( actUid INTEGER PRIMARY KEY NOT NULL , actIdIri TEXT , actType TEXT , actMoreInfo TEXT , actInteractionType INTEGER NOT NULL , actCorrectResponsePatterns TEXT , actLct INTEGER NOT NULL )CREATE TABLE IF NOT EXISTS ActivityExtensionEntity ( aeeActivityUid INTEGER NOT NULL , aeeKeyHash INTEGER NOT NULL , aeeKey TEXT , aeeJson TEXT , aeeLastMod INTEGER NOT NULL , aeeIsDeleted INTEGER NOT NULL , PRIMARY KEY (aeeActivityUid, aeeKeyHash) )CREATE TABLE IF NOT EXISTS ActivityInteractionEntity ( aieActivityUid INTEGER NOT NULL , aieHash INTEGER NOT NULL , aieProp INTEGER NOT NULL , aieId TEXT , aieLastMod INTEGER NOT NULL , aieIsDeleted INTEGER NOT NULL , PRIMARY KEY (aieActivityUid, aieHash) )CREATE TABLE IF NOT EXISTS ActivityLangMapEntry ( almeActivityUid INTEGER NOT NULL , almeHash INTEGER NOT NULL , almeLangCode TEXT , almeValue TEXT , almeAieHash INTEGER NOT NULL , almeLastMod INTEGER NOT NULL , PRIMARY KEY (almeActivityUid, almeHash) )CREATE TABLE IF NOT EXISTS ActorEntity ( actorPersonUid INTEGER NOT NULL , actorName TEXT , actorMbox TEXT , actorMbox_sha1sum TEXT , actorOpenid TEXT , actorAccountName TEXT , actorAccountHomePage TEXT , actorEtag INTEGER NOT NULL , actorLct INTEGER NOT NULL , actorObjectType INTEGER NOT NULL , actorUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS GroupMemberActorJoin ( gmajGroupActorUid BIGINT NOT NULL , gmajMemberActorUid BIGINT NOT NULL , gmajLastMod BIGINT NOT NULL , PRIMARY KEY (gmajGroupActorUid, gmajMemberActorUid) )CREATE TABLE IF NOT EXISTS StatementContextActivityJoin ( scajFromStatementIdHi INTEGER NOT NULL , scajFromStatementIdLo INTEGER NOT NULL , scajToHash INTEGER NOT NULL , scajContextType INTEGER NOT NULL , scajToActivityUid INTEGER NOT NULL , scajToActivityId TEXT , scajEtag INTEGER NOT NULL , PRIMARY KEY (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash) )CREATE TABLE IF NOT EXISTS StatementEntity ( statementIdHi INTEGER NOT NULL , statementIdLo INTEGER NOT NULL , statementActorPersonUid INTEGER NOT NULL , statementVerbUid INTEGER NOT NULL , statementObjectType INTEGER NOT NULL , statementObjectUid1 INTEGER NOT NULL , statementObjectUid2 INTEGER NOT NULL , statementActorUid INTEGER NOT NULL , authorityActorUid INTEGER NOT NULL , teamUid INTEGER NOT NULL , resultCompletion INTEGER , resultSuccess INTEGER , resultScoreScaled REAl , resultScoreRaw REAl , resultScoreMin REAl , resultScoreMax REAl , resultDuration INTEGER , resultResponse TEXT , timestamp INTEGER NOT NULL , stored INTEGER NOT NULL , contextRegistrationHi INTEGER NOT NULL , contextRegistrationLo INTEGER NOT NULL , contextPlatform TEXT , contextStatementRefIdHi INTEGER NOT NULL , contextStatementRefIdLo INTEGER NOT NULL , contextInstructorActorUid INTEGER NOT NULL , statementLct INTEGER NOT NULL , extensionProgress INTEGER , completionOrProgress INTEGER NOT NULL , statementContentEntryUid INTEGER NOT NULL , statementLearnerGroupUid INTEGER NOT NULL , statementClazzUid INTEGER NOT NULL , statementCbUid INTEGER NOT NULL , statementDoorNode INTEGER NOT NULL , isSubStatement INTEGER NOT NULL , PRIMARY KEY (statementIdHi, statementIdLo) )CREATE TABLE IF NOT EXISTS StatementEntityJson ( stmtJsonIdHi INTEGER NOT NULL , stmtJsonIdLo INTEGER NOT NULL , stmtEtag INTEGER NOT NULL , fullStatement TEXT , PRIMARY KEY (stmtJsonIdHi, stmtJsonIdLo) )CREATE TABLE IF NOT EXISTS VerbEntity ( verbUid INTEGER PRIMARY KEY NOT NULL , verbUrlId TEXT , verbDeleted INTEGER NOT NULL , verbLct INTEGER NOT NULL )CREATE TABLE IF NOT EXISTS VerbLangMapEntry ( vlmeVerbUid INTEGER NOT NULL , vlmeLangHash INTEGER NOT NULL , vlmeLangCode TEXT , vlmeEntryString TEXT , vlmeLastModified INTEGER NOT NULL , PRIMARY KEY (vlmeVerbUid, vlmeLangHash) )CREATE TABLE IF NOT EXISTS XapiSessionEntity ( xseLastMod INTEGER NOT NULL , xseRegistrationHi INTEGER NOT NULL , xseRegistrationLo INTEGER NOT NULL , xseUsUid INTEGER NOT NULL , xseAccountPersonUid INTEGER NOT NULL , xseAccountUsername TEXT , xseClazzUid INTEGER NOT NULL , xseCbUid INTEGER NOT NULL , xseContentEntryUid INTEGER NOT NULL , xseRootActivityId TEXT , xseStartTime INTEGER NOT NULL , xseExpireTime INTEGER NOT NULL , xseAuth TEXT , xseUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS StudentResult ( srUid BIGINT PRIMARY KEY NOT NULL , srSourcedId TEXT , srCourseBlockUid BIGINT NOT NULL , srLineItemSourcedId TEXT , srLineItemHref TEXT , srClazzUid BIGINT NOT NULL , srAssignmentUid BIGINT NOT NULL , srStatus INTEGER NOT NULL , srMetaData TEXT , srStudentPersonUid BIGINT NOT NULL , srStudentPersonSourcedId TEXT , srStudentGroupId INTEGER NOT NULL , srMarkerPersonUid BIGINT NOT NULL , srMarkerGroupId INTEGER NOT NULL , srScoreStatus INTEGER NOT NULL , srScore FLOAT NOT NULL , srScoreDate BIGINT NOT NULL , srLastModified BIGINT NOT NULL , srComment TEXT , srAppId TEXT , srDeleted BOOL NOT NULL )CREATE TABLE IF NOT EXISTS ActivityEntity ( actUid BIGINT PRIMARY KEY NOT NULL , actIdIri TEXT , actType TEXT , actMoreInfo TEXT , actInteractionType INTEGER NOT NULL , actCorrectResponsePatterns TEXT , actLct BIGINT NOT NULL )CREATE TABLE IF NOT EXISTS ActivityExtensionEntity ( aeeActivityUid BIGINT NOT NULL , aeeKeyHash BIGINT NOT NULL , aeeKey TEXT , aeeJson TEXT , aeeLastMod BIGINT NOT NULL , aeeIsDeleted BOOL NOT NULL , PRIMARY KEY (aeeActivityUid, aeeKeyHash) )CREATE TABLE IF NOT EXISTS ActivityInteractionEntity ( aieActivityUid BIGINT NOT NULL , aieHash BIGINT NOT NULL , aieProp INTEGER NOT NULL , aieId TEXT , aieLastMod BIGINT NOT NULL , aieIsDeleted BOOL NOT NULL , PRIMARY KEY (aieActivityUid, aieHash) )CREATE TABLE IF NOT EXISTS ActivityLangMapEntry ( almeActivityUid BIGINT NOT NULL , almeHash BIGINT NOT NULL , almeLangCode TEXT , almeValue TEXT , almeAieHash BIGINT NOT NULL , almeLastMod BIGINT NOT NULL , PRIMARY KEY (almeActivityUid, almeHash) )CREATE TABLE IF NOT EXISTS ActorEntity ( actorPersonUid BIGINT NOT NULL , actorName TEXT , actorMbox TEXT , actorMbox_sha1sum TEXT , actorOpenid TEXT , actorAccountName TEXT , actorAccountHomePage TEXT , actorEtag BIGINT NOT NULL , actorLct BIGINT NOT NULL , actorObjectType INTEGER NOT NULL , actorUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE TABLE IF NOT EXISTS StatementContextActivityJoin ( scajFromStatementIdHi BIGINT NOT NULL , scajFromStatementIdLo BIGINT NOT NULL , scajToHash BIGINT NOT NULL , scajContextType INTEGER NOT NULL , scajToActivityUid BIGINT NOT NULL , scajToActivityId TEXT , scajEtag BIGINT NOT NULL , PRIMARY KEY (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash) )CREATE TABLE IF NOT EXISTS StatementEntity ( statementIdHi BIGINT NOT NULL , statementIdLo BIGINT NOT NULL , statementActorPersonUid BIGINT NOT NULL , statementVerbUid BIGINT NOT NULL , statementObjectType INTEGER NOT NULL , statementObjectUid1 BIGINT NOT NULL , statementObjectUid2 BIGINT NOT NULL , statementActorUid BIGINT NOT NULL , authorityActorUid BIGINT NOT NULL , teamUid BIGINT NOT NULL , resultCompletion BOOL , resultSuccess BOOL , resultScoreScaled FLOAT , resultScoreRaw FLOAT , resultScoreMin FLOAT , resultScoreMax FLOAT , resultDuration BIGINT , resultResponse TEXT , timestamp BIGINT NOT NULL , stored BIGINT NOT NULL , contextRegistrationHi BIGINT NOT NULL , contextRegistrationLo BIGINT NOT NULL , contextPlatform TEXT , contextStatementRefIdHi BIGINT NOT NULL , contextStatementRefIdLo BIGINT NOT NULL , contextInstructorActorUid BIGINT NOT NULL , statementLct BIGINT NOT NULL , extensionProgress INTEGER , completionOrProgress BOOL NOT NULL , statementContentEntryUid BIGINT NOT NULL , statementLearnerGroupUid BIGINT NOT NULL , statementClazzUid BIGINT NOT NULL , statementCbUid BIGINT NOT NULL , statementDoorNode BIGINT NOT NULL , isSubStatement BOOL NOT NULL , PRIMARY KEY (statementIdHi, statementIdLo) )CREATE TABLE IF NOT EXISTS StatementEntityJson ( stmtJsonIdHi BIGINT NOT NULL , stmtJsonIdLo BIGINT NOT NULL , stmtEtag BIGINT NOT NULL , fullStatement TEXT , PRIMARY KEY (stmtJsonIdHi, stmtJsonIdLo) )CREATE TABLE IF NOT EXISTS VerbEntity ( verbUid BIGINT PRIMARY KEY NOT NULL , verbUrlId TEXT , verbDeleted BOOL NOT NULL , verbLct BIGINT NOT NULL )CREATE TABLE IF NOT EXISTS VerbLangMapEntry ( vlmeVerbUid BIGINT NOT NULL , vlmeLangHash BIGINT NOT NULL , vlmeLangCode TEXT , vlmeEntryString TEXT , vlmeLastModified BIGINT NOT NULL , PRIMARY KEY (vlmeVerbUid, vlmeLangHash) )CREATE TABLE IF NOT EXISTS XapiSessionEntity ( xseLastMod BIGINT NOT NULL , xseRegistrationHi BIGINT NOT NULL , xseRegistrationLo BIGINT NOT NULL , xseUsUid BIGINT NOT NULL , xseAccountPersonUid BIGINT NOT NULL , xseAccountUsername TEXT , xseClazzUid BIGINT NOT NULL , xseCbUid BIGINT NOT NULL , xseContentEntryUid BIGINT NOT NULL , xseRootActivityId TEXT , xseStartTime BIGINT NOT NULL , xseExpireTime BIGINT NOT NULL , xseAuth TEXT , xseUid BIGSERIAL PRIMARY KEY NOT NULL )CREATE INDEX idx_actorentity_actorobjecttype ON ActorEntity (actorObjectType)CREATE INDEX idx_actorentity_uid_personuid ON ActorEntity (actorPersonUid)CREATE INDEX idx_stmt_actor_person ON StatementEntity (statementActorPersonUid)CREATE INDEX idx_statement_clazz_person ON StatementEntity (statementClazzUid, statementActorPersonUid)CREATE INDEX idx_statement_cbuid_actor ON StatementEntity (statementCbUid, statementActorUid)CREATE INDEX idx_groupmemberactorjoin_gmajgroupactoruid ON GroupMemberActorJoin (gmajGroupActorUid)CREATE INDEX idx_groupmemberactorjoin_gmajmemberactoruid ON GroupMemberActorJoin (gmajMemberActorUid)DROP INDEX IF EXISTS idx_courseblock_cbsourcedidDESTRUCTURING_DECLARATIONtmp0_containerPairBOOLFALSEboolColTypecomponent1COMPONENT_1boolDefaultValcomponent2COMPONENT_2ALTER TABLE DiscussionPost ADD COLUMN discussionPostVisible NOT NULL DEFAULT ALTER TABLE DiscussionPost ADD COLUMN discussionPostArchive NetworkNodeAccessTokenScrapeQueueItemContainerEntryContainerEntryFileLocallyAvailableContainerContainerEtagContainerImportJobRoleXLangMapEntrySchoolSchoolMemberChatChatMemberMessageReadStateEntityStateContentEntityContainerMIGRATION_194_195CREATE TABLE IF NOT EXISTS StateEntity ( seActorUid INTEGER NOT NULL , seHash INTEGER NOT NULL , seActivityUid INTEGER NOT NULL , seStateId TEXT , seLastMod INTEGER NOT NULL , seTimeStored INTEGER NOT NULL , seContentType TEXT , seCompressed INTEGER NOT NULL , seContent TEXT , seDeleted INTEGER NOT NULL , seRegistrationHi INTEGER , seRegistrationLo INTEGER , PRIMARY KEY (seActorUid, seHash) )CREATE TABLE IF NOT EXISTS StateEntity ( seActorUid BIGINT NOT NULL , seHash BIGINT NOT NULL , seActivityUid BIGINT NOT NULL , seStateId TEXT , seLastMod BIGINT NOT NULL , seTimeStored BIGINT NOT NULL , seContentType TEXT , seCompressed INTEGER NOT NULL , seContent TEXT , seDeleted BOOL NOT NULL , seRegistrationHi BIGINT , seRegistrationLo BIGINT , PRIMARY KEY (seActorUid, seHash) )MIGRATION_195_196CREATE TABLE IF NOT EXISTS StateDeleteCommand ( sdcActorUid INTEGER NOT NULL , sdcHash INTEGER NOT NULL , sdcActivityUid INTEGER NOT NULL , sdcStateId TEXT , sdcLastMod INTEGER NOT NULL , sdcRegistrationHi INTEGER , sdcRegistrationLo INTEGER , PRIMARY KEY (sdcActorUid, sdcHash) )CREATE TABLE IF NOT EXISTS StateDeleteCommand ( sdcActorUid BIGINT NOT NULL , sdcHash BIGINT NOT NULL , sdcActivityUid BIGINT NOT NULL , sdcStateId TEXT , sdcLastMod BIGINT NOT NULL , sdcRegistrationHi BIGINT , sdcRegistrationLo BIGINT , PRIMARY KEY (sdcActorUid, sdcHash) )MIGRATION_196_197INSERTUPDATEevent CREATE TRIGGER IF NOT EXISTS xapi_state_delete_trig_textsubstringlowercase AFTER ON StateDeleteCommand FOR EACH ROW BEGIN UPDATE StateEntity SET seDeleted = 1, seLastMod = NEW.sdcLastMod WHERE seActorUid = NEW.sdcActorUid AND seActivityUid = NEW.sdcActivityUid AND seLastMod < NEW.sdcLastMod AND ( ( NEW.sdcRegistrationHi IS NULL AND seRegistrationHi IS NULL AND NEW.sdcRegistrationLo IS NULL AND seRegistrationLo IS NULL) OR ( seRegistrationHi = NEW.sdcRegistrationHi AND seRegistrationLo = NEW.sdcRegistrationLo)) AND ( NEW.sdcStateId IS NULL OR seStateId = NEW.sdcStateId); END CREATE OR REPLACE FUNCTION xapi_state_delete_fn() RETURNS TRIGGER AS BEGIN UPDATE StateEntity SET seDeleted = TRUE, seLastMod = NEW.sdcLastMod WHERE seActorUid = NEW.sdcActorUid AND seActivityUid = NEW.sdcActivityUid AND seLastMod < NEW.sdcLastMod AND ( ( NEW.sdcRegistrationHi IS NULL AND seRegistrationHi IS NULL AND NEW.sdcRegistrationLo IS NULL AND seRegistrationLo IS NULL) OR ( seRegistrationHi = NEW.sdcRegistrationHi AND seRegistrationLo = NEW.sdcRegistrationLo)) AND ( NEW.sdcStateId IS NULL OR seStateId = NEW.sdcStateId); RETURN NEW; END LANGUAGE plpgsql CREATE TRIGGER xapi_state_delete_trig AFTER INSERT OR UPDATE ON StateDeleteCommand FOR EACH ROW EXECUTE FUNCTION xapi_state_delete_fn(); MIGRATION_197_198DROP TABLE XapiSessionEntityCREATE TABLE IF NOT EXISTS XapiSessionEntity ( xseLastMod INTEGER NOT NULL , xseRegistrationHi INTEGER NOT NULL , xseRegistrationLo INTEGER NOT NULL , xseUsUid INTEGER NOT NULL , xseAccountPersonUid INTEGER NOT NULL , xseAccountUsername TEXT , xseClazzUid INTEGER NOT NULL , xseCbUid INTEGER NOT NULL , xseContentEntryUid INTEGER NOT NULL , xseRootActivityId TEXT , xseStartTime INTEGER NOT NULL , xseExpireTime INTEGER NOT NULL , xseAuth TEXT , xseCompleted INTEGER NOT NULL DEFAULT 0 , xseUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS XapiSessionEntity ( xseLastMod BIGINT NOT NULL , xseRegistrationHi BIGINT NOT NULL , xseRegistrationLo BIGINT NOT NULL , xseUsUid BIGINT NOT NULL , xseAccountPersonUid BIGINT NOT NULL , xseAccountUsername TEXT , xseClazzUid BIGINT NOT NULL , xseCbUid BIGINT NOT NULL , xseContentEntryUid BIGINT NOT NULL , xseRootActivityId TEXT , xseStartTime BIGINT NOT NULL , xseExpireTime BIGINT NOT NULL , xseAuth TEXT , xseCompleted BOOL NOT NULL DEFAULT false, xseUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_198_199DROP TABLE StateEntityCREATE TABLE IF NOT EXISTS StateEntity ( seActorUid INTEGER NOT NULL , seHash INTEGER NOT NULL , seActivityUid INTEGER NOT NULL , seStateId TEXT NOT NULL , seLastMod INTEGER NOT NULL , seTimeStored INTEGER NOT NULL , seContentType TEXT NOT NULL , seCompressed INTEGER NOT NULL , seContent TEXT NOT NULL , seDeleted INTEGER NOT NULL , seRegistrationHi INTEGER , seRegistrationLo INTEGER , seH5PPreloaded INTEGER NOT NULL , seH5PSubContentId TEXT , PRIMARY KEY (seActorUid, seHash) )CREATE TABLE IF NOT EXISTS StateEntity ( seActorUid BIGINT NOT NULL , seHash BIGINT NOT NULL , seActivityUid BIGINT NOT NULL , seStateId TEXT NOT NULL , seLastMod BIGINT NOT NULL , seTimeStored BIGINT NOT NULL , seContentType TEXT NOT NULL , seCompressed INTEGER NOT NULL , seContent TEXT NOT NULL , seDeleted BOOL NOT NULL , seRegistrationHi BIGINT , seRegistrationLo BIGINT , seH5PPreloaded BOOL NOT NULL , seH5PSubContentId TEXT , PRIMARY KEY (seActorUid, seHash) )MIGRATION_199_200CREATE TABLE IF NOT EXISTS XapiSessionEntity ( xseLastMod INTEGER NOT NULL , xseRegistrationHi INTEGER NOT NULL , xseRegistrationLo INTEGER NOT NULL , xseUsUid INTEGER NOT NULL , xseAccountPersonUid INTEGER NOT NULL , xseActorUid INTEGER NOT NULL , xseAccountUsername TEXT NOT NULL , xseClazzUid INTEGER NOT NULL , xseCbUid INTEGER NOT NULL , xseContentEntryUid INTEGER NOT NULL , xseRootActivityId TEXT NOT NULL , xseRootActivityUid INTEGER NOT NULL , xseStartTime INTEGER NOT NULL , xseExpireTime INTEGER NOT NULL , xseAuth TEXT , xseCompleted INTEGER NOT NULL DEFAULT 0 , knownActorUidToPersonUids TEXT NOT NULL , xseUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS XapiSessionEntity ( xseLastMod BIGINT NOT NULL , xseRegistrationHi BIGINT NOT NULL , xseRegistrationLo BIGINT NOT NULL , xseUsUid BIGINT NOT NULL , xseAccountPersonUid BIGINT NOT NULL , xseActorUid BIGINT NOT NULL , xseAccountUsername TEXT NOT NULL , xseClazzUid BIGINT NOT NULL , xseCbUid BIGINT NOT NULL , xseContentEntryUid BIGINT NOT NULL , xseRootActivityId TEXT NOT NULL , xseRootActivityUid BIGINT NOT NULL , xseStartTime BIGINT NOT NULL , xseExpireTime BIGINT NOT NULL , xseAuth TEXT , xseCompleted BOOL NOT NULL DEFAULT false, knownActorUidToPersonUids TEXT NOT NULL , xseUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_200_201ALTER TABLE XapiSessionEntity ADD COLUMN xseContentEntryVersionUid INTEGER NOT NULL DEFAULT 0ALTER TABLE XapiSessionEntity ADD COLUMN xseContentEntryVersionUid BIGINT NOT NULL DEFAULT 0MIGRATION_201_202DROP TABLE ContentEntryImportJobCREATE TABLE IF NOT EXISTS ContentEntryImportJob ( sourceUri TEXT , cjiOriginalFilename TEXT , cjiContentEntryUid INTEGER NOT NULL , cjiParentContentEntryUid INTEGER NOT NULL , cjiContentEntryVersion INTEGER NOT NULL , cjiItemProgress INTEGER NOT NULL , cjiItemTotal INTEGER NOT NULL , cjiStatus INTEGER NOT NULL , cjiRecursiveStatus INTEGER NOT NULL , cjiPluginId INTEGER NOT NULL , cjiParentCjiUid INTEGER NOT NULL , cjiStartTime INTEGER NOT NULL , cjiFinishTime INTEGER NOT NULL , cjiContentDeletedOnCancellation INTEGER NOT NULL , cjiCompressionLevel INTEGER NOT NULL DEFAULT 3 , cjiError TEXT , cjiErrorDismissed INTEGER NOT NULL , cjiOwnerPersonUid INTEGER NOT NULL , cjiParams TEXT , cjiUid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL )CREATE TABLE IF NOT EXISTS ContentEntryImportJob ( sourceUri TEXT , cjiOriginalFilename TEXT , cjiContentEntryUid BIGINT NOT NULL , cjiParentContentEntryUid BIGINT NOT NULL , cjiContentEntryVersion BIGINT NOT NULL , cjiItemProgress BIGINT NOT NULL , cjiItemTotal BIGINT NOT NULL , cjiStatus INTEGER NOT NULL , cjiRecursiveStatus INTEGER NOT NULL , cjiPluginId INTEGER NOT NULL , cjiParentCjiUid BIGINT NOT NULL , cjiStartTime BIGINT NOT NULL , cjiFinishTime BIGINT NOT NULL , cjiContentDeletedOnCancellation BOOL NOT NULL , cjiCompressionLevel INTEGER NOT NULL DEFAULT 3 , cjiError TEXT , cjiErrorDismissed BOOL NOT NULL , cjiOwnerPersonUid BIGINT NOT NULL , cjiParams TEXT , cjiUid BIGSERIAL PRIMARY KEY NOT NULL )MIGRATION_203_204ALTER TABLE ActivityLangMapEntry ADD COLUMN almePropName TEXTmigrationListDoorMigration;   "    comustadmobilelibdbcompositesActorUidEtagAndLastModDEFINEDactorUidkotlinLongactorEtagactorLctUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringStringActorUidEtagAndLastMod(actorUid=, actorEtag=actorLct=)hashCodeIntresultplustimesEQequalsBooleanotherinternalirEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQEQEQINSTANCE_RECEIVER  -   "      8        O  . comustadmobilelibdbcompositesAssignmentPermissionAndActiveUserSubmitterUidkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcanMarkBooleancanViewcanModerateactiveUserSubmitterUidLongUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfBooleanSerializerLongSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeBooleanElementEQordecodeLongElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeBooleanElementencodeLongElementtmp0_serialDesccom.ustadmobile.lib.db.composites.AssignmentPermissionAndActiveUserSubmitterUidaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringAssignmentPermissionAndActiveUserSubmitterUid(canMark=, canView=canModerate=activeUserSubmitterUid=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException~     "     8       !  !?   comustadmobilelibdbcompositesAssignmentSubmitterUidAndNamekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDnameStringNothingsubmitterUidLongUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerLongSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeLongElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementencodeLongElementtmp0_serialDesccom.ustadmobile.lib.db.composites.AssignmentSubmitterUidAndNameaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringAssignmentSubmitterUidAndName(name=, submitterUid=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException        "     8      !  !-    comustadmobilelibdbcompositesBlockStatuskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDsPersonUidLongsCbUidsProgressIntNothingsIsCompletedBooleansIsSuccesssScoreScaledFloatUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionSTATUS_COMPLETEDSTATUS_IN_PROGRESSserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableIntSerializerBooleanSerializerFloatSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.composites.BlockStatusaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringBlockStatus(sPersonUid=, sCbUid=sProgress=sIsCompleted=sIsSuccess=sScoreScaled=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException    "  !!   8      !  !;  comustadmobilelibdbcompositesClazzAndDetailPermissionskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDclazzentitiesClazzNothinghasAttendancePermissionBooleanhasViewMembersPermissionhasLearningRecordPermissionUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ClazzAndDetailPermissionsaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringClazzAndDetailPermissions(clazz=, hasAttendancePermission=hasViewMembersPermission=hasLearningRecordPermission=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionP     "      comustadmobilelibdbcompositesClazzAndDisplayDetailsDEFINEDclazzentitiesClazzkotlinNothingterminologyCourseTerminologycoursePictureCoursePicturenumStudentsIntnumTeachersactiveUserIsStudentBooleanUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringStringClazzAndDisplayDetails(clazz=, terminology=coursePicture=numStudents=numTeachers=activeUserIsStudent=)hashCoderesultinternalirEQEQplustimesEQequalsotherEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQINSTANCE_RECEIVER      "   8       !  !9   comustadmobilelibdbcompositesClazzAssignmentAndBlockkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDassignmententitiesClazzAssignmentNothingblockCourseBlockUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ClazzAssignmentAndBlockaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringClazzAssignmentAndBlock(assignment=, block=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      "     8       !  !9   comustadmobilelibdbcompositesClazzEnrolmentAndPersonkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDpersonentitiesPersonNothingenrolmentClazzEnrolmentpicturePersonPictureUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ClazzEnrolmentAndPersonaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringClazzEnrolmentAndPerson(person=, enrolment=picture=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException  $   "    8       !  !F  % comustadmobilelibdbcompositesClazzEnrolmentAndPersonDetailDetailskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDenrolmententitiesClazzEnrolmentNothingclazzClazzcourseTerminologyCourseTerminologyUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ClazzEnrolmentAndPersonDetailDetailsaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringClazzEnrolmentAndPersonDetailDetails(enrolment=, clazz=courseTerminology=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      "   8       !  !9    comustadmobilelibdbcompositesClazzNameAndTerminologykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDclazzNameStringNothingterminologyentitiesCourseTerminologyUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORandroidxroomEmbeddedCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ClazzNameAndTerminologyaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringClazzNameAndTerminology(clazzName=, terminology=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      "     8       !  !1   comustadmobilelibdbcompositesCommentsAndNamekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcommententitiesCommentsfirstNamesStringNothinglastNamepictureUriUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeSerializableElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeSerializableElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CommentsAndNameaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringCommentsAndName(comment=, firstNames=lastName=pictureUri=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      "    8       !  !;   comustadmobilelibdbcompositesContentEntryAndContentJobkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDentryentitiesContentEntryNothingcontentJobContentJobcontentJobItemContentEntryImportJobpictureContentEntryPicture2UnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ContentEntryAndContentJobaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringContentEntryAndContentJob(entry=, contentJob=contentJobItem=picture=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException       "     8       !  !7  comustadmobilelibdbcompositesContentEntryAndDetailkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDentryentitiesContentEntryNothinglatestVersionContentEntryVersionpictureContentEntryPicture2statusBlockStatusUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ContentEntryAndDetailaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringContentEntryAndDetail(entry=, latestVersion=picture=status=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      "   8       !  !9    comustadmobilelibdbcompositesContentEntryAndLanguagekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcontentEntryentitiesContentEntryNothinglanguageLanguageUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ContentEntryAndLanguageaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringContentEntryAndLanguage(contentEntry=, language=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionG     " !!   comustadmobilelibdbcompositesContentEntryAndListDetailDEFINEDcontentEntryentitiesContentEntrykotlinNothingpictureContentEntryPicture2contentEntryParentChildJoinContentEntryParentChildJoinstatusBlockStatusUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringStringContentEntryAndListDetail(contentEntry=, picture=contentEntryParentChildJoin=status=)hashCodeIntresultBooleaninternalirEQEQplustimesEQequalsotherEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQINSTANCE_RECEIVER     "     8       !  !8  comustadmobilelibdbcompositesContentEntryAndPicturekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDentryentitiesContentEntryNothingpictureContentEntryPicture2UnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ContentEntryAndPictureaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringContentEntryAndPicture(entry=, picture=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     "     8       !  !?   comustadmobilelibdbcompositesContentEntryImportJobProgresskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcjiUidLongcjiItemProgresscjiItemTotalcjiStatusIntcjiErrorStringNothingcjiOwnerPersonUidUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ContentEntryImportJobProgressaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringContentEntryImportJobProgress(cjiUid=, cjiItemProgress=cjiItemTotal=cjiStatus=cjiError=cjiOwnerPersonUid=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     "   8       !  !.   comustadmobilelibdbcompositesConversationkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDconversationNameStringNothingconversationPersonUidLonglatestMessageentitiesMessageUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerLongSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeLongElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementencodeLongElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ConversationaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringConversation(conversationName=, conversationPersonUid=latestMessage=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException  !  "   8       !  !C  "comustadmobilelibdbcompositesCourseAssignmentMarkAndMarkerNamekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcourseAssignmentMarkentitiesCourseAssignmentMarkNothingmarkerFirstNamesStringmarkerLastNamemarkerPictureUriUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CourseAssignmentMarkAndMarkerNameaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringCourseAssignmentMarkAndMarkerName(courseAssignmentMark=, markerFirstNames=markerLastName=markerPictureUri=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException  ,  "   8       !  !N  -comustadmobilelibdbcompositesCourseAssignmentSubmissionFileAndTransferJobkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDsubmissionFileentitiesCourseAssignmentSubmissionFileNothingtransferJobItemTransferJobItemUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CourseAssignmentSubmissionFileAndTransferJobaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringCourseAssignmentSubmissionFileAndTransferJob(submissionFile=, transferJobItem=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException       "   8       !  !:    comustadmobilelibdbcompositesCourseBlockAndAssignmentkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcourseBlockentitiesCourseBlockNothingassignmentClazzAssignmentUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CourseBlockAndAssignmentaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringCourseBlockAndAssignment(courseBlock=, assignment=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException        """   8       !  !:     comustadmobilelibdbcompositesCourseBlockAndDbEntitieskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcourseBlockentitiesCourseBlockNothingcourseBlockPictureCourseBlockPicturecontentEntryContentEntrycontentEntryLangLanguageassignmentClazzAssignmentassignmentCourseGroupSetNameStringUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CourseBlockAndDbEntitiesaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringCourseBlockAndDbEntities(courseBlock=, courseBlockPicture=contentEntry=contentEntryLang=assignment=assignmentCourseGroupSetName=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException       "   8       !  !>    comustadmobilelibdbcompositesCourseBlockAndDisplayDetailskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcourseBlockentitiesCourseBlockNothingcourseBlockPictureCourseBlockPicturecontentEntryContentEntrycontentEntryPicture2ContentEntryPicture2UnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CourseBlockAndDisplayDetailsaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringCourseBlockAndDisplayDetails(courseBlock=, courseBlockPicture=contentEntry=contentEntryPicture2=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException           ""    8        !   !<      comustadmobilelibdbcompositesCourseBlockAndEditEntitieskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcourseBlockentitiesCourseBlockcourseBlockPictureCourseBlockPictureNothingcontentEntryContentEntrycontentEntryPictureContentEntryPicture2contentJobItemContentEntryImportJobcontentJobContentJobcontentEntryLangLanguageassignmentClazzAssignmentassignmentCourseGroupSetNameStringassignmentPeerAllocationscollectionsListPeerReviewerAllocationemptyListUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORasContentEntryAndJobContentEntryAndContentJobGET_PROPERTYCompanion$childSerializersKOTLINX_SERIALIZATIONjvmJvmFieldArrayKSerializerarrayOfinternalArrayListSerializerINSTANCE_RECEIVERserializerjsJsExportIgnoreDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersIR_TEMPORARY_VARIABLEtmp0_cachedbuiltinsnullableStringSerializergetIntdeserializedecoderencodingDecodertmp0_desctmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_inputCompositeDecoderbeginStructuretmp15_cacheddecodeSequentiallydecodeSerializableElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodertmp2_cachedencodeSerializableElementshouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CourseBlockAndEditEntitiesaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10copytoStringCourseBlockAndEditEntities(courseBlock=, courseBlockPicture=contentEntry=contentEntryPicture=contentJobItem=contentJob=contentEntryLang=assignment=assignmentCourseGroupSetName=assignmentPeerAllocations=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException  %    "     8       !  !G  & comustadmobilelibdbcompositesCourseBlockAndGradebookDisplayDetailskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDblockentitiesCourseBlockNothingcourseBlockPictureCourseBlockPicturecontentEntryContentEntrycontentEntryPicture2ContentEntryPicture2UnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CourseBlockAndGradebookDisplayDetailsaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringCourseBlockAndGradebookDisplayDetails(block=, courseBlockPicture=contentEntry=contentEntryPicture2=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     "     8       !  !7  comustadmobilelibdbcompositesCourseBlockAndPicturekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDblockentitiesCourseBlockNothingpictureCourseBlockPictureUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CourseBlockAndPictureaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringCourseBlockAndPicture(block=, picture=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionx    "   8         ;   comustadmobilelibdbcompositesCourseBlockUidAndClazzUidkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDclazzUidLongcourseBlockUidUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CourseBlockUidAndClazzUidaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringCourseBlockUidAndClazzUid(clazzUid=, courseBlockUid=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException    "   8       !  !<  comustadmobilelibdbcompositesCourseGroupMemberAndPersonkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcourseGroupMemberentitiesCourseGroupMemberNothingpersonPersonUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CourseGroupMemberAndPersonaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringCourseGroupMemberAndPerson(courseGroupMember=, person=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      "   8       !  !9    comustadmobilelibdbcompositesCourseNameAndPersonNamekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDclazzNameStringNothingfirstNameslastNameUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CourseNameAndPersonNameaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringCourseNameAndPersonName(clazzName=, firstNames=lastName=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException    "   8       !  !>  comustadmobilelibdbcompositesCoursePermissionAndEnrolmentkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcoursePermissionentitiesCoursePermissionNothingclazzEnrolmentClazzEnrolmentUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.CoursePermissionAndEnrolmentaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringCoursePermissionAndEnrolment(coursePermission=, clazzEnrolment=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionA   "   comustadmobilelibdbcompositesCoursePermissionAndListDetailDEFINEDcoursePermissionentitiesCoursePermissionkotlinNothingpersonPersonpersonPicturePersonPictureUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringStringCoursePermissionAndListDetail(coursePermission=, person=personPicture=)hashCodeIntresultBooleaninternalirEQEQplustimesEQequalsotherEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQINSTANCE_RECEIVER     "   8       !  !>   comustadmobilelibdbcompositesDiscussionPostAndPosterNameskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDdiscussionPostentitiesDiscussionPostNothingfirstNamesStringlastNamepersonPictureUriUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.DiscussionPostAndPosterNamesaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringDiscussionPostAndPosterNames(discussionPost=, firstNames=lastName=personPictureUri=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionw    "   8        7  comustadmobilelibdbcompositesEditAndViewPermissionkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDhasViewPermissionBooleanhasEditPermissionUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeBooleanElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.composites.EditAndViewPermissionaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringEditAndViewPermission(hasViewPermission=, hasEditPermission=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     "   8       !  !>  comustadmobilelibdbcompositesEnrolmentRequestAndCoursePickotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDenrolmentRequestentitiesEnrolmentRequestNothingcoursePictureCoursePictureUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.EnrolmentRequestAndCoursePicaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringEnrolmentRequestAndCoursePic(enrolmentRequest=, coursePicture=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionA   "  !comustadmobilelibdbcompositesEnrolmentRequestAndPersonDetailsDEFINEDenrolmentRequestentitiesEnrolmentRequestkotlinNothingpersonPicturePersonPicturepersonPersonUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringStringEnrolmentRequestAndPersonDetails(enrolmentRequest=, personPicture=person=)hashCodeIntresultBooleaninternalirEQEQplustimesEQequalsotherEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQINSTANCE_RECEIVER      "     8       !  !7   comustadmobilelibdbcompositesMessageAndOtherPersonkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDmessageentitiesMessageNothingotherPersonPersonpersonPicturePersonPictureUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.MessageAndOtherPersonaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringMessageAndOtherPerson(message=, otherPerson=personPicture=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      "   8      !  !5   comustadmobilelibdbcompositesOfflineItemAndStatekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDofflineItementitiesOfflineItemNothingactiveDownloadTransferJobAndTotalsreadyForOfflineBooleanUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.composites.OfflineItemAndStateaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringOfflineItemAndState(offlineItem=, activeDownload=readyForOffline=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionw    "   8        0  comustadmobilelibdbcompositesPermissionPairkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDfirstPermissionBooleansecondPermissionUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeBooleanElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.composites.PermissionPairaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringPermissionPair(firstPermission=, secondPermission=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException}    "   8        2  comustadmobilelibdbcompositesPermissionTriplekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDfirstPermissionBooleansecondPermissionthirdPermissionUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeBooleanElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.composites.PermissionTripleaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringPermissionTriple(firstPermission=, secondPermission=thirdPermission=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException  !   "     8       !  !C  "comustadmobilelibdbcompositesPersonAndClazzLogAttendanceRecordkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDpersonentitiesPersonNothingpersonPicturePersonPictureattendanceRecordClazzLogAttendanceRecordUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.PersonAndClazzLogAttendanceRecordaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringPersonAndClazzLogAttendanceRecord(person=, personPicture=attendanceRecord=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      "     8      !  !A   comustadmobilelibdbcompositesPersonAndClazzMemberListDetailskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDpersonentitiesPersonNothingpersonPicturePersonPictureearliestJoinDateLonglatestDateLeftenrolmentRoleIntUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableLongSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeLongElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementencodeLongElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.composites.PersonAndClazzMemberListDetailsaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5copytoStringPersonAndClazzMemberListDetails(person=, personPicture=earliestJoinDate=latestDateLeft=enrolmentRole=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException;   "    comustadmobilelibdbcompositesPersonAndListDisplayDetailsDEFINEDpersonentitiesPersonkotlinNothingpicturePersonPictureUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringStringPersonAndListDisplayDetails(person=, picture=)hashCodeIntresultBooleaninternalirEQEQplustimesEQequalsotherEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQINSTANCE_RECEIVER     "     8       !  !2  comustadmobilelibdbcompositesPersonAndPicturekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDpersonentitiesPersonNothingpicturePersonPictureUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.PersonAndPictureaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringPersonAndPicture(person=, picture=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException         "      8      !  !@    !comustadmobilelibdbcompositesPersonAndPictureAndNumAttemptskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDpersonentitiesPersonpicturePersonPictureNothingnumAttemptsIntisCompletedBooleanisSuccessfulmaxScoreFloatmaxProgressUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableIntSerializerBooleanSerializerFloatSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeSerializableElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeSerializableElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.composites.PersonAndPictureAndNumAttemptsaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7copytoStringPersonAndPictureAndNumAttempts(person=, picture=numAttempts=isCompleted=isSuccessful=maxScore=maxProgress=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionAttemptsPersonListConstSORT_FIRST_NAME_ASCSORT_FIRST_NAME_DESCSORT_LAST_NAME_ASCSORT_LAST_NAME_DESCSORT_BY_SCORE_ASCSORT_BY_SCORE_DESCSORT_BY_COMPLETION_ASCSORT_BY_COMPLETION_DESCSORT_BY_RECENT_ATTEMPT_ASCSORT_BY_RECENT_ATTEMPT_DESCy     "    8      !  !-  comustadmobilelibdbcompositesPersonNameskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDfirstNamesStringNothinglastNameUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORtoStringELVISIR_TEMPORARY_VARIABLEtmp0_elvis_lhsGET_PROPERTYBooleaninternalirEQEQ tmp1_elvis_lhsCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.PersonNamesaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copyhashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException       "   8       !  !;    comustadmobilelibdbcompositesScopedGrantAndGroupMemberkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDscopedGrantentitiesScopedGrantNothingpersonGroupMemberPersonGroupMemberpersonGroupPersonGroupUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.ScopedGrantAndGroupMemberaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringScopedGrantAndGroupMember(scopedGrant=, personGroupMember=personGroup=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException4   "   comustadmobilelibdbcompositesSiteTermsAndLangNameDEFINEDtermsentitiesSiteTermslangDisplayNamekotlinStringUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringSiteTermsAndLangName(terms=, langDisplayName=)hashCodeIntresultplustimesEQequalsBooleanotherinternalirEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQEQEQINSTANCE_RECEIVER      "     8           9  comustadmobilelibdbcompositesStudentAndBlockStatuseskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDstudentPersonAndClazzMemberListDetailsblockStatusescollectionsListBlockStatusUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCompanion$childSerializersKOTLINX_SERIALIZATIONjvmJvmFieldArrayKSerializerarrayOfinternalArrayListSerializerINSTANCE_RECEIVERserializerjsJsExportIgnoreDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersIR_TEMPORARY_VARIABLEtmp0_cachedgetIntdeserializedecoderencodingDecodertmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuretmp7_cacheddecodeSequentiallydecodeSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodertmp2_cachedencodeSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.StudentAndBlockStatusesaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringStudentAndBlockStatuses(student=, blockStatuses=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castnotEXCLEQseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException:  $  "  % comustadmobilelibdbcompositesStudentResultAndCourseBlockSourcedIdDEFINEDstudentResultentitiesStudentResultcbSourcedIdkotlinStringNothingUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringStudentResultAndCourseBlockSourcedId(studentResult=, cbSourcedId=)hashCodeIntresultplustimesBooleaninternalirEQEQEQequalsotherEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQINSTANCE_RECEIVERo      ,"    8           4 comustadmobilelibdbcompositesSubmissionAndFileskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDsubmissionentitiesCourseAssignmentSubmissionfilescollectionsListCourseAssignmentSubmissionFileAndTransferJobUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCompanion$childSerializersKOTLINX_SERIALIZATIONjvmJvmFieldArrayKSerializerarrayOfinternalArrayListSerializerINSTANCE_RECEIVERserializerjsJsExportIgnoreDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersIR_TEMPORARY_VARIABLEtmp0_cachedgetIntdeserializedecoderencodingDecodertmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuretmp7_cacheddecodeSequentiallydecodeSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodertmp2_cachedencodeSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.SubmissionAndFilesaddElementseen1serializationConstructorMarkerSerializationConstructorMarkernotEXCLEQandthrowMissingFieldException        "   8       !  !6    comustadmobilelibdbcompositesTransferJobAndTotalskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDtransferJobentitiesTransferJobNothingtotalSizeLongtransferredlatestErrorStrStringUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableLongSerializerStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeLongElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementencodeLongElementtmp0_serialDesccom.ustadmobile.lib.db.composites.TransferJobAndTotalsaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringTransferJobAndTotals(transferJob=, totalSize=transferred=latestErrorStr=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException@  "        comustadmobilelibdbcompositesTransferJobItemStatuskotlinSuppressArrayStringunusedDEFINEDvalueIntUnitEnumPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingQUEUEDIN_PROGRESSCOMPLETEFAILEDCANCELLEDCompanionAnySTATUS_QUEUED_INTSTATUS_IN_PROGRESS_INTSTATUS_COMPLETE_INTSTATUS_FAILEDSTATUS_CANCELLEDvalueOfELVISIR_TEMPORARY_VARIABLEtmp0_elvis_lhscollectionsfirstOrNullenumsEnumEntriesentriesGET_PROPERTYFunction1BooleanLOCAL_FUNCTION_FOR_LAMBDAitinternalirEQEQLAMBDAINSTANCE_RECEIVERvaluesENUM_CLASS_SPECIAL_MEMBER       "   8      !  !A   comustadmobilelibdbcompositesxapiSessionTimeAndProgressInfokotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcontextRegistrationHiLongcontextRegistrationLotimeStartedmaxProgressIntNothingmaxScoreFloatisCompletedBooleanisSuccessfulresultDurationUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableIntSerializerFloatSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.composites.xapi.SessionTimeAndProgressInfoaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8copytoStringSessionTimeAndProgressInfo(contextRegistrationHi=, contextRegistrationLo=timeStarted=maxProgress=maxScore=isCompleted=isSuccessful=resultDuration=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionSessionTimeAndProgressInfoConstSORT_BY_TIMESTAMP_DESCSORT_BY_TIMESTAMP_ASCSORT_BY_SCORE_ASCSORT_BY_SCORE_DESCSORT_BY_COMPLETION_ASCSORT_BY_COMPLETION_DESCSORT_BY_LEAST_RECENT_DESCSORT_BY_LEAST_RECENT_ASC8    "    comustadmobilelibdbcompositesxapiStateIdAndLastModifiedDEFINEDseStateIdkotlinStringseLastModLongUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringStateIdAndLastModified(seStateId=, seLastMod=)hashCodeIntresultplustimesEQequalsBooleanotherinternalirEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQEQEQINSTANCE_RECEIVER    "   8       !  !;  comustadmobilelibdbcompositesxapiStatementAndActivitykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDstatementEntityentitiesStatementEntityactivityEntityActivityEntityNothingUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeSerializableElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeSerializableElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.xapi.StatementAndActivityaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringStatementAndActivity(statementEntity=, activityEntity=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptions     "   8       !  !@ comustadmobilelibdbcompositesxapiStatementEntityAndRelatedkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDstatementEntityentitiesStatementEntityNothinggroupMemberActorJoinGroupMemberActorJoinactorEntityActorEntityUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.xapi.StatementEntityAndRelatedaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      " ""   8       !  != comustadmobilelibdbcompositesxapiStatementEntityAndVerbkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDstatementEntityentitiesStatementEntityverbVerbEntityNothingverbDisplayVerbLangMapEntryactivityActivityEntityactivityLangMapEntryActivityLangMapEntrystatementActivityDescriptionStringUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeSerializableElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeSerializableElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.xapi.StatementEntityAndVerbaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionStatementConstSORT_BY_TIMESTAMP_DESCSORT_BY_TIMESTAMP_ASCSORT_BY_SCORE_DESCSORT_BY_SCORE_ASC      "   8       !  !8    comustadmobilelibdbcompositesxapiVerbEntityAndNamekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDverbEntityentitiesVerbEntityverbNameVerbLangMapEntryNothingUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeSerializableElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeSerializableElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.composites.xapi.VerbEntityAndNameaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringVerbEntityAndName(verbEntity=, verbName=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionu    )//   8        9 comustadmobilelibdbentitiesAssignmentProgressSummarykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnysubmittedStudentsPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingtotalStudentsmarkedStudentsactiveUserHasViewLearnerRecordsPermissionBooleanisGroupAssignmentcalculateNotSubmittedStudentsDeprecatedStringWill not be usedCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeIntElementEQordecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.AssignmentProgressSummaryaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException !     "    8           A  "  comustadmobilelibdbentitiesAssignmentSubmitterAndAllocationskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDsubmitterAssignmentSubmitterSummaryallocationscollectionsListPeerReviewerAllocationemptyListUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCompanion$childSerializersKOTLINX_SERIALIZATIONjvmJvmFieldArrayKSerializerarrayOfinternalArrayListSerializerINSTANCE_RECEIVERserializerjsJsExportIgnoreDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersIR_TEMPORARY_VARIABLEtmp0_cachedgetIntdeserializedecoderencodingDecodertmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuretmp7_cacheddecodeSequentiallydecodeSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodertmp2_cachedshouldEncodeElementDefaultnotEXCLEQencodeSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.AssignmentSubmitterAndAllocationsaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringAssignmentSubmitterAndAllocations(submitter=, allocations=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     "    8      !  !:    comustadmobilelibdbentitiesAssignmentSubmitterSummarykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDsubmitterUidLongnameStringNothingpictureUrilatestPrivateCommentfileSubmissionStatusIntUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.AssignmentSubmitterSummaryaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5copytoStringAssignmentSubmitterSummary(submitterUid=, name=pictureUri=latestPrivateComment=fileSubmissionStatus=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptions        8       ; comustadmobilelibdbentitiesAverageCourseAssignmentMarkkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnyaverageScorePROPERTY_BACKING_FIELDFloatDEFAULT_PROPERTY_ACCESSORNothingaveragePenaltyIntequalsBooleanotherIFinternalirEQEQEQnotEXCLEQieee754equalsGET_PROPERTYEQEQhashCoderesultplusPLUStimesMULEQCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfFloatSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeFloatElementordecodeIntElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeFloatElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.AverageCourseAssignmentMarkaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionl     "           comustadmobilelibdbentitiesCacheLockJoinandroidxroomEntitykotlinArrayIndexStringcljTableIdcljEntityUidcljUrlidx_clj_table_entity_urlcljOiUididx_clj_offline_item_uidDEFINEDcljIdIntLongcljLockIdcljStatuscljTypeUnitAnyPrimaryKeyBooleanPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingColumnInfo0CompanionSTATUS_PENDING_CREATIONSTATUS_CREATEDSTATUS_PENDING_DELETESTATUS_ERRORTYPE_SERVER_RETENTIONTYPE_OFFLINE_ITEMINSTANCE_RECEIVERcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8copytoStringCacheLockJoin(cljId=, cljTableId=cljEntityUid=cljUrl=cljLockId=cljStatus=cljType=cljOiUid=)hashCoderesultplustimesEQinternalirEQEQequalsotherEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQ    0          !    !!!!"(( $   &   8     !  !% comustadmobilelibdbentitiesClazzandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringclazz_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnyclazzUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingclazzNameclazzDescattendanceAverageFloatclazzHolidayUMCalendarUidclazzScheuleUMCalendarUidisClazzActiveclazzLocationUidclazzStartTimeclazzEndTimeCompanionMAX_VALUEGET_PROPERTYclazzFeaturesCLAZZ_FEATURE_ATTENDANCEclazzSchoolUidclazzEnrolmentPolicyColumnInfo102CLAZZ_ENROLMENT_POLICY_OPENclazzTerminologyUid25966toLongplusPLUSshlcodeCharclazzMasterChangeSeqNumMasterChangeSeqNumclazzLocalChangeSeqNumLocalChangeSeqNumclazzLastChangedByLastChangedByclazzLctReplicateLastModifiedReplicateEtagclazzTimeZoneclazzStudentsPersonGroupUidclazzTeachersPersonGroupUidclazzPendingStudentsPersonGroupUidclazzParentsPersonGroupUidclazzCodeclazzOwnerPersonUid0EQorCLAZZ_FEATURE_ACTIVITYCLAZZ_FEATURE_CLAZZ_ASSIGNMENTequalsotherIFinternalirEQEQEQnotEXCLEQEQEQieee754equalshashCoderesulttimesMULELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receivertmp3_elvis_lhstmp2_safe_receivertmp5_elvis_lhstmp4_safe_receivertmp7_elvis_lhstmp6_safe_receiverTABLE_IDCLAZZ_CODE_DEFAULT_LENGTHCLAZZ_ENROLMENT_POLICY_WITH_LINKserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerFloatSerializerBooleanSerializerIntSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_local21tmp26_local22tmp27_local23tmp28_local24tmp29_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementdecodeNullableSerializableElementdecodeFloatElementdecodeBooleanElementdecodeIntElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeNullableSerializableElementencodeFloatElementencodeBooleanElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionF    0      $*   "     (  "(    8     !  !/     comustadmobilelibdbentitiesClazzAssignmentandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringclazzassignment_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDcaUidLongcaTitleNothingcaDescriptioncaGroupUidcaActiveBooleancaClassCommentEnabledcaPrivateCommentsEnabledcaCompletionCriteriaCompanionCOMPLETION_CRITERIA_SUBMITGET_PROPERTYcaRequireFileSubmissioncaFileTypecaSizeLimitcaNumberOfFilescaSubmissionPolicySUBMISSION_POLICY_SUBMIT_ALL_AT_ONCEcaMarkingTypeMARKED_BY_COURSE_LEADERcaRequireTextSubmissioncaTextLimitTypeTEXT_WORD_LIMITcaTextLimitcaXObjectUidcaClazzUidcaPeerReviewerCountcaLocalChangeSeqNumcaMasterChangeSeqNumcaLastChangedBycaLctUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORDeprecatedUse title on courseblockUse description on courseblockColumnInfo01use on courseBlock, will be removed soon10050500LocalChangeSeqNumMasterChangeSeqNumLastChangedByReplicateLastModifiedReplicateEtagTABLE_IDSUBMISSION_POLICY_MULTIPLE_ALLOWEDMARKED_BY_PEERSFILE_TYPE_ANYFILE_TYPE_DOCFILE_TYPE_IMAGEFILE_TYPE_VIDEOFILE_TYPE_AUDIOTEXT_CHAR_LIMITCOMPLETION_CRITERIA_GRADEDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_local21tmp26_local22tmp27_local23tmp28_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeBooleanElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzAssignmentaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11component12component13component14component15component16component17component18component19component20component21component22component23component24copytoStringClazzAssignment(caUid=, caTitle=caDescription=caGroupUid=caActive=caClassCommentEnabled=caPrivateCommentsEnabled=caCompletionCriteria=caRequireFileSubmission=caFileType=caSizeLimit=caNumberOfFiles=caSubmissionPolicy=caMarkingType=caRequireTextSubmission=caTextLimitType=caTextLimit=caXObjectUid=caClazzUid=caPeerReviewerCount=caLocalChangeSeqNum=caMasterChangeSeqNum=caLastChangedBy=caLct=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException )    "   8      !  !I  *  comustadmobilelibdbentitiesClazzAssignmentCourseBlockAndSubmitterUidkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDclazzAssignmentClazzAssignmentNothingcourseBlockCourseBlockcourseBlockPictureCourseBlockPicturecourseGroupSetCourseGroupSetsubmitterUidLonghasModeratePermissionBooleanUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableLongSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeLongElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementencodeLongElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzAssignmentCourseBlockAndSubmitterUidaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringClazzAssignmentCourseBlockAndSubmitterUid(clazzAssignment=, courseBlock=courseBlockPicture=courseGroupSet=submitterUid=hasModeratePermission=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      &&         8        5 comustadmobilelibdbentitiesClazzAssignmentRollUpandroidxroomEntitykotlinArrayIndexStringcachePersonUidcacheContentEntryUidcacheClazzAssignmentUidBooleankotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnycacheUidPrimaryKeyPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingcacheStudentScoreIntcacheMaxScorecacheFinalWeightScoreWithPenaltyColumnInfo0FloatcacheWeightcacheProgresscacheContentCompletecacheSuccessBytexapiStatementEntityCompanionRESULT_UNSETGET_PROPERTYcachePenaltylastCsnCheckedserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerFloatSerializerBooleanSerializerByteSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeFloatElementdecodeBooleanElementdecodeByteElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeFloatElementencodeBooleanElementencodeByteElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzAssignmentRollUpaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException    0     "(($$ %% && !!        8        . comustadmobilelibdbentitiesClazzEnrolmentandroidxroomEntitykotlinArrayIndexStringclazzEnrolmentPersonUidclazzEnrolmentClazzUidclazzEnrolmentRoledoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggerclazzenrolment_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnyclazzEnrolmentUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingColumnInfoclazzEnrolmentDateJoinedclazzEnrolmentDateLeftcoreUNSET_DISTANT_FUTUREGET_PROPERTYclazzEnrolmentAttendancePercentageFloattoFloatclazzEnrolmentActiveclazzEnrolmentLeavingReasonUidclazzEnrolmentOutcomeCompanionOUTCOME_IN_PROGRESSclazzEnrolmentLocalChangeSeqNumLocalChangeSeqNumclazzEnrolmentMasterChangeSeqNumMasterChangeSeqNumclazzEnrolmentLastChangedByLastChangedByclazzEnrolmentLctReplicateLastModifiedReplicateEtagclazzUidpersonUidEQroleROLE_STUDENTROLE_TEACHERROLE_STUDENT_PENDINGROLE_PARENTOUTCOME_GRADUATEDOUTCOME_FAILEDOUTCOME_DROPPED_OUTTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerFloatSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeIntElementdecodeFloatElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeFloatElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzEnrolmentaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException         8          !  "($% &!!7 comustadmobilelibdbentitiesClazzEnrolmentWithClazzkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitClazzEnrolmentclazzandroidxroomEmbeddedPROPERTY_BACKING_FIELDClazzNothingDEFAULT_PROPERTY_ACCESSORCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerFloatSerializerBooleanSerializerbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6Floattmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeFloatElementdecodeBooleanElementdecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQclazzEnrolmentUidencodeLongElementclazzEnrolmentPersonUidclazzEnrolmentClazzUidclazzEnrolmentDateJoinedclazzEnrolmentDateLeftcoreUNSET_DISTANT_FUTUREclazzEnrolmentRoleencodeIntElementclazzEnrolmentAttendancePercentagetoFloatencodeFloatElementclazzEnrolmentActiveencodeBooleanElementclazzEnrolmentLeavingReasonUidclazzEnrolmentOutcomeOUTCOME_IN_PROGRESSclazzEnrolmentLocalChangeSeqNumclazzEnrolmentMasterChangeSeqNumclazzEnrolmentLastChangedByclazzEnrolmentLctencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzEnrolmentWithClazzaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException $       8         !  "($% &! !D comustadmobilelibdbentitiesClazzEnrolmentWithClazzAndAttendancekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitClazzEnrolmentWithClazzattendancePROPERTY_BACKING_FIELDFloatDEFAULT_PROPERTY_ACCESSORNothingCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerFloatSerializerBooleanSerializerClazzbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeFloatElementdecodeBooleanElementdecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQClazzEnrolmentclazzEnrolmentUidencodeLongElementclazzEnrolmentPersonUidclazzEnrolmentClazzUidclazzEnrolmentDateJoinedclazzEnrolmentDateLeftcoreUNSET_DISTANT_FUTUREclazzEnrolmentRoleencodeIntElementclazzEnrolmentAttendancePercentagetoFloatencodeFloatElementclazzEnrolmentActiveencodeBooleanElementclazzEnrolmentLeavingReasonUidclazzEnrolmentOutcomeOUTCOME_IN_PROGRESSclazzEnrolmentLocalChangeSeqNumclazzEnrolmentMasterChangeSeqNumclazzEnrolmentLastChangedByclazzEnrolmentLctclazzencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzEnrolmentWithClazzAndAttendanceaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException         8          !  "($% &!!? comustadmobilelibdbentitiesClazzEnrolmentWithLeavingReasonkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitClazzEnrolmentleavingReasonandroidxroomEmbeddedPROPERTY_BACKING_FIELDLeavingReasonNothingDEFAULT_PROPERTY_ACCESSORtimeZoneStringCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerFloatSerializerBooleanSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6Floattmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeFloatElementdecodeBooleanElementdecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQclazzEnrolmentUidencodeLongElementclazzEnrolmentPersonUidclazzEnrolmentClazzUidclazzEnrolmentDateJoinedclazzEnrolmentDateLeftcoreUNSET_DISTANT_FUTUREclazzEnrolmentRoleencodeIntElementclazzEnrolmentAttendancePercentagetoFloatencodeFloatElementclazzEnrolmentActiveencodeBooleanElementclazzEnrolmentLeavingReasonUidclazzEnrolmentOutcomeOUTCOME_IN_PROGRESSclazzEnrolmentLocalChangeSeqNumclazzEnrolmentMasterChangeSeqNumclazzEnrolmentLastChangedByclazzEnrolmentLctencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzEnrolmentWithLeavingReasonaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException         8          !  "($% &!!8 comustadmobilelibdbentitiesClazzEnrolmentWithPersonkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitClazzEnrolmentpersonandroidxroomEmbeddedPROPERTY_BACKING_FIELDPersonNothingDEFAULT_PROPERTY_ACCESSORCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerFloatSerializerBooleanSerializerbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6Floattmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeFloatElementdecodeBooleanElementdecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQclazzEnrolmentUidencodeLongElementclazzEnrolmentPersonUidclazzEnrolmentClazzUidclazzEnrolmentDateJoinedclazzEnrolmentDateLeftcoreUNSET_DISTANT_FUTUREclazzEnrolmentRoleencodeIntElementclazzEnrolmentAttendancePercentagetoFloatencodeFloatElementclazzEnrolmentActiveencodeBooleanElementclazzEnrolmentLeavingReasonUidclazzEnrolmentOutcomeOUTCOME_IN_PROGRESSclazzEnrolmentLocalChangeSeqNumclazzEnrolmentMasterChangeSeqNumclazzEnrolmentLastChangedByclazzEnrolmentLctencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzEnrolmentWithPersonaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException    0                 8     !  !( comustadmobilelibdbentitiesClazzLogdoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringclazzlog_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%androidxroomEntitykotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnyclazzLogUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingclazzLogClazzUidlogDatetimeRecordedclazzLogDonecancellationNoteclazzLogCancelledclazzLogNumPresentclazzLogNumAbsentclazzLogNumPartialclazzLogScheduleUidclazzLogStatusFlagclazzLogMSQNMasterChangeSeqNumclazzLogLCSNLocalChangeSeqNumclazzLogLCBLastChangedByclazzLogLastChangedTimeReplicateLastModifiedReplicateEtagclazzUidscheduleUidEQCompanionTABLE_IDSTATUS_CREATEDSTATUS_HOLIDAYSTATUS_MANUALLYCANCELEDSTATUS_RECORDEDSTATUS_RESCHEDULEDSTATUS_INACTIVEserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERequalsotherIFinternalirEQEQEQOROREQEQnotEXCLEQGET_PROPERTYhashCoderesultplusPLUStimesMULELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receiverDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerBooleanSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeBooleanElementdecodeNullableSerializableElementdecodeIntElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeBooleanElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzLogaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException   &  0  !!#))!''*00)//% ++' --   "   8       8 comustadmobilelibdbentitiesClazzLogAttendanceRecorddoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWandroidxroomEntitykotlinxserializationSerializableTriggersArrayTriggerStringclazzlogattendancerecord_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnyclazzLogAttendanceRecordUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingclazzLogAttendanceRecordClazzLogUidclazzLogAttendanceRecordPersonUidattendanceStatusclazzLogAttendanceRecordMasterChangeSeqNumMasterChangeSeqNumclazzLogAttendanceRecordLocalChangeSeqNumLocalChangeSeqNumclazzLogAttendanceRecordLastChangedByLastChangedByclazzLogAttendanceRecordLastChangedTimeReplicateLastModifiedReplicateEtagequalsotherIFinternalirEQEQEQOROREQEQnotEXCLEQGET_PROPERTYhashCoderesultplusPLUStimesMULEQCompanionTABLE_IDSTATUS_ATTENDEDSTATUS_ABSENTSTATUS_PARTIALATTENDANCE_THRESHOLD_GOODFloatATTENDANCE_THRESHOLD_WARNINGserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeIntElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzLogAttendanceRecordaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException "       !!!''#))%++)//*00    8       !  '-!B comustadmobilelibdbentitiesClazzLogAttendanceRecordWithPersonkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitClazzLogAttendanceRecordpersonandroidxroomEmbeddedPROPERTY_BACKING_FIELDPersonNothingDEFAULT_PROPERTY_ACCESSORcopyalsoFunction1LOCAL_FUNCTION_FOR_LAMBDAitEQGET_PROPERTYclazzLogAttendanceRecordUidLongclazzLogAttendanceRecordPersonUidclazzLogAttendanceRecordClazzLogUidclazzLogAttendanceRecordLastChangedByIntclazzLogAttendanceRecordLocalChangeSeqNumclazzLogAttendanceRecordMasterChangeSeqNumattendanceStatusLAMBDACompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeIntElementdecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementclazzLogAttendanceRecordLastChangedTimeencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzLogAttendanceRecordWithPersonaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException           8        !   !     !  !!"( 7 comustadmobilelibdbentitiesClazzWithDisplayDetailskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitClazzclazzHolidayCalendarandroidxroomEmbeddedPROPERTY_BACKING_FIELDHolidayCalendarNothingDEFAULT_PROPERTY_ACCESSORterminologyCourseTerminologycoursePictureCoursePicturenumStudentsIntnumTeachersCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerFloatSerializerBooleanSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3Floattmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_local21tmp26_local22tmp27_local23tmp28_local24tmp29_local25tmp30_local26tmp31_local27tmp32_local28tmp33_local29tmp34_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeFloatElementdecodeBooleanElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQclazzUidencodeLongElementclazzNameencodeNullableSerializableElementclazzDescattendanceAverageencodeFloatElementclazzHolidayUMCalendarUidclazzScheuleUMCalendarUidisClazzActiveencodeBooleanElementclazzLocationUidclazzStartTimeclazzEndTimeMAX_VALUEclazzFeaturesCLAZZ_FEATURE_ATTENDANCEclazzSchoolUidclazzEnrolmentPolicyCLAZZ_ENROLMENT_POLICY_OPENencodeIntElementclazzTerminologyUidtoLongplusPLUSshlcodeCharclazzMasterChangeSeqNumclazzLocalChangeSeqNumclazzLastChangedByclazzLctclazzTimeZoneclazzStudentsPersonGroupUidclazzTeachersPersonGroupUidclazzPendingStudentsPersonGroupUidclazzParentsPersonGroupUidclazzCodeclazzOwnerPersonUidtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzWithDisplayDetailsaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException )         8       !   !     !  !!"( I comustadmobilelibdbentitiesClazzWithHolidayCalendarAndAndTerminologykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitClazzholidayCalendarandroidxroomEmbeddedPROPERTY_BACKING_FIELDHolidayCalendarNothingDEFAULT_PROPERTY_ACCESSORterminologyCourseTerminologycoursePictureCoursePictureequalsBooleanotherAnyIFinternalirEQEQEQnotEXCLEXCLEQEQEQGET_PROPERTYhashCodeIntresultplusPLUStimesMULELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receiverEQtmp3_elvis_lhstmp2_safe_receivertmp5_elvis_lhstmp4_safe_receiverCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerFloatSerializerBooleanSerializerIntSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3Floattmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_local21tmp26_local22tmp27_local23tmp28_local24tmp29_local25tmp30_local26tmp31_local27tmp32_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeFloatElementdecodeBooleanElementdecodeIntElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultclazzUidencodeLongElementclazzNameencodeNullableSerializableElementclazzDescattendanceAverageencodeFloatElementclazzHolidayUMCalendarUidclazzScheuleUMCalendarUidisClazzActiveencodeBooleanElementclazzLocationUidclazzStartTimeclazzEndTimeMAX_VALUEclazzFeaturesCLAZZ_FEATURE_ATTENDANCEclazzSchoolUidclazzEnrolmentPolicyCLAZZ_ENROLMENT_POLICY_OPENencodeIntElementclazzTerminologyUidtoLongshlcodeCharclazzMasterChangeSeqNumclazzLocalChangeSeqNumclazzLastChangedByclazzLctclazzTimeZoneclazzStudentsPersonGroupUidclazzTeachersPersonGroupUidclazzPendingStudentsPersonGroupUidclazzParentsPersonGroupUidclazzCodeclazzOwnerPersonUidtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzWithHolidayCalendarAndAndTerminologyaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException              8      !   !     !  !!"( ;  comustadmobilelibdbentitiesClazzWithListDisplayDetailskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitClazznumStudentsPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingnumTeachersteacherNamesStringlastRecordedLongclazzActiveEnrolmentandroidxroomEmbeddedClazzEnrolmentterminologyCourseTerminologycoursePictureCoursePictureequalsBooleanotherAnyIFinternalirEQEQEQnotEXCLEXCLEQEQEQGET_PROPERTYhashCoderesultplusPLUStimesMULEQELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receivertmp3_elvis_lhstmp2_safe_receivertmp5_elvis_lhstmp4_safe_receivertmp7_elvis_lhstmp6_safe_receiverCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerFloatSerializerBooleanSerializerIntSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_bitMask1tmp5_local0tmp6_local1tmp7_local2tmp8_local3Floattmp9_local4tmp10_local5tmp11_local6tmp12_local7tmp13_local8tmp14_local9tmp15_local10tmp16_local11tmp17_local12tmp18_local13tmp19_local14tmp20_local15tmp21_local16tmp22_local17tmp23_local18tmp24_local19tmp25_local20tmp26_local21tmp27_local22tmp28_local23tmp29_local24tmp30_local25tmp31_local26tmp32_local27tmp33_local28tmp34_local29tmp35_local30tmp36_local31tmp37_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeFloatElementdecodeBooleanElementdecodeIntElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultclazzUidencodeLongElementclazzNameencodeNullableSerializableElementclazzDescattendanceAverageencodeFloatElementclazzHolidayUMCalendarUidclazzScheuleUMCalendarUidisClazzActiveencodeBooleanElementclazzLocationUidclazzStartTimeclazzEndTimeMAX_VALUEclazzFeaturesCLAZZ_FEATURE_ATTENDANCEclazzSchoolUidclazzEnrolmentPolicyCLAZZ_ENROLMENT_POLICY_OPENencodeIntElementclazzTerminologyUidtoLongshlcodeCharclazzMasterChangeSeqNumclazzLocalChangeSeqNumclazzLastChangedByclazzLctclazzTimeZoneclazzStudentsPersonGroupUidclazzTeachersPersonGroupUidclazzPendingStudentsPersonGroupUidclazzParentsPersonGroupUidclazzCodeclazzOwnerPersonUidtmp0_serialDesccom.ustadmobile.lib.db.entities.ClazzWithListDisplayDetailsaddElementseen1seen2serializationConstructorMarkerSerializationConstructorMarkerandthrowArrayMissingFieldExceptionIntArrayintArrayOf    0        "    8      !  !(     comustadmobilelibdbentitiesCommentsandroidxroomEntitykotlinArrayIndexStringcommentsEntityUidcommentsForSubmitterUididx_comments_entity_submitterdoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggercomments_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDcommentsUidLongcommentsTextNothingcommentsStatusCompanionCOMMENTS_STATUS_APPROVEDGET_PROPERTYcommentsFromPersonUidcommentsFromSubmitterUidcommentsFlaggedBooleancommentsDeletedcommentsDateTimeAddedcommentsLctUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CommentsaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11copytoStringComments(commentsUid=, commentsText=commentsEntityUid=commentsStatus=commentsFromPersonUid=commentsForSubmitterUid=commentsFromSubmitterUid=commentsFlagged=commentsDeleted=commentsDateTimeAdded=commentsLct=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException              8      !  !2 comustadmobilelibdbentitiesConnectivityStatusandroidxroomEntitykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnycsUidPrimaryKeyPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingconnectivityStatewifiSsidStringconnectedOrConnectingBooleanEQtoStringvalWHENIR_TEMPORARY_VARIABLEtmp0_subjectGET_PROPERTYinternalirEQEQCompanionSTATE_METEREDplusPLUSEQMETEREDSTATE_UNMETEREDUNMETEREDSTATE_DISCONNECTEDDISCONNECTEDSTATE_CONNECTED_LOCALCONNECTED_LOCALSTATE_CONNECTING_LOCALCONNECTING_LOCALIFnotEXCLEQ SSID = "" connectedOrConnecting = serializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfIntSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeIntElementordecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeIntElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ConnectivityStatusaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException    0   $$ &&!'' ""      8     !  !/ comustadmobilelibdbentitiesContentCategoryandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcontentcategory_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnycontentCategoryUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingctnCatContentCategorySchemaUidnamecontentCategoryLocalChangeSeqNumLocalChangeSeqNumcontentCategoryMasterChangeSeqNumMasterChangeSeqNumcontentCategoryLastChangedByLastChangedBycontentCategoryLctReplicateLastModifiedReplicateEtagequalsotherIFinternalirEQEQEQcategorynotEXCLEQEQEQGET_PROPERTYCHECK_NOT_NULLEXCLEXCLhashCoderesulttoIntxorushrplusPLUStimesMULEQCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeIntElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentCategoryaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException  #  0     &,,'--" ((      8     !  !5 comustadmobilelibdbentitiesContentCategorySchemaandroidxroomEntitydoorannotationTriggerskotlinArrayTriggerStringcontentcategoryschema_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%ReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWkotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnycontentCategorySchemaUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingschemaNameschemaUrlcontentCategorySchemaLocalChangeSeqNumLocalChangeSeqNumcontentCategorySchemaMasterChangeSeqNumMasterChangeSeqNumcontentCategorySchemaLastChangedByLastChangedBycontentCategorySchemaLctReplicateLastModifiedReplicateEtagequalsotherIFinternalirEQEQEQschemanotEXCLEQEQEQGET_PROPERTYCHECK_NOT_NULLEXCLEXCLhashCoderesulttoIntxorushrplusPLUStimesMULEQCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeIntElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentCategorySchemaaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionJ     0                 (# ##$$         #%+   8      !  !, comustadmobilelibdbentitiesContentEntryandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcontententry_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnycontentEntryUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingtitledescriptionentryIdauthorpublisherlicenseTypeCompanionLICENSE_TYPE_UNSPECIFIEDGET_PROPERTYlicenseNamelicenseUrlsourceUrlthumbnailUrlDeprecateduse contentEntryPicturelastModifiedprimaryLanguageUidColumnInfolanguageVariantUidcontentFlagsleafpublikceInactivecompletionCriteriause on courseBlock, will be removed soonCOMPLETION_CRITERIA_AUTOMATICminScorecontentTypeFlagcontentOwnercontentOwnerType1contentEntryLocalChangeSeqNumLocalChangeSeqNumcontentEntryMasterChangeSeqNumMasterChangeSeqNumcontentEntryLastChangedByLastChangedBycontentEntryLctReplicateLastModifiedReplicateEtagEQTABLE_IDLICENSE_TYPE_CC_BYLICENSE_TYPE_CC_BY_SALICENSE_TYPE_CC_BY_SA_NCLICENSE_TYPE_CC_BY_NCALL_RIGHTS_RESERVEDLICENSE_TYPE_CC_BY_NC_SALICENSE_TYPE_PUBLIC_DOMAINLICENSE_TYPE_OTHERLICENSE_TYPE_CC_BY_NDSuppressunusedLICENSE_TYPE_CC_BY_NC_NDLICENSE_TYPE_CC_0TYPE_UNDEFINEDTYPE_COLLECTIONTYPE_EBOOKTYPE_INTERACTIVE_EXERCISETYPE_VIDEOTYPE_AUDIOTYPE_DOCUMENTTYPE_ARTICLETYPE_PDFFLAG_IMPORTEDCOMPLETION_CRITERIA_MIN_SCORECOMPLETION_CRITERIA_MARKED_BY_STUDENTOWNER_TYPE_LIBRARYOWNER_TYPE_COURSEserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERequalsotherIFinternalirEQEQEQnotEXCLEQEQEQhashCoderesultplusPLUStimesMULELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receivertmp3_elvis_lhstmp2_safe_receivertmp5_elvis_lhstmp4_safe_receivertmp7_elvis_lhstmp6_safe_receivertmp9_elvis_lhstmp8_safe_receivertmp11_elvis_lhstmp10_safe_receivertmp13_elvis_lhstmp12_safe_receivertmp15_elvis_lhstmp14_safe_receivertmp17_elvis_lhstmp16_safe_receiverThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_local21tmp26_local22tmp27_local23tmp28_local24tmp29_local25tmp30_local26tmp31_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException" comustadmobilelibdbentitiesContentEntryButtonModelDEFINEDkotlinUnitAnyshowDownloadButtonPROPERTY_BACKING_FIELDBooleanDEFAULT_PROPERTY_ACCESSORNothingshowOpenButtonshowUpdateButtonshowDeleteButtonshowManageDownloadButtonINSTANCE_RECEIVER   -  0          8       ? comustadmobilelibdbentitiesContentEntryContentCategoryJoinandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWkotlinxserializationSerializableTriggersArrayTriggerStringcontententrycontentcategoryjoin_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnyceccjUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingceccjContentEntryUidColumnInfoceccjContentCategoryUidceccjLocalChangeSeqNumLocalChangeSeqNumceccjMasterChangeSeqNumMasterChangeSeqNumceccjLastChangedByLastChangedByceccjLctReplicateLastModifiedReplicateEtagequalsotherIFinternalirEQEQEQthatnotEXCLEQEQEQGET_PROPERTYCHECK_NOT_NULLEXCLEXCLhashCoderesulttoIntxorushrplusPLUStimesMULEQCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeIntElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryContentCategoryJoinaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException          "  %%      8      !  !5         comustadmobilelibdbentitiesContentEntryImportJobandroidxroomEntitykotlinArrayIndexStringcjiContentEntryUidcjiFinishTimeBooleankotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDcjiUidLongsourceUriNothingcjiOriginalFilenamecjiParentContentEntryUidcjiContentEntryVersioncjiItemProgresscjiItemTotalcjiStatusIntcjiRecursiveStatuscjiPluginIdcjiParentCjiUidcjiStartTimecjiContentDeletedOnCancellationcjiCompressionLevelcjiErrorcjiErrorDismissedcjiOwnerPersonUidcjiParamsUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORColumnInfo3CompanionTABLE_IDPARAM_KEY_SUBTITLESsubtitlesserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryImportJobaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11component12component13component14component15component16component17component18component19component20copytoStringContentEntryImportJob(cjiUid=, sourceUri=cjiOriginalFilename=cjiContentEntryUid=cjiParentContentEntryUid=cjiContentEntryVersion=cjiItemProgress=cjiItemTotal=cjiStatus=cjiRecursiveStatus=cjiPluginId=cjiParentCjiUid=cjiStartTime=cjiFinishTime=cjiContentDeletedOnCancellation=cjiCompressionLevel=cjiError=cjiErrorDismissed=cjiOwnerPersonUid=cjiParams=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException   )  0    "           8        ; comustadmobilelibdbentitiesContentEntryParentChildJoinandroidxroomEntitykotlinArrayIndexStringcepcjChildContentEntryUidcepcjParentContentEntryUidparent_childdoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggercontententryparentchildjoin_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDLongchildIndexUnitAnyColumnInfoBooleanPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingcepcjUidPrimaryKeycepcjLocalChangeSeqNumLocalChangeSeqNumcepcjMasterChangeSeqNumMasterChangeSeqNumcepcjLastChangedByLastChangedBycepcjLctReplicateLastModifiedReplicateEtagcepcjDeleted0parentEntryContentEntrychildEntryindexEQcontentEntryUidGET_PROPERTYCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERequalsotherIFinternalirEQEQEQOROREQEQnotEXCLEQhashCoderesultplusPLUStimesMULDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeIntElementdecodeBooleanElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryParentChildJoinaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0                8      !  !3 comustadmobilelibdbentitiesContentEntryPictureandroidxroomEntitykotlinxserializationSerializabledoorannotationEntityWithAttachmentReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringceppicture_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnycepUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingcepContentEntryUidcepUriAttachmentUricepMd5AttachmentMd5cepFileSizeAttachmentSizecepTimestampReplicateLastModifiedReplicateEtagcepMimeTypecepActiveCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERequalsotherIFinternalirEQEQEQOROREQEQnotEXCLEQGET_PROPERTYhashCoderesultplusPLUStimesMULEQELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receivertmp3_elvis_lhstmp2_safe_receivertmp5_elvis_lhstmp4_safe_receiverDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryPictureaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException   "  0   "       8      !  !4  comustadmobilelibdbentitiesContentEntryPicture2androidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcontententrypicture2_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDcepUidLongcepLctcepPictureUriNothingcepThumbnailUriUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryPicture2addElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringContentEntryPicture2(cepUid=, cepLct=cepPictureUri=cepThumbnailUri=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException   *  0        !   8      !  !< comustadmobilelibdbentitiesContentEntryRelatedEntryJoinandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWkotlinxserializationSerializableTriggersArrayTriggerStringcontententryrelatedentryjoin_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnycerejUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingcerejContentEntryUidcerejRelatedEntryUidcerejLastChangedByLastChangedByrelTypecommentcerejRelLanguageUidcerejLocalChangeSeqNumLocalChangeSeqNumcerejMasterChangeSeqNumMasterChangeSeqNumcerejLctReplicateLastModifiedReplicateEtagequalsotherIFinternalirEQEQEQthatnotEXCLEQEQEQGET_PROPERTYCHECK_NOT_NULLEXCLEXCLhashCoderesulttoIntxorushrplusPLUStimesMULEQCompanionTABLE_IDREL_TYPE_TRANSLATED_VERSIONREL_TYPE_SEE_ALSOserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeIntElementdecodeNullableSerializableElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeIntElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryRelatedEntryJoinaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException ( ,       8     !  !H comustadmobilelibdbentitiesContentEntryRelatedEntryJoinWithLangNamekotlinDeprecatedStringuse ContentEntryRelatedEntryJoinWithLanguagekotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnycerejContentEntryUidPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingcerejRelatedEntryUidlanguageNameequalsBooleanotherIFinternalirEQEQEQOROREQEQnotEXCLEQGET_PROPERTYhashCodeIntresultplusPLUStimesMULEQELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receiverCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryRelatedEntryJoinWithLangNameaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException (           8      !  !H comustadmobilelibdbentitiesContentEntryRelatedEntryJoinWithLanguagekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitContentEntryRelatedEntryJoinlanguageandroidxroomEmbeddedPROPERTY_BACKING_FIELDLanguageNothingDEFAULT_PROPERTY_ACCESSORrelatedEntryJoincerejUidEQLongGET_PROPERTYcommentStringrelTypeIntcerejRelLanguageUidcerejContentEntryUidcerejRelatedEntryUidequalsBooleanotherAnyIFinternalirEQEQEQOROREQEQnotEXCLEQEXCLhashCoderesultplusPLUStimesMULELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receiverCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeIntElementdecodeNullableSerializableElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementcerejLastChangedByencodeIntElementencodeNullableSerializableElementcerejLocalChangeSeqNumcerejMasterChangeSeqNumcerejLcttmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryRelatedEntryJoinWithLanguageaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException "             8        B comustadmobilelibdbentitiesContentEntryStatementScoreProgresskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnyresultScorePROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingresultMaxresultScaledFloatresultWeightcontentCompleteBooleanprogresssuccessBytexapiStatementEntityCompanionRESULT_UNSETGET_PROPERTYpenaltytotalContenttotalCompletedContentequalsotherIFinternalirEQEQEQOROREQEQnotEXCLEQieee754equalstoInthashCoderesultplusPLUStimesMULEQserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfIntSerializerFloatSerializerBooleanSerializerByteSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeIntElementordecodeFloatElementdecodeBooleanElementdecodeByteElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeIntElementencodeFloatElementencodeBooleanElementencodeByteElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryStatementScoreProgressaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0"     "         9?   8     !  !3    comustadmobilelibdbentitiesContentEntryVersionandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcontent_entry_version_remote_insOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%content_entry_version_offline_itemAFTERENTITY INSERT INTO OfflineItemPendingTransferJob(oiptjOiUid, oiptjTableId, oiptjEntityUid, oiptjType) VALUES ((SELECT COALESCE(( SELECT OfflineItem.oiUid FROM OfflineItem WHERE OfflineItem.oiContentEntryUid = NEW.cevContentEntryUid AND CAST(OfflineItem.oiActive AS INTEGER) = 1 AND OfflineItem.oiNodeId = (SELECT COALESCE( (SELECT nodeClientId FROM SyncNode LIMIT 1), 0)) ), 0)), 738, NEW.cevUid, 2) SELECT EXISTS( SELECT OfflineItem.oiUid FROM OfflineItem WHERE OfflineItem.oiContentEntryUid = NEW.cevContentEntryUid AND CAST(OfflineItem.oiActive AS INTEGER) = 1 AND OfflineItem.oiNodeId = (SELECT COALESCE( (SELECT nodeClientId FROM SyncNode LIMIT 1), 0)) ) AND NOT EXISTS (SELECT TransferJob.tjUid FROM TransferJob WHERE TransferJob.tjTableId = 738 AND TransferJob.tjEntityUid = NEW.cevUid) kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDcevUidLongcevContentEntryUidcevOpenUricevContentTypecevManifestUrlNothingcevSizecevInActiveBooleancevLastModifiedcevLctcevStorageSizecevOriginalSizeUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateEtagReplicateLastModifiedColumnInfo0CompanionTYPE_EPUBSuppressunusedepubTYPE_VIDEOvideoTYPE_PDFpdfTYPE_XAPIxapiPATH_POSTFIXapi/content/TABLE_IDSELECT_OFFLINE_ITEM_UID_FOR_NEW_CONTENT_ENTRY_VERSION_SQL SELECT OfflineItem.oiUid FROM OfflineItem WHERE OfflineItem.oiContentEntryUid = NEW.cevContentEntryUid AND CAST(OfflineItem.oiActive AS INTEGER) = 1 AND OfflineItem.oiNodeId = (SELECT COALESCE( (SELECT nodeClientId FROM SyncNode LIMIT 1), 0)) serializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryVersionaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11copytoStringContentEntryVersion(cevUid=, cevContentEntryUid=cevOpenUri=cevContentType=cevManifestUrl=cevSize=cevInActive=cevLastModified=cevLct=cevStorageSize=cevOriginalSize=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException            8       !  !? comustadmobilelibdbentitiesContentEntryWithAttemptsSummarykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnycontentEntryUidPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingtitleStringthumbnailUrlattemptsIntprogressstartDateendDateCompanionMAX_VALUEGET_PROPERTYdurationresultScoreScaledFloatresultMaxresultScoreserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerFloatSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeFloatElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementencodeFloatElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryWithAttemptsSummaryaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException         8         !   !            # #$@ (comustadmobilelibdbentitiesContentEntryWithBlockAndLanguagekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitContentEntrylanguageandroidxroomEmbeddedPROPERTY_BACKING_FIELDLanguageNothingDEFAULT_PROPERTY_ACCESSORblockCourseBlockCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_local21tmp26_local22tmp27_local23tmp28_local24tmp29_local25tmp30_local26tmp31_local27tmp32_local28tmp33_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQcontentEntryUidencodeLongElementtitleencodeNullableSerializableElementdescriptionentryIdauthorpublisherlicenseTypeLICENSE_TYPE_UNSPECIFIEDencodeIntElementlicenseNamelicenseUrlsourceUrlthumbnailUrllastModifiedprimaryLanguageUidlanguageVariantUidcontentFlagsleafencodeBooleanElementpublikceInactivecompletionCriteriaCOMPLETION_CRITERIA_AUTOMATICminScorecontentTypeFlagcontentOwnercontentOwnerTypecontentEntryLocalChangeSeqNumcontentEntryMasterChangeSeqNumcontentEntryLastChangedBycontentEntryLcttmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryWithBlockAndLanguageaddElementseen1use contentEntryPictureuse on courseBlock, will be removed soonserializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException        8         !   !            # #$8 (comustadmobilelibdbentitiesContentEntryWithLanguagekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitContentEntrylanguageandroidxroomEmbeddedPROPERTY_BACKING_FIELDLanguageNothingDEFAULT_PROPERTY_ACCESSORCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_local21tmp26_local22tmp27_local23tmp28_local24tmp29_local25tmp30_local26tmp31_local27tmp32_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQcontentEntryUidencodeLongElementtitleencodeNullableSerializableElementdescriptionentryIdauthorpublisherlicenseTypeLICENSE_TYPE_UNSPECIFIEDencodeIntElementlicenseNamelicenseUrlsourceUrlthumbnailUrllastModifiedprimaryLanguageUidlanguageVariantUidcontentFlagsleafencodeBooleanElementpublikceInactivecompletionCriteriaCOMPLETION_CRITERIA_AUTOMATICminScorecontentTypeFlagcontentOwnercontentOwnerTypecontentEntryLocalChangeSeqNumcontentEntryMasterChangeSeqNumcontentEntryLastChangedBycontentEntryLcttmp0_serialDesccom.ustadmobile.lib.db.entities.ContentEntryWithLanguageaddElementseen1use contentEntryPictureuse on courseBlock, will be removed soonserializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0    "         8     !  !*    comustadmobilelibdbentitiesContentJobdoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcontentjob_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableandroidxroomEntitySerializableWithreflectKClass$serializerDEFINEDcjUidLongtoUriNothingcjProgresscjTotalcjNotificationTitlecjIsMeteredAllowedBooleanparamscjLctUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateEtagReplicateLastModifiedCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentJobaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8copytoStringContentJob(cjUid=, toUri=cjProgress=cjTotal=cjNotificationTitle=cjIsMeteredAllowed=params=cjLct=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException comustadmobilelibdbentitiesContentJobItemParentChildJoinandroidxroomEntityDEFINEDkotlinUnitAnycjipcjChildUidPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingcjipcjParentUidINSTANCE_RECEIVER!   comustadmobilelibdbentitiesContentJobItemProgressDEFINEDkotlinUnitAnyprogressPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingtotalprogressTitleStringcjiUidLongINSTANCE_RECEIVER; "      comustadmobilelibdbentitiesContentJobItemProgressAndStatusDEFINEDstatuskotlinIntprogressLongtotalUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringStringContentJobItemProgressAndStatus(status=, progress=total=)hashCoderesultplustimesEQequalsBooleanotherinternalirEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQEQEQINSTANCE_RECEIVER       "   8      !  !9 comustadmobilelibdbentitiesContentWithAttemptSummarykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnycontentEntryUidPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingcontentEntryTitleStringcontentEntryThumbnailUrlattemptsIntstartDateendDateCompanionMAX_VALUEGET_PROPERTYdurationscoreProgressandroidxroomEmbeddedContentEntryStatementScoreProgressserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ContentWithAttemptSummaryaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException  "  0             8     !  !4 comustadmobilelibdbentitiesCourseAssignmentMarkandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcourseassignmentmark_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnycamUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingcamAssignmentUidcamSubmitterUidcamMarkerSubmitterUidColumnInfo0camMarkerPersonUidcamMarkerCommentcamMarkFloatcamMaxMark1camPenaltycamLctReplicateLastModifiedReplicateEtagcamClazzUidCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerFloatSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeFloatElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeFloatElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CourseAssignmentMarkaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException $   comustadmobilelibdbentitiesCourseAssignmentMarkWithPersonMarkerDEFINEDkotlinUnitCourseAssignmentMarkisGroupPROPERTY_BACKING_FIELDBooleanDEFAULT_PROPERTY_ACCESSORNothingmarkerandroidxroomEmbeddedPersonINSTANCE_RECEIVER  (  0    "      #)   "   8     !  !:   comustadmobilelibdbentitiesCourseAssignmentSubmissionandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcourseassignmentsubmission_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDcasUidLongcasAssignmentUidcasSubmitterUidcasSubmitterPersonUidcasTextNothingcasTypecasTimestampcasClazzUidUnitAnyPrimaryKeyBooleanPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagColumnInfo0CompanionTABLE_IDSUBMITTER_ENROLLED_BUT_NOT_IN_GROUPSUBMISSION_TYPE_TEXTSUBMISSION_TYPE_FILENOT_SUBMITTEDSUBMITTEDMARKEDMIN_SUBMITTER_UID_FOR_PERSONserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CourseAssignmentSubmissionaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8copytoStringCourseAssignmentSubmission(casUid=, casAssignmentUid=casSubmitterUid=casSubmitterPersonUid=casText=casType=casTimestamp=casClazzUid=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException  2  0      "         8      !  !>     comustadmobilelibdbentitiesCourseAssignmentSubmissionFileandroidxroomEntitydoorannotationEntityWithAttachmentReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcourseassignmentsubmissionattachment_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDcasaUidLongcasaSubmissionUidcasaSubmitterUidcasaCaUidcasaClazzUidcasaMimeTypeNothingcasaFileNamecasaUricasaSizecasaTimestampcasaDeletedBooleanUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORColumnInfo0ReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CourseAssignmentSubmissionFileaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11copytoStringCourseAssignmentSubmissionFile(casaUid=, casaSubmissionUid=casaSubmitterUid=casaCaUid=casaClazzUid=casaMimeType=casaFileName=casaUri=casaSize=casaTimestamp=casaDeleted=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException,      0           "         8      !  !+       comustadmobilelibdbentitiesCourseBlockandroidxroomEntitykotlinArrayIndexStringcbClazzUididx_courseblock_cbclazzuiddoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggercourseblock_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDcbUidLongcbTypecbIndentLevelcbModuleParentBlockUidcbTitleNothingcbDescriptioncbCompletionCriteriacbHideUntilDatecbDeadlineDateCompanionMAX_VALUEGET_PROPERTYcbLateSubmissionPenaltycbGracePeriodDatecbMaxPointsFloatcbMinPointscbIndexcbClazzSourcedIdcbActiveBooleancbHiddencbEntityUidcbLctcbSourcedIdcbMetadatacbCreatedByAppIdUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagTABLE_IDBLOCK_MODULE_TYPEBLOCK_TEXT_TYPEBLOCK_ASSIGNMENT_TYPEBLOCK_CONTENT_TYPEBLOCK_DISCUSSION_TYPEBLOCK_EXTERNAL_APPserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerFloatSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_local21tmp26_local22tmp27_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CourseBlockaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11component12component13component14component15component16component17component18component19component20component21component22component23copytoStringCourseBlock(cbUid=, cbType=cbIndentLevel=cbModuleParentBlockUid=cbTitle=cbDescription=cbCompletionCriteria=cbHideUntilDate=cbDeadlineDate=cbLateSubmissionPenalty=cbGracePeriodDate=cbMaxPoints=cbMinPoints=cbIndex=cbClazzUid=cbClazzSourcedId=cbActive=cbHidden=cbEntityUid=cbLct=cbSourcedId=cbMetadata=cbCreatedByAppId=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      0   "       8      !  !2  comustadmobilelibdbentitiesCourseBlockPictureandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcourseblockpicture_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDcbpUidLongcbpLctcbpPictureUriNothingcbpThumbnailUriUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CourseBlockPictureaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringCourseBlockPicture(cbpUid=, cbpLct=cbpPictureUri=cbpThumbnailUri=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException    0     "      8       1    comustadmobilelibdbentitiesCourseGroupMemberandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcoursegroupmember_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDcgmUidLongcgmSetUidcgmGroupNumbercgmPersonUidcgmLctUnitAnyPrimaryKeyBooleanPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CourseGroupMemberaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5copytoStringCourseGroupMember(cgmUid=, cgmSetUid=cgmGroupNumber=cgmPersonUid=cgmLct=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     "      8      !  !8    comustadmobilelibdbentitiesCourseGroupMemberAndNamekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDcgmCourseGroupMemberNothingnameStringpersonUidLongenrolmentIsActiveBooleanpictureUriUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerLongSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeLongElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementencodeLongElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CourseGroupMemberAndNameaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5copytoStringCourseGroupMemberAndName(cgm=, name=personUid=enrolmentIsActive=pictureUri=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException    0            8      !  !. comustadmobilelibdbentitiesCourseGroupSetandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcoursegroupset_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnycgsUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingcgsNamecgsTotalGroupscgsActivecgsClazzUidColumnInfocgsLctReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CourseGroupSetaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0     "    !!   8        0     comustadmobilelibdbentitiesCoursePermissionandroidxroomEntitykotlinArrayIndexStringcpClazzUididx_coursepermission_clazzuiddoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggercoursepermission_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDcpUidLongcpLastModifiedcpToEnrolmentRolecpToPersonUidcpToGroupUidcpPermissionsFlagcpIsDeletedBooleanUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingReplicateEtagReplicateLastModifiedCompanionTABLE_IDTEACHER_DEFAULT_PERMISSIONSSTUDENT_DEFAULT_PERMISSIONSserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CoursePermissionaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8copytoStringCoursePermission(cpUid=, cpLastModified=cpClazzUid=cpToEnrolmentRole=cpToPersonUid=cpToGroupUid=cpPermissionsFlag=cpIsDeleted=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      0  "     8     !  !-  comustadmobilelibdbentitiesCoursePictureandroidxroomEntitykotlinxserializationSerializabledoorannotationEntityWithAttachmentReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringcoursepicture_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDcoursePictureUidLongcoursePictureLctcoursePictureUriNothingcoursePictureThumbnailUricoursePictureActiveBooleanUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CoursePictureaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5copytoStringCoursePicture(coursePictureUid=, coursePictureLct=coursePictureUri=coursePictureThumbnailUri=coursePictureActive=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0         8     !  !1 comustadmobilelibdbentitiesCourseTerminologyandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWkotlinxserializationSerializableTriggersArrayTriggerStringcourseterminology_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnyctUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingctTitlectTerminologyctLctReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.CourseTerminologyaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0        "     8      !  !+    comustadmobilelibdbentitiesDeletedItemdoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringdeleteditem_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%androidxroomEntityIndexdelItemStatusdelItemTimeDeleteddelitem_idx_status_timekotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDdelItemUidLongdelItemNameNothingdelItemIconUridelItemLastModTimedelItemEntityTabledelItemEntityUiddelItemDeletedByPersonUidCompanionSTATUS_PENDINGGET_PROPERTYdelItemIsFolderBooleanUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateEtagReplicateLastModifiedColumnInfo0TABLE_IDSTATUS_RESTOREDSTATUS_DELETED_PERMANENTLYserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.DeletedItemaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10copytoStringDeletedItem(delItemUid=, delItemName=delItemIconUri=delItemLastModTime=delItemTimeDeleted=delItemEntityTable=delItemEntityUid=delItemDeletedByPersonUid=delItemStatus=delItemIsFolder=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0  """" $$  '   8     !  !. comustadmobilelibdbentitiesDiscussionPostandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringdiscussionpost_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnydiscussionPostUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingdiscussionPostReplyToPostUiddiscussionPostTitlediscussionPostMessagediscussionPostStartDatediscussionPostCourseBlockUiddpDeleteddiscussionPostStartedPersonUiddiscussionPostClazzUiddiscussionPostLctReplicateLastModifiedReplicateEtagdiscussionPostVisibleDeprecatedNo longer used - will be removed Aug/24discussionPostArchiveCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.DiscussionPostaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException       8      !  "!" $9 'comustadmobilelibdbentitiesDiscussionPostWithDetailskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitDiscussionPostauthorPersonFirstNamesPROPERTY_BACKING_FIELDStringNothingDEFAULT_PROPERTY_ACCESSORauthorPersonLastNameauthorPictureUripostLatestMessagepostRepliesCountIntpostLatestMessageTimestampLongCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQdiscussionPostUidencodeLongElementdiscussionPostReplyToPostUiddiscussionPostTitleencodeNullableSerializableElementdiscussionPostMessagediscussionPostStartDatediscussionPostCourseBlockUiddpDeletedencodeBooleanElementdiscussionPostStartedPersonUiddiscussionPostClazzUiddiscussionPostLctdiscussionPostVisiblediscussionPostArchiveencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.DiscussionPostWithDetailsaddElementseen1No longer used - will be removed Aug/24serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException        8        !  "!" $8 'comustadmobilelibdbentitiesDiscussionPostWithPersonkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitDiscussionPostreplyPersonandroidxroomEmbeddedPROPERTY_BACKING_FIELDPersonNothingDEFAULT_PROPERTY_ACCESSORCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQdiscussionPostUidencodeLongElementdiscussionPostReplyToPostUiddiscussionPostTitleencodeNullableSerializableElementdiscussionPostMessagediscussionPostStartDatediscussionPostCourseBlockUiddpDeletedencodeBooleanElementdiscussionPostStartedPersonUiddiscussionPostClazzUiddiscussionPostLctdiscussionPostVisiblediscussionPostArchivetmp0_serialDesccom.ustadmobile.lib.db.entities.DiscussionPostWithPersonaddElementseen1No longer used - will be removed Aug/24serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException          8     !  !6 comustadmobilelibdbentitiesDistinctCategorySchemakotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnycontentCategoryUidPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingcategoryNameStringcontentCategorySchemaUidschemaNametoStringGET_PROPERTYequalsBooleanotherIFinternalirEQEQEQOROREQEQnotEXCLEQhashCodeIntresultplusPLUStimesMULELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receiverEQtmp3_elvis_lhstmp2_safe_receiverCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.DistinctCategorySchemaaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException6   "    comustadmobilelibdbentitiesDownloadJobSizeInfoDEFINEDnumEntrieskotlinInttotalSizeLongUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringStringDownloadJobSizeInfo(numEntries=, totalSize=)hashCoderesultplustimesEQequalsBooleanotherinternalirEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQEQEQINSTANCE_RECEIVER      0       "       8      !  !0     comustadmobilelibdbentitiesEnrolmentRequestandroidxroomEntitykotlinArrayIndexStringerClazzUiderStatusidx_enrolmentrequest_by_clazzerPersonUididx_enrolmentrequest_by_persondoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggerenrolmentrequest_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDerUidLongerClazzNameNothingerPersonFullnameerPersonPictureUrierPersonUsernameerRoleerRequestTimeCompanionSTATUS_PENDINGGET_PROPERTYerStatusSetByPersonUiderDeletedBooleanerStatusSetAutherLastModifiedUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateEtagReplicateLastModifiedSTATUS_APPROVEDSTATUS_REJECTEDSTATUS_CANCELEDTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.EnrolmentRequestaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11component12component13component14copytoStringEnrolmentRequest(erUid=, erClazzUid=erClazzName=erPersonUid=erPersonFullname=erPersonPictureUri=erPersonUsername=erRole=erRequestTime=erStatus=erStatusSetByPersonUid=erDeleted=erStatusSetAuth=erLastModified=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException 0#!''comustadmobilelibdbentitiesTRIGGER_UPSERTDEFINEDPROPERTY_BACKING_FIELDkotlinString%UPSERT%DEFAULT_PROPERTY_ACCESSORNothingTRIGGER_CONDITION_WHERE_NEWERSELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%TRIGGER_CONDITION_ETAG_NOT_EQUALSSELECT %NEW_ETAG_NOT_EQUAL_TO_EXISTING%]     0                comustadmobilelibdbentitiesErrorReportandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringerrorreport_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%DEFINEDUnitAnyerrUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingerrPcsnMasterChangeSeqNumerrLcsnLocalChangeSeqNumerrLcbLastChangedByerrLctReplicateLastModifiedReplicateEtagseveritytimestamppresenterUriappVersionversionCodeerrorCodeoperatingSysosVersionstackTracemessageINSTANCE_RECEIVER       "     8      !  !5    comustadmobilelibdbentitiesExternalAppPermissionandroidxroomEntitykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDeapUidInteapPersonUidLongeapPackageIdStringNothingeapStartTimeeapExpireTimeeapAuthTokeneapAndroidAccountNameUnitAnyPrimaryKeyBooleanPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfIntSerializerLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeIntElementEQordecodeLongElementdecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeIntElementencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ExternalAppPermissionaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7copytoStringExternalAppPermission(eapUid=, eapPersonUid=eapPackageId=eapStartTime=eapExpireTime=eapAuthToken=eapAndroidAccountName=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException    0                 8      !  !' comustadmobilelibdbentitiesHolidayandroidxroomEntitydoorannotationTriggerskotlinArrayTriggerStringholiday_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%ReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWkotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnyholUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingholMasterCsnMasterChangeSeqNumholLocalCsnLocalChangeSeqNumholLastModByLastChangedByholLctReplicateLastModifiedReplicateEtagholActiveholHolidayCalendarUidholStartTimeholEndTimeholNameCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERequalsotherIFinternalirEQEQEQOROREQEQnotEXCLEQGET_PROPERTYhashCoderesultplusPLUStimesMULEQELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receiverDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerBooleanSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeIntElementdecodeBooleanElementdecodeNullableSerializableElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeIntElementencodeBooleanElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.HolidayaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0     ""!!      8      !  !/ comustadmobilelibdbentitiesHolidayCalendarandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringholidaycalendar_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnyumCalendarUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingumCalendarNameumCalendarCategoryCompanionCATEGORY_HOLIDAYGET_PROPERTYumCalendarActiveumCalendarMasterChangeSeqNumMasterChangeSeqNumumCalendarLocalChangeSeqNumLocalChangeSeqNumumCalendarLastChangedByLastChangedByumCalendarLctReplicateLastModifiedReplicateEtagnamecategoryEQTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.HolidayCalendaraddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException        8        !   !"! = comustadmobilelibdbentitiesHolidayCalendarWithNumEntrieskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitHolidayCalendarnumEntriesPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQumCalendarUidencodeLongElementumCalendarNameencodeNullableSerializableElementumCalendarCategoryCATEGORY_HOLIDAYencodeIntElementumCalendarActiveencodeBooleanElementumCalendarMasterChangeSeqNumumCalendarLocalChangeSeqNumumCalendarLastChangedByumCalendarLcttmp0_serialDesccom.ustadmobile.lib.db.entities.HolidayCalendarWithNumEntriesaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException{          8     !  !. comustadmobilelibdbentitiesLangUidAndNamekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnylangUidPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothinglangNameStringtoStringGET_PROPERTYequalsBooleanotherIFinternalirEQEQEQOROREQEQnotEXCLEQhashCodeIntresultplusPLUStimesMULELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receiverEQCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.LangUidAndNameaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0                   8     !  !( comustadmobilelibdbentitiesLanguageandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringlanguage_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnylangUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingnameiso_639_1_standardiso_639_2_standardiso_639_3_standardLanguage_TypelanguageActivelangLocalChangeSeqNumLocalChangeSeqNumlangMasterChangeSeqNumMasterChangeSeqNumlangLastChangedByLastChangedBylangLctReplicateLastModifiedReplicateEtagtoStringGET_PROPERTYequalsotherIFinternalirEQEQEQlanguagenotEXCLEQEQEQCHECK_NOT_NULLEXCLEXCLhashCoderesulttoIntxorushrplusPLUStimesMULEQCompanionTABLE_IDENGLISH_LANG_UIDARABIC_LANG_UIDBENGALI_LANG_UIDBURMESE_LANG_UIDKINYARWANDA_LANG_UIDNEPALI_LANG_UIDPASHTO_LANG_UIDPERSIAN_LANG_UIDRUSSIAN_LANG_UIDTAJIK_LANG_UIDFIXED_LANGUAGEScollectionsListlistOfapplyExtensionFunctionTypeFunction1LOCAL_FUNCTION_FOR_LAMBDA$this$applyEnglishenengLAMBDAالعربيةararaবাংলাbnbenမြန်မာmyburmyaIkinyarwandarwkinनेपालीnenepپښتوpspusفارسیfaperfasрусскийrurusТоҷикӣtgtgkserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeBooleanElementdecodeIntElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeNullableSerializableElementencodeBooleanElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.LanguageaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0    ""##       8     !  !/ comustadmobilelibdbentitiesLanguageVariantandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringlanguagevariant_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnylangVariantUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothinglangUidcountryCodenamelangVariantLocalChangeSeqNumLocalChangeSeqNumlangVariantMasterChangeSeqNumMasterChangeSeqNumlangVariantLastChangedByLastChangedBylangVariantLctReplicateLastModifiedReplicateEtagequalsotherIFinternalirEQEQEQthatnotEXCLEQEQEQGET_PROPERTYCHECK_NOT_NULLEXCLEXCLhashCoderesulttoIntxorushrplusPLUStimesMULEQCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeIntElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.LanguageVariantaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      0                  8     !  !- comustadmobilelibdbentitiesLeavingReasonandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWkotlinxserializationSerializableTriggersArrayTriggerStringleavingreason_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnyuidLongtitleleavingReasonUidEQleavingReasonTitlePrimaryKeyBooleanPROPERTY_BACKING_FIELDDEFAULT_PROPERTY_ACCESSORNothingleavingReasonMCSNMasterChangeSeqNumleavingReasonCSNLocalChangeSeqNumleavingReasonLCBLastChangedByleavingReasonLctReplicateLastModifiedReplicateEtagCompanionTABLE_IDMOVED_TITLEMovedMOVED_UIDMEDICAL_TITLEMedicalMEDICAL_UIDTRANSPORT_PROBLEM_TITLETransportation problemTRANSPORT_PROBLEM_UIDFAMILY_PROBLEM_TITLEFamily economic problemFAMILY_PROBLEM_UIDFAILED_TITLEFailed testFAILED_UIDPASSED_TITLEPassed testPASSED_UIDFIXED_UIDScollectionsMapmapOfPairtoGET_PROPERTYserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.LeavingReasonaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0     "     8     !  !'     comustadmobilelibdbentitiesMessageandroidxroomEntitykotlinArrayIndexStringmessageSenderPersonUidmessageToPersonUidmessageTimestampmessage_idx_send_to_timekotlinxserializationSerializabledoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggermessage_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDmessageUidLongmessageTextNothingmessageLctUnitAnyPrimaryKeyBooleanPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.MessageaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringMessage(messageUid=, messageSenderPersonUid=messageToPersonUid=messageText=messageTimestamp=messageLct=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException             8        &  " /    comustadmobilelibdbentitiesMomentkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnytypeFlagPROPERTY_BACKING_FIELDIntCompanionTYPE_FLAG_FIXEDGET_PROPERTYDEFAULT_PROPERTY_ACCESSORNothingfixedTimeLongrelToTODAY_REL_TOrelOffSetrelUnitDAYS_REL_UNITTYPE_FLAG_RELATIVEWEEKS_REL_UNITMONTHS_REL_UNITYEARS_REL_UNITserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERequalsBooleanotherIFinternalirEQEQEQOROREQEQnotEXCLEQhashCoderesultplusPLUStimesMULEQDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfIntSerializerLongSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeIntElementordecodeLongElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeIntElementencodeLongElementtmp0_serialDesccom.ustadmobile.lib.db.entities.MomentaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionDateRangeMomentfromMomenttoMomentINITIALIZE_PROPERTY_FROM_PARAMETERtmp6_inputdecodeSerializableElementencodeSerializableElementcom.ustadmobile.lib.db.entities.DateRangeMomentcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringDateRangeMoment(fromMoment=, toMoment=)tmp0_other_with_cast     0    "       8       +     comustadmobilelibdbentitiesOfflineItemandroidxroomEntitykotlinArrayIndexStringoiNodeIdoiContentEntryUidoffline_item_node_content_entrydoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggeroffline_item_remote_insOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDoiUidLongoiClazzUidoiCourseBlockUidoiActiveBooleanoiLctUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingReplicateEtagReplicateLastModifiedCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.OfflineItemaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7copytoStringOfflineItem(oiUid=, oiNodeId=oiClazzUid=oiCourseBlockUid=oiContentEntryUid=oiActive=oiLct=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException6 "   comustadmobilelibdbentitiesParentEnrolmentRequiredDEFINEDparentPersonUidkotlinLongclazzUidUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringStringParentEnrolmentRequired(parentPersonUid=, clazzUid=)hashCodeIntresultplustimesEQequalsBooleanotherinternalirEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQEQEQINSTANCE_RECEIVER  $  0    "      8       6   comustadmobilelibdbentitiesPeerReviewerAllocationandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringpeerreviewerallocation_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDpraUidLongpraMarkerSubmitterUidpraToMarkerSubmitterUidpraAssignmentUidpraActiveBooleanpraLctUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PeerReviewerAllocationaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringPeerReviewerAllocation(praUid=, praMarkerSubmitterUid=praToMarkerSubmitterUid=praAssignmentUid=praActive=praLct=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptiony    "    8        !   !:  comustadmobilelibdbentitiesPeerReviewerAllocationListkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDallocationscollectionsListPeerReviewerAllocationUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCompanion$childSerializersKOTLINX_SERIALIZATIONjvmJvmFieldArrayKSerializerarrayOfinternalArrayListSerializerINSTANCE_RECEIVERserializerjsJsExportIgnoreDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersIR_TEMPORARY_VARIABLEtmp0_cachedbuiltinsnullablegetIntdeserializedecoderencodingDecodertmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_inputCompositeDecoderbeginStructuretmp6_cacheddecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodertmp2_cachedencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PeerReviewerAllocationListaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcopytoStringPeerReviewerAllocationList(allocations=)hashCodeequalsotherEQEQEQtmp0_other_with_castnotEXCLEQseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionP    ,          "    b            9?)o/9?  8      !  !&         comustadmobilelibdbentitiesPersonandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringperson_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT% SELECT ((NEW.username IS NULL OR (SELECT NOT EXISTS( SELECT Person.personUid FROM Person WHERE Person.username = NEW.username)) OR NEW.personUid = (SELECT Person.personUid FROM Person WHERE Person.username = NEW.username))) AND CAST(NEW.personLct AS BIGINT) > (SELECT COALESCE( (SELECT Person.personLct FROM Person WHERE Person.personUid = CAST(NEW.personUid AS BIGINT)), 0)) kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDpersonUidLongusernameNothingfirstNameslastNameemailAddrphoneNumgenderactiveBooleandateOfBirthpersonAddresspersonOrgIdpersonGroupUidpersonLctpersonCountrypersonTypeCompanionTYPE_NORMAL_PERSONGET_PROPERTYpersonMasterChangeSeqNumpersonLocalChangeSeqNumpersonLastChangedByadminpersonNotesfatherNamefatherNumbermotherNamemotherNumUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagColumnInfo0DeprecatedWill be removed in Aug/24 once door update that handles missing columns in replication goes onlineMasterChangeSeqNumLocalChangeSeqNumLastChangedByfullNametextbuildStringExtensionFunctionTypeFunction1StringBuilderLOCAL_FUNCTION_FOR_LAMBDA$this$buildStringSAFE_CALLIR_TEMPORARY_VARIABLEtmp0_safe_receiverinternalirEQEQalsoitappendLAMBDAIFANDANDnotEXCLEQ tmp1_safe_receiverTABLE_IDGENDER_UNSETGENDER_FEMALEGENDER_MALEGENDER_OTHERTYPE_SYSTEMTYPE_GUESTJOIN_FROM_PERSONGROUPMEMBER_TO_PERSON_VIA_SCOPEDGRANT_PT1 JOIN ScopedGrant ON ScopedGrant.sgGroupUid = PersonGroupMember.groupMemberGroupUid AND (ScopedGrant.sgPermissions &FROM_PERSON_TO_SCOPEDGRANT_JOIN_ON_CLAUSE ((ScopedGrant.sgTableId = -2 AND ScopedGrant.sgEntityUid = -2) OR (ScopedGrant.sgTableId = 9 AND ScopedGrant.sgEntityUid = Person.personUid) OR (ScopedGrant.sgTableId = 6 AND Person.personUid IN ( SELECT DISTINCT clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE clazzEnrolmentClazzUid =ScopedGrant.sgEntityUid AND ClazzEnrolment.clazzEnrolmentActive)) ) JOIN_FROM_PERSONGROUPMEMBER_TO_PERSON_VIA_SCOPEDGRANT_PT2 ) > 0 JOIN Person ON ((ScopedGrant.sgTableId = -2 AND ScopedGrant.sgEntityUid = -2) OR (ScopedGrant.sgTableId = 9 AND ScopedGrant.sgEntityUid = Person.personUid) OR (ScopedGrant.sgTableId = 6 AND Person.personUid IN ( SELECT DISTINCT clazzEnrolmentPersonUid FROM ClazzEnrolment WHERE clazzEnrolmentClazzUid =ScopedGrant.sgEntityUid AND ClazzEnrolment.clazzEnrolmentActive)) ) serializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_local21tmp26_local22tmp27_local23tmp28_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11component12component13component14component15component16component17component18component19component20component21component22component23component24copytoStringPerson(personUid=, username=firstNames=lastName=emailAddr=phoneNum=gender=active=dateOfBirth=personAddress=personOrgId=personGroupUid=personLct=personCountry=personType=personMasterChangeSeqNum=personLocalChangeSeqNum=personLastChangedBy=admin=personNotes=fatherName=fatherNumber=motherName=motherNum=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     "  ""   8       !  !6   comustadmobilelibdbentitiesPersonAndDisplayDetailkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDpersonPersonNothingparentJoinPersonParentJoinpersonPicturePersonPicturepersonPictureTransferJobItemTransferJobItemUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonAndDisplayDetailaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringPersonAndDisplayDetail(person=, parentJoin=personPicture=personPictureTransferJobItem=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionz           8     !  !* comustadmobilelibdbentitiesPersonAuthandroidxroomEntitykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnypersonAuthUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingpasswordHashStringpersonAuthStatusIntEQCompanionSTATUS_SENTSTATUS_NOT_SENTserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonAuthaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionJ     0       comustadmobilelibdbentitiesPersonAuth2androidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringpersonauth2_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%DEFINEDUnitAnypauthUidPrimaryKeyPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingpauthMechanismpauthAuthpauthLcsnLocalChangeSeqNumpauthPcsnMasterChangeSeqNumpauthLcbLastChangedBypauthLctReplicateLastModifiedReplicateEtagCompanionAUTH_MECH_PBKDF2_DOUBLEPBKDF2x2TABLE_IDINSTANCE_RECEIVER     0         "###"   8      !  !+ comustadmobilelibdbentitiesPersonGroupdoorannotationTriggerskotlinArrayTriggerStringpersongroup_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%androidxroomEntitykotlinxserializationSerializableReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWSerializableWithreflectKClass$serializerDEFINEDUnitAnygroupUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothinggroupMasterCsnMasterChangeSeqNumgroupLocalCsnLocalChangeSeqNumgroupLastChangedByLastChangedBygroupLctReplicateLastModifiedReplicateEtaggroupNamegroupActivepersonGroupFlagnameEQCompanionTABLE_IDPERSONGROUP_FLAG_DEFAULTSuppressunusedPERSONGROUP_FLAG_PERSONGROUPPERSONGROUP_FLAG_PARENT_GROUPPERSONGROUP_FLAG_STUDENTGROUPPERSONGROUP_FLAG_TEACHERGROUPPERSONGROUP_FLAG_GUESTPERSONserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeIntElementdecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonGroupaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0          8       1 comustadmobilelibdbentitiesPersonGroupMemberandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringpersongroupmember_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnygroupMemberUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothinggroupMemberActivegroupMemberPersonUidColumnInfogroupMemberGroupUidgroupMemberMasterCsnMasterChangeSeqNumgroupMemberLocalCsnLocalChangeSeqNumgroupMemberLastChangedByLastChangedBygroupMemberLctReplicateLastModifiedReplicateEtagpersonUidgroupUidEQCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerBooleanSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeBooleanElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeBooleanElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonGroupMemberaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException        8        !    ! : comustadmobilelibdbentitiesPersonGroupWithMemberCountkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitPersonGroupmemberCountPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQgroupUidencodeLongElementgroupMasterCsngroupLocalCsngroupLastChangedByencodeIntElementgroupLctgroupNameencodeNullableSerializableElementgroupActiveencodeBooleanElementpersonGroupFlagtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonGroupWithMemberCountaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionv    "    8         0  comustadmobilelibdbentitiesPersonNameAndUidkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDpersonUidLongnameStringUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingtoStringGET_PROPERTYCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeStringElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeStringElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonNameAndUidaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copyhashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0    "       !'   8      !  !0   comustadmobilelibdbentitiesPersonParentJoinandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringpersonparentjoin_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDppjUidLongppjPcsnppjLcsnppjLcbppjLctppjParentPersonUidppjMinorPersonUidppjRelationshipppjEmailNothingppjPhoneppjInactiveBooleanppjStatusppjApprovalTiemstampppjApprovalIpAddrUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORMasterChangeSeqNumLocalChangeSeqNumLastChangedByReplicateLastModifiedReplicateEtagCompanionTABLE_IDSTATUS_UNSETSTATUS_APPROVEDSTATUS_REJECTEDRELATIONSHIP_MOTHERRELATIONSHIP_FATHERRELATIONSHIP_OTHER_LEGAL_GUARDIANRELATIONSHIP_OTHERserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonParentJoinaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11component12component13component14copytoStringPersonParentJoin(ppjUid=, ppjPcsn=ppjLcsn=ppjLcb=ppjLct=ppjParentPersonUid=ppjMinorPersonUid=ppjRelationship=ppjEmail=ppjPhone=ppjInactive=ppjStatus=ppjApprovalTiemstamp=ppjApprovalIpAddr=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException~    "   8       !  !>   comustadmobilelibdbentitiesPersonParentJoinAndMinorPersonkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDpersonParentJoinPersonParentJoinNothingminorPersonPersonUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonParentJoinAndMinorPersonaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringPersonParentJoinAndMinorPerson(personParentJoin=, minorPerson=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      0  "     8      !  !-   comustadmobilelibdbentitiesPersonPictureandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringpersonpicture_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDpersonPictureUidLongpersonPictureLctpersonPictureUriNothingpersonPictureThumbnailUrifileSizepersonPictureActiveBooleanUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonPictureaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringPersonPicture(personPictureUid=, personPictureLct=personPictureUri=personPictureThumbnailUri=fileSize=personPictureActive=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     comustadmobilelibdbentitiesPersonUidAndPasswordHashDEFINEDkotlinUnitAnypasswordHashPROPERTY_BACKING_FIELDStringNothingDEFAULT_PROPERTY_ACCESSORpersonUidLongfirstNameslastNameINSTANCE_RECEIVER         "   8      !  !9 comustadmobilelibdbentitiesPersonWithAttemptsSummarykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnypersonUidPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingfirstNamesStringlastNameattemptsIntstartDateendDateCompanionMAX_VALUEGET_PROPERTYdurationlatestPrivateCommentfileSubmissionStatusscoreProgressandroidxroomEmbeddedContentEntryStatementScoreProgressserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonWithAttemptsSummaryaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException            8     !  !9 comustadmobilelibdbentitiesPersonWithSessionsDisplaykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnystartDatePROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingcontextRegistrationStringdurationresultSuccessBytexapiStatementEntityCompanionRESULT_UNSETGET_PROPERTYresultCompleteBooleanresultScoreScaledFloatresultMaxIntresultScoreserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerByteSerializerBooleanSerializerFloatSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeByteElementdecodeBooleanElementdecodeFloatElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeByteElementencodeBooleanElementencodeFloatElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.PersonWithSessionsDisplayaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionp     0                         $*!'*0#)% "$#)#"(!     6 4 0 53*"4.8686$*<:<    8      !  !& comustadmobilelibdbentitiesReportandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringreport_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnyreportUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingreportOwnerUidxAxisCompanionDAYGET_PROPERTYreportDateRangeSelectionEVERYTHINGfromDatefromRelTofromRelOffSetfromRelUnittoDatetoRelTotoRelOffSettoRelUnitreportTitlereportDescriptionreportSeriesreportInactiveisTemplatepriorityreportTitleIdreportDescIdreportMasterChangeSeqNumMasterChangeSeqNumreportLocalChangeSeqNumLocalChangeSeqNumreportLastChangedByLastChangedByreportLctReplicateLastModifiedReplicateEtagTABLE_IDWEEKMONTHCONTENT_ENTRYGENDERCLASSENROLMENT_OUTCOMEENROLMENT_LEAVING_REASONLAST_WEEK_DATELAST_TWO_WEEKS_DATELAST_MONTH_DATELAST_THREE_MONTHS_DATENEW_CUSTOM_RANGE_DATECUSTOM_RANGETEMPLATE_BLANK_REPORT_UIDTEMPLATE_CONTENT_USAGE_OVER_TIME_UIDTEMPLATE_UNIQUE_CONTENT_USERS_UIDTEMPLATE_ATTENDANCE_OVER_TIME_BY_CLASS_UIDTEMPLATE_CONTENT_USAGE_BY_CLASS_UIDTEMPLATE_CONTENT_COMPLETION_UIDBLANK_REPORTBLANK_REPORT_DESCCONTENT_USAGE_OVER_TIMECONTENT_USAGE_OVER_TIME_DESCUNIQUE_CONTENT_USERS_OVER_TIMEUNIQUE_CONTENT_USERS_OVER_TIME_DESCATTENDANCE_OVER_TIME_BY_CLASSATTENDANCE_OVER_TIME_BY_CLASS_DESCCONTENT_USAGE_BY_CLASSCONTENT_USAGE_BY_CLASS_DESCCONTENT_COMPLETIONCONTENT_COMPLETION_DESCFIXED_TEMPLATEScollectionsListlistOfapplyExtensionFunctionTypeFunction1LOCAL_FUNCTION_FOR_LAMBDA$this$applyEQBlank reportStart texttrimIndent [{ "reportSeriesUid": 0, "reportSeriesName": "Series 1", "reportSeriesYAxis": ReportSeriesTOTAL_DURATION, "reportSeriesVisualType": BAR_CHART, "reportSeriesSubGroup": NONE }] LAMBDAContent usage over timeTotal content Unique content users over timeNumber of active users over time [{ "reportSeriesUid": 0, "reportSeriesName": "Series 1", "reportSeriesYAxis": NUMBER_ACTIVE_USERS, "reportSeriesVisualType": , "reportSeriesSubGroup": Attendance over time by classPercentage of students attending over timePERCENTAGE_STUDENTS_ATTENDED }] Content usage by classTotal content usage duration subgroup by class [{ "reportSeriesUid ": 0, "reportSeriesName ": " Series 1", "reportSeriesYAxis": , "reportSeriesVisualType": , "reportSeriesSubGroup": }] Content completionNumber of students who have completed selected content [{ "reportSeriesUid": 0, "reportSeriesName": "Series 1", "reportSeriesYAxis": NUMBER_OF_STUDENTS_COMPLETED_CONTENT, "reportSeriesVisualType": , "reportSeriesSubGroup": }] serializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERequalsotherIFinternalirEQEQEQOROREQEQnotEXCLEQhashCoderesultplusPLUStimesMULELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receivertmp3_elvis_lhstmp2_safe_receivertmp5_elvis_lhstmp4_safe_receiverDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_local21tmp26_local22tmp27_local23tmp28_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeIntElementdecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeIntElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ReportaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      !#$*     8      !  !, comustadmobilelibdbentitiesReportFilterkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnyreportFilterUidPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingreportFilterSeriesUidreportFilterFieldCompanionFIELD_PERSON_GENDERGET_PROPERTYreportFilterConditionreportFilterValueStringreportFilterDropDownValuereportFilterValueBetweenXreportFilterValueBetweenYFIELD_PERSON_AGEFIELD_CONTENT_COMPLETIONFIELD_CONTENT_ENTRYFIELD_CONTENT_PROGRESSFIELD_ATTENDANCE_PERCENTAGEFIELD_CLAZZ_ENROLMENT_OUTCOMEFIELD_CLAZZ_ENROLMENT_LEAVING_REASONCONDITION_ISCONDITION_IS_NOTCONDITION_GREATER_THANCONDITION_LESS_THANCONDITION_BETWEENCONDITION_IN_LISTCONDITION_NOT_IN_LISTserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERequalsBooleanotherIFinternalirEQEQEQOROREQEQnotEXCLEQhashCoderesultplusPLUStimesMULEQELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receivertmp3_elvis_lhstmp2_safe_receivertmp5_elvis_lhstmp4_safe_receiverDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfIntSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeIntElementordecodeNullableSerializableElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeIntElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ReportFilteraddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException            8        !  !> comustadmobilelibdbentitiesReportFilterWithDisplayDetailskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitReportFilterpersonandroidxroomEmbeddedPROPERTY_BACKING_FIELDPersonNothingDEFAULT_PROPERTY_ACCESSORverbxapiVerbEntityxlangMapDisplayStringcontentEntryContentEntryCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfIntSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeIntElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQreportFilterUidencodeIntElementreportFilterSeriesUidreportFilterFieldFIELD_PERSON_GENDERreportFilterConditionreportFilterValueencodeNullableSerializableElementreportFilterDropDownValuereportFilterValueBetweenXreportFilterValueBetweenYtmp0_serialDesccom.ustadmobile.lib.db.entities.ReportFilterWithDisplayDetailsaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException            !$*%+ "$*  &   8       !   !, comustadmobilelibdbentitiesReportSerieskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnyreportSeriesUidPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingreportSeriesNameStringreportSeriesYAxisCompanionTOTAL_DURATIONGET_PROPERTYreportSeriesVisualTypeBAR_CHARTreportSeriesSubGroupNONEreportSeriesFilterscollectionsListReportFilter$childSerializersKOTLINX_SERIALIZATIONjvmJvmFieldArrayKSerializerarrayOfinternalArrayListSerializerINSTANCE_RECEIVERLINE_GRAPHSTATEMENT_QUERYATTENDANCE_QUERYAVERAGE_DURATIONNUMBER_SESSIONSINTERACTIONS_RECORDEDNUMBER_ACTIVE_USERSAVERAGE_USAGE_TIME_PER_USERNUMBER_OF_STUDENTS_COMPLETED_CONTENTPERCENT_OF_STUDENTS_COMPLETED_CONTENTTOTAL_ATTENDANCETOTAL_ABSENCESTOTAL_LATESPERCENTAGE_STUDENTS_ATTENDEDPERCENTAGE_STUDENTS_ATTENDED_OR_LATETOTAL_CLASSESNUMBER_UNIQUE_STUDENTS_ATTENDINGserializerjsJsExportIgnoreequalsBooleanotherIFirEQEQEQOROREQEQnotEXCLEQhashCoderesultplusPLUStimesMULELVISIR_TEMPORARY_VARIABLEtmp1_elvis_lhsSAFE_CALLtmp0_safe_receiverEQtmp3_elvis_lhstmp2_safe_receiverDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializerstmp0_cachedIntSerializerbuiltinsnullableStringSerializergetdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuretmp11_cacheddecodeSequentiallydecodeIntElementordecodeNullableSerializableElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodertmp2_cachedshouldEncodeElementDefaultencodeIntElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ReportSeriesaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException          !!    8        !          !    ; comustadmobilelibdbentitiesReportWithSeriesWithFilterskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitReportreportreportSeriescollectionsListReportSerieslistOfreportUidEQLongGET_PROPERTYreportTitleStringreportOwnerUidreportInactiveBooleanfromDatetoDatexAxisIntreportSeriesWithFiltersListPROPERTY_BACKING_FIELDNothingDEFAULT_PROPERTY_ACCESSORequalsotherAnyIFinternalirEQEQEQOROREQEQnotEXCLEQEXCLhashCoderesultplusPLUStimesMULCompanion$childSerializersKOTLINX_SERIALIZATIONjvmJvmFieldArrayKSerializerarrayOfArrayListSerializerINSTANCE_RECEIVERserializerjsJsExportIgnoreDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersIR_TEMPORARY_VARIABLEtmp0_cachedLongSerializerIntSerializerbuiltinsnullableStringSerializerBooleanSerializergetdeserializedecoderencodingDecodertmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_local21tmp26_local22tmp27_local23tmp28_local24tmp29_inputCompositeDecoderbeginStructuretmp30_cacheddecodeSequentiallydecodeLongElementordecodeIntElementdecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodertmp2_cachedshouldEncodeElementDefaultencodeLongElementDAYencodeIntElementreportDateRangeSelectionEVERYTHINGfromRelTofromRelOffSetfromRelUnittoRelTotoRelOffSettoRelUnitencodeNullableSerializableElementreportDescriptionencodeBooleanElementisTemplatepriorityreportTitleIdreportDescIdreportMasterChangeSeqNumreportLocalChangeSeqNumreportLastChangedByreportLcttmp0_serialDesccom.ustadmobile.lib.db.entities.ReportWithSeriesWithFiltersaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0                             8        ( comustadmobilelibdbentitiesScheduleandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringschedule_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnyscheduleUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingsceduleStartTimescheduleEndTimescheduleDayCompanionDAY_MONDAYGET_PROPERTYscheduleMonthscheduleFrequencySCHEDULE_FREQUENCY_WEEKLYumCalendarUidscheduleClazzUidscheduleMasterChangeSeqNumMasterChangeSeqNumscheduleLocalChangeSeqNumLocalChangeSeqNumscheduleLastChangedByLastChangedByscheduleLastChangedTimeReplicateLastModifiedReplicateEtagscheduleActiveequalsotherIFinternalirEQEQEQOROREQEQnotEXCLEQhashCoderesultplusPLUStimesMULEQTABLE_IDSCHEDULE_FREQUENCY_DAILYSCHEDULE_FREQUENCY_ONCESCHEDULE_FREQUENCY_MONTHLYSCHEDULE_FREQUENCY_YEARLYDAY_TUESDAYDAY_WEDNESDAYDAY_THURSDAYDAY_FRIDAYDAY_SATURDAYDAY_SUNDAYMONTH_JANUARYMONTH_FEBUARYMONTH_MARCHMONTH_APRILMONTH_MAYMONTH_JUNEMONTH_JULYMONTH_AUGUSTMONTH_SEPTEMBERMONTH_OCTOBERMONTH_NOVEMBERMONTH_DECEMBERserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeIntElementdecodeBooleanElementdecodeElementIndexUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultencodeLongElementencodeIntElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ScheduleaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      %%$$       8        - comustadmobilelibdbentitiesSchoolPictureandroidxroomEntitykotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnyschoolPictureUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingschoolPictureSchoolUidschoolPictureMasterChangeSeqNumdoorannotationMasterChangeSeqNumschoolPictureLocalChangeSeqNumLocalChangeSeqNumschoolPictureLastChangedByLastChangedByIntschoolPictureLctReplicateLastModifiedReplicateEtagschoolPictureFileSizeschoolPictureTimestampschoolPictureMimeTypeStringCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeStringElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeStringElementtmp0_serialDesccom.ustadmobile.lib.db.entities.SchoolPictureaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      00                 8       + comustadmobilelibdbentitiesScopedGrantandroidxroomEntitykotlinArrayIndexStringsgGroupUidsgPermissionssgTableIdsgEntityUididx_group_to_entityidx_entity_to_groupdoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggersg_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEWUPDATE ScopedGrant SET sgLct = 0 WHERE sgUid = 0SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDUnitAnysgUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingsgPcsnMasterChangeSeqNumsgLcsnLocalChangeSeqNumsgLcbLastChangedBysgLctReplicateEtagReplicateLastModifiedsgIndexsgFlagsCompanionTABLE_IDALL_TABLESALL_ENTITIESserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ScopedGrantaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionk        8       !  !2 comustadmobilelibdbentitiesScopedGrantAndNamekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnyscopedGrantandroidxroomEmbeddedPROPERTY_BACKING_FIELDScopedGrantNothingDEFAULT_PROPERTY_ACCESSORnameStringCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ScopedGrantAndNameaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException          8         !            !3 comustadmobilelibdbentitiesScopedGrantWithNamekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitScopedGrantnamePROPERTY_BACKING_FIELDStringNothingDEFAULT_PROPERTY_ACCESSORCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQsgUidencodeLongElementsgPcsnsgLcsnsgLcbencodeIntElementsgLctsgTableIdsgEntityUidsgPermissionssgGroupUidsgIndexsgFlagsencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.ScopedGrantWithNameaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     I            8      !  !$ comustadmobilelibdbentitiesSiteandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringsite_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT% SELECT ((SELECT COUNT(*) FROM Site) = 0 OR NEW.authSalt = (SELECT Site.authSalt FROM Site LIMIT 1)) AND (SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%) SerializableWithreflectKClass$serializerDEFINEDUnitAnysiteUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingsitePcsnMasterChangeSeqNumsiteLcsnLocalChangeSeqNumsiteLcbLastChangedBysiteLctReplicateEtagReplicateLastModifiedsiteNameguestLoginregistrationAllowedauthSaltCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.SiteaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      0              8     !  !) comustadmobilelibdbentitiesSiteTermsandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringsiteterms_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnysTermsUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingtermsHtmlsTermsLangsTermsLangUidsTermsActivesTermsLastChangedByLastChangedBysTermsPrimaryCsnMasterChangeSeqNumsTermsLocalCsnLocalChangeSeqNumsTermsLctReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeBooleanElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.SiteTermsaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException        8        !    !    5 comustadmobilelibdbentitiesSiteTermsWithLanguagekotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitSiteTermsstLanguageandroidxroomEmbeddedPROPERTY_BACKING_FIELDLanguageNothingDEFAULT_PROPERTY_ACCESSORCompanionAnyserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0Longtmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQsTermsUidencodeLongElementtermsHtmlencodeNullableSerializableElementsTermsLangsTermsLangUidsTermsActiveencodeBooleanElementsTermsLastChangedByencodeIntElementsTermsPrimaryCsnsTermsLocalCsnsTermsLcttmp0_serialDesccom.ustadmobile.lib.db.entities.SiteTermsWithLanguageaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     "   8       !  !@  ! comustadmobilelibdbentitiesStatementEntityAndDisplayDetailskotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDstatementxapiStatementEntityNothingpersonPersonUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedStringThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeNullableSerializableElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.StatementEntityAndDisplayDetailsaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2copytoStringStatementEntityAndDisplayDetails(statement=, person=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException   "      8       !  !3   comustadmobilelibdbentitiesStatementReportDatakotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDyAxisFloatxAxisStringsubgroupUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfFloatSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeFloatElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeFloatElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.StatementReportDataaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringStatementReportData(yAxis=, xAxis=subgroup=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      0         "         8      !  !-        comustadmobilelibdbentitiesStudentResultkotlinxserializationSerializableandroidxroomEntitydoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringstudentresult_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDsrUidLongsrSourcedIdsrCourseBlockUidsrLineItemSourcedIdsrLineItemHrefsrClazzUidsrAssignmentUidsrStatussrMetaDataNothingsrStudentPersonUidsrStudentPersonSourcedIdsrStudentGroupIdsrMarkerPersonUidsrMarkerGroupIdsrScoreStatussrScoreFloattoFloatsrScoreDatesrLastModifiedsrCommentsrAppIdsrDeletedBooleanUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerFloatSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_local19tmp24_local20tmp25_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeFloatElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementencodeFloatElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.StudentResultaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11component12component13component14component15component16component17component18component19component20component21copytoStringStudentResult(srUid=, srSourcedId=srCourseBlockUid=srLineItemSourcedId=srLineItemHref=srClazzUid=srAssignmentUid=srStatus=srMetaData=srStudentPersonUid=srStudentPersonSourcedId=srStudentGroupId=srMarkerPersonUid=srMarkerGroupId=srScoreStatus=srScore=srScoreDate=srLastModified=srComment=srAppId=srDeleted=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0     "        8       0    comustadmobilelibdbentitiesSystemPermissionandroidxroomEntitykotlinArrayIndexStringspToPersonUididx_systempermission_personuiddoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggersystempermission_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDspUidLongspToGroupUidspPermissionsFlagspLastModifiedspIsDeletedBooleanUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingReplicateEtagReplicateLastModifiedCompanionPERSON_DEFAULT_PERMISSIONSTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.SystemPermissionaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringSystemPermission(spUid=, spToPersonUid=spToGroupUid=spPermissionsFlag=spLastModified=spIsDeleted=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException   #    "         8      !  !+     comustadmobilelibdbentitiesTransferJobandroidxroomEntitykotlinArrayIndexStringtjTableIdtjEntityUidTransferJob_idx_tjTableId_EntityUidkotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDtjUidInttjTypetjStatustjNameNothingtjUuidLongtjTimeCreatedtjCreationTypetjOiUidUnitAnyPrimaryKeyBooleanPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORColumnInfo0CompanionTABLE_IDTYPE_BLOB_UPLOADTYPE_DOWNLOADCREATION_TYPE_USERCREATION_TYPE_UPDATEserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfIntSerializerbuiltinsnullableStringSerializerLongSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeIntElementEQordecodeNullableSerializableElementdecodeLongElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeIntElementencodeNullableSerializableElementencodeLongElementtmp0_serialDesccom.ustadmobile.lib.db.entities.TransferJobaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10copytoStringTransferJob(tjUid=, tjType=tjStatus=tjName=tjUuid=tjTableId=tjEntityUid=tjTimeCreated=tjCreationType=tjOiUid=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      "      8      !  !0    comustadmobilelibdbentitiesTransferJobErrorandroidxroomEntitykotlinArrayIndexStringtjeTjUididx_transferjoberror_tjetjuidkotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDtjeIdInttjeTimeLongtjeErrorStrNothingtjeDismissedBooleanUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfIntSerializerLongSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeIntElementEQordecodeLongElementdecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeIntElementencodeLongElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.TransferJobErroraddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5copytoStringTransferJobError(tjeId=, tjeTjUid=tjeTime=tjeErrorStr=tjeDismissed=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException        "       8      !  !/    comustadmobilelibdbentitiesTransferJobItemandroidxroomEntitykotlinArrayIndexStringtjiTableIdtjiEntityUidtjiEntityEtagtji_table_entity_etagtjiTjUidtransferjob_tjuidkotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDtjiUidInttjTotalSizeLongtjTransferredtjAttemptCounttjiSrcNothingtjiDesttjiTypetjiStatustjiLockIdToReleasetjiPartialTmpFileUnitAnyPrimaryKeyBooleanPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORColumnInfo0CompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfIntSerializerLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeIntElementEQordecodeLongElementdecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeIntElementencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.TransferJobItemaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11component12component13component14copytoStringTransferJobItem(tjiUid=, tjiTjUid=tjTotalSize=tjTransferred=tjAttemptCount=tjiSrc=tjiDest=tjiType=tjiStatus=tjiTableId=tjiEntityUid=tjiEntityEtag=tjiLockIdToRelease=tjiPartialTmpFile=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionk          8       !  !+ comustadmobilelibdbentitiesUidAndLabelkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDUnitAnyuidPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothinglabelNameStringCompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.UidAndLabeladdElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      "        8      !  !)     comustadmobilelibdbentitiesUmAccountkotlinxserializationSerializableSerializableWithkotlinreflectKClass$serializerDEFINEDpersonUidLongusernameStringNothingauthendpointUrlfirstNamelastNameadminBooleanUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORtoPersonPersonaccountapplyExtensionFunctionTypeFunction1LOCAL_FUNCTION_FOR_LAMBDA$this$applyEQGET_PROPERTYfirstNamesLAMBDACompanionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithArrayDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indexInttmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementordecodeNullableSerializableElementdecodeStringElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncoderencodeLongElementshouldEncodeElementDefaultnotEXCLEQencodeNullableSerializableElementencodeStringElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.UmAccountaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7copytoStringUmAccount(personUid=, username=auth=endpointUrl=firstName=lastName=admin=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException       0                   8      !  !+ comustadmobilelibdbentitiesUserSessionandroidxroomEntitykotlinArrayIndexStringusPersonUidusStatususClientNodeIdperson_status_node_idxnode_status_person_idxkotlinxserializationSerializabledoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggerusersession_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDUnitAnyusUidPrimaryKeyBooleanPROPERTY_BACKING_FIELDLongDEFAULT_PROPERTY_ACCESSORNothingusPcsnMasterChangeSeqNumusLcsnLocalChangeSeqNumusLcbLastChangedByusLctReplicateEtagReplicateLastModifiedusStartTimeusEndTimeCompanionMAX_VALUEGET_PROPERTYusReasonusAuthusSessionTypeTYPE_STANDARDTABLE_IDTYPE_UPSTREAMSuppressunusedTYPE_GUESTTYPE_TEMP_LOCALSTATUS_ACTIVESTATUS_NEEDS_REAUTHSTATUS_LOGGED_OUTREASON_LOGGED_OUTREASON_CONSENT_REVOKEDREASON_PASSWORD_CHANGEDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.UserSessionaddElementseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException@  "     comustadmobilelibdbentitiesUserSessionAndPersonDEFINEDpersonPersonkotlinNothingpersonPicturePersonPictureuserSessionUserSessionUnitAnyandroidxroomEmbeddedPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringStringUserSessionAndPerson(person=, personPicture=userSession=)hashCodeIntresultBooleaninternalirEQEQplustimesEQequalsotherEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQINSTANCE_RECEIVER comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext comustadmobilelibdbentitiesext     0     "              8      !  !3    comustadmobilelibdbentitiesxapiActivityEntityandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringactivityentity_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDactUidLongactIdIriNothingactTypeactMoreInfoactInteractionTypeCompanionTYPE_UNSETGET_PROPERTYactCorrectResponsePatternsactLctUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagTYPE_TRUE_FALSETYPE_CHOICETYPE_FILL_INTYPE_LONG_FILL_INTYPE_MATCHINGTYPE_PERFORMANCETYPE_SEQUENCINGTYPE_LIKERTTYPE_NUMERICTYPE_OTHERTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.ActivityEntityaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7copytoStringActivityEntity(actUid=, actIdIri=actType=actMoreInfo=actInteractionType=actCorrectResponsePatterns=actLct=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptiond   %  0 "       comustadmobilelibdbentitiesxapiActivityExtensionEntityandroidxroomEntitykotlinArrayStringaeeActivityUidaeeKeyHashdoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggeractivityextensionentity_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%DEFINEDLongaeeKeyNothingaeeJsonaeeLastModaeeIsDeletedBooleanUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionTABLE_IDINSTANCE_RECEIVERcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringActivityExtensionEntity(aeeActivityUid=, aeeKeyHash=aeeKey=aeeJson=aeeLastMod=aeeIsDeleted=)hashCoderesultplustimesEQinternalirEQEQequalsotherEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQ   '  0  "          8      !  !>   comustadmobilelibdbentitiesxapiActivityInteractionEntityandroidxroomEntitykotlinArrayStringaieActivityUidaieHashkotlinxserializationSerializabledoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggeractivityinteractionentity_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDLongaiePropaieIdNothingaieLastModaieIsDeletedBooleanUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionPROP_CHOICESPROP_SCALEPROP_SOURCEPROP_TARGETPROP_STEPSTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.ActivityInteractionEntityaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6copytoStringActivityInteractionEntity(aieActivityUid=, aieHash=aieProp=aieId=aieLastMod=aieIsDeleted=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException   "  0   "       8      !  !9   comustadmobilelibdbentitiesxapiActivityLangMapEntrykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringactivitylangmapentry_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%androidxroomEntityalmeActivityUidalmeHashSerializableWithreflectKClass$serializerDEFINEDLongalmeLangCodeNothingalmePropNamealmeValuealmeAieHashalmeLastModUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionTABLE_IDPROPNAME_NAMEnamePROPNAME_DESCRIPTIONdescriptionserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.ActivityLangMapEntryaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7copytoStringActivityLangMapEntry(almeActivityUid=, almeHash=almeLangCode=almePropName=almeValue=almeAieHash=almeLastMod=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException     0        "     8     !  !0      comustadmobilelibdbentitiesxapiActorEntityandroidxroomEntitykotlinArrayIndexStringactorPersonUididx_actorentity_uid_personuidactorObjectTypeidx_actorentity_actorobjecttypedoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggeragententity_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDactorUidLongactorNameNothingactorMboxactorMbox_sha1sumactorOpenidactorAccountNameactorAccountHomePageactorEtagactorLctXapiEntityObjectTypeFlagsAGENTGET_PROPERTYUnitAnyPrimaryKeyBooleanPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateEtagReplicateLastModifiedCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerIntSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeIntElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeIntElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.ActorEntityaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11copytoStringActorEntity(actorUid=, actorPersonUid=actorName=actorMbox=actorMbox_sha1sum=actorOpenid=actorAccountName=actorAccountHomePage=actorEtag=actorLct=actorObjectType=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException *+ "  0   "     8       9   comustadmobilelibdbentitiesxapiGroupMemberActorJoinandroidxroomEntitykotlinArrayIndexStringgmajGroupActorUididx_groupmemberactorjoin_gmajgroupactoruidgmajMemberActorUididx_groupmemberactorjoin_gmajmemberactoruiddoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggergroupmemberactorjoin_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%kotlinxserializationSerializableSerializableWithreflectKClass$serializerDEFINEDLonggmajLastModUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORNothingReplicateLastModifiedBooleanReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.GroupMemberActorJoinaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3copytoStringGroupMemberActorJoin(gmajGroupActorUid=, gmajMemberActorUid=gmajLastMod=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException       0   "      8      !  !7    comustadmobilelibdbentitiesxapiStateDeleteCommandandroidxroomEntitykotlinArrayStringsdcActorUidsdcHashkotlinxserializationSerializabledoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggerstatedeletecommand_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDLongsdcActivityUidsdcStateIdNothingsdcLastModsdcRegistrationHisdcRegistrationLoUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateEtagReplicateLastModifiedCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.StateDeleteCommandaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7copytoStringStateDeleteCommand(sdcActorUid=, sdcHash=sdcActivityUid=sdcStateId=sdcLastMod=sdcRegistrationHi=sdcRegistrationLo=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException       0  "      8      !  !0     comustadmobilelibdbentitiesxapiStateEntityandroidxroomEntitykotlinArrayStringseActorUidseHashkotlinxserializationSerializabledoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggerstateentity_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDLongseActivityUidseStateIdseLastModseTimeStoredseContentTypeseCompressedseContentseDeletedBooleanseRegistrationHiNothingseRegistrationLoseH5PPreloadedseH5PSubContentIdUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateEtagReplicateLastModifiedCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerStringSerializerIntSerializerBooleanSerializerbuiltinsnullabledeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeStringElementdecodeIntElementdecodeBooleanElementdecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeStringElementencodeIntElementencodeBooleanElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.StateEntityaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11component12component13component14copytoStringStateEntity(seActorUid=, seHash=seActivityUid=seStateId=seLastMod=seTimeStored=seContentType=seCompressed=seContent=seDeleted=seRegistrationHi=seRegistrationLo=seH5PPreloaded=seH5PSubContentId=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldExceptionp  )  ' "         comustadmobilelibdbentitiesxapiStatementContextActivityJoindoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringstatementcontextactivityjoin_remoteinsertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_ETAG_NOT_EQUAL_TO_EXISTING%androidxroomEntityscajFromStatementIdHiscajFromStatementIdLoscajToHashDEFINEDLongscajContextTypescajToActivityUidscajToActivityIdNothingscajEtagUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateEtagCompanionTYPE_PARENTTYPE_GROUPINGTYPE_CATEGORYTYPE_OTHERTABLE_IDINSTANCE_RECEIVERcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7copytoStringStatementContextActivityJoin(scajFromStatementIdHi=, scajFromStatementIdLo=scajToHash=scajContextType=scajToActivityUid=scajToActivityId=scajEtag=)hashCoderesultplustimesEQBooleaninternalirEQEQequalsotherEQEQEQIR_TEMPORARY_VARIABLEtmp0_other_with_castnotEXCLEQ{      0    "        8      !  !4     comustadmobilelibdbentitiesxapiStatementEntityandroidxroomEntitykotlinArrayIndexStringstatementActorPersonUididx_stmt_actor_personstatementClazzUididx_statement_clazz_personstatementCbUidstatementActorUididx_statement_cbuid_actorstatementIdHistatementIdLokotlinxserializationSerializabledoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggerstatemententity_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDLongstatementVerbUidstatementObjectTypestatementObjectUid1statementObjectUid2authorityActorUidteamUidresultCompletionBooleanNothingresultSuccessresultScoreScaledFloatresultScoreRawresultScoreMinresultScoreMaxresultDurationresultResponsetimestampstoredcontextRegistrationHicontextRegistrationLocontextPlatformcontextStatementRefIdHicontextStatementRefIdLocontextInstructorActorUidstatementLctextensionProgresscompletionOrProgressstatementContentEntryUidstatementLearnerGroupUidstatementDoorNodeisSubStatementUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionTABLE_IDRESULT_UNSETByteRESULT_SUCCESSRESULT_FAILURECONTENT_COMPLETECONTENT_INCOMPLETECONTENT_PASSEDCONTENT_FAILEDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerIntSerializerbuiltinsnullableBooleanSerializerFloatSerializerStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_bitMask1tmp5_local0tmp6_local1tmp7_local2tmp8_local3tmp9_local4tmp10_local5tmp11_local6tmp12_local7tmp13_local8tmp14_local9tmp15_local10tmp16_local11tmp17_local12tmp18_local13tmp19_local14tmp20_local15tmp21_local16tmp22_local17tmp23_local18tmp24_local19tmp25_local20tmp26_local21tmp27_local22tmp28_local23tmp29_local24tmp30_local25tmp31_local26tmp32_local27tmp33_local28tmp34_local29tmp35_local30tmp36_local31tmp37_local32tmp38_local33tmp39_local34tmp40_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeIntElementdecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeIntElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.StatementEntityaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11component12component13component14component15component16component17component18component19component20component21component22component23component24component25component26component27component28component29component30component31component32component33component34component35copytoStringStatementEntity(statementIdHi=, statementIdLo=statementActorPersonUid=statementVerbUid=statementObjectType=statementObjectUid1=statementObjectUid2=statementActorUid=authorityActorUid=teamUid=resultCompletion=resultSuccess=resultScoreScaled=resultScoreRaw=resultScoreMin=resultScoreMax=resultDuration=resultResponse=timestamp=stored=contextRegistrationHi=contextRegistrationLo=contextPlatform=contextStatementRefIdHi=contextStatementRefIdLo=contextInstructorActorUid=statementLct=extensionProgress=completionOrProgress=statementContentEntryUid=statementLearnerGroupUid=statementClazzUid=statementCbUid=statementDoorNode=isSubStatement=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1seen2serializationConstructorMarkerSerializationConstructorMarkerandthrowArrayMissingFieldExceptionIntArrayintArrayOf    !  '  "     8      !  !8    comustadmobilelibdbentitiesxapiStatementEntityJsonandroidxroomEntitykotlinArrayStringstmtJsonIdHistmtJsonIdLokotlinxserializationSerializabledoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggerstatemententityjson_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_ETAG_NOT_EQUAL_TO_EXISTING%SerializableWithreflectKClass$serializerDEFINEDLongstmtEtagfullStatementNothingUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.StatementEntityJsonaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringStatementEntityJson(stmtJsonIdHi=, stmtJsonIdLo=stmtEtag=fullStatement=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      0    "   (%%*   8     !  !/    comustadmobilelibdbentitiesxapiVerbEntityandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringverbentity_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDverbUidLongverbUrlIdNothingverbDeletedBooleanverbLctUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionTABLE_IDVERB_COMPLETED_URLhttp://adlnet.gov/expapi/verbs/completedVERB_PASSED_URLhttp://adlnet.gov/expapi/verbs/passedVERB_FAILED_URLhttp://adlnet.gov/expapi/verbs/failedVERB_EXPERIENCED_URLhttp://adlnet.gov/expapi/verbs/experiencedserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.VerbEntityaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4copytoStringVerbEntity(verbUid=, verbUrlId=verbDeleted=verbLct=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      0  "     8      !  !5    comustadmobilelibdbentitiesxapiVerbLangMapEntryandroidxroomEntitykotlinArrayStringvlmeVerbUidvlmeLangHashkotlinxserializationSerializabledoorannotationReplicateEntityIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersTriggerverblangmapentry_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDLongvlmeLangCodeNothingvlmeEntryStringvlmeLastModifiedUnitAnyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateLastModifiedReplicateEtagCompanionTABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerbuiltinsnullableStringSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_descGET_PROPERTYtmp1_flagBooleantmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeNullableSerializableElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeNullableSerializableElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.VerbLangMapEntryaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5copytoStringVerbLangMapEntry(vlmeVerbUid=, vlmeLangHash=vlmeLangCode=vlmeEntryString=vlmeLastModified=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException#     comustadmobilelibdbentitiesxapiXapiEntityObjectTypeFlagskotlinSuppressArrayStringunusedDEFINEDUnitAnyAGENTPROPERTY_BACKING_FIELDIntDEFAULT_PROPERTY_ACCESSORNothingGROUPSTATEMENT_REFSUBSTATEMENTACTIVITYSTATEMENTINSTANCE_RECEIVER     0         "        8     !  !6        comustadmobilelibdbentitiesxapiXapiSessionEntityandroidxroomEntitykotlinxserializationSerializabledoorannotationReplicateEntitykotlinIntRemoteInsertStrategyINSERT_INTO_RECEIVE_VIEWTriggersArrayTriggerStringxapisessionentity_remote_insertOrderINSTEAD_OFEventINSERTOnRECEIVEVIEW%UPSERT%SELECT %NEW_LAST_MODIFIED_GREATER_THAN_EXISTING%SerializableWithreflectKClass$serializerDEFINEDxseUidLongxseLastModxseRegistrationHixseRegistrationLoxseUsUidxseAccountPersonUidxseActorUidxseAccountUsernamexseClazzUidxseCbUidxseContentEntryUidxseContentEntryVersionUidxseRootActivityIdxseRootActivityUidxseStartTimeutilsystemTimeInMillisxseExpireTimeCompanionMAX_VALUEGET_PROPERTYxseAuthNothingxseCompletedBooleanknownActorUidToPersonUidsUnitAnyPrimaryKeyPROPERTY_BACKING_FIELDINITIALIZE_PROPERTY_FROM_PARAMETERDEFAULT_PROPERTY_ACCESSORReplicateEtagReplicateLastModifiedColumnInfo0TABLE_IDserializerjsJsExportIgnoreKSerializerINSTANCE_RECEIVERDeprecatedThis synthesized declaration should not be used directlyReplaceWithDeprecationLevelHIDDENdescriptorKOTLINX_SERIALIZATIONinternalPluginGeneratedSerialDescriptordescriptorsSerialDescriptorGeneratedSerializerchildSerializersarrayOfLongSerializerStringSerializerbuiltinsnullableBooleanSerializerdeserializedecoderencodingDecoderIR_TEMPORARY_VARIABLEtmp0_desctmp1_flagtmp2_indextmp3_bitMask0tmp4_local0tmp5_local1tmp6_local2tmp7_local3tmp8_local4tmp9_local5tmp10_local6tmp11_local7tmp12_local8tmp13_local9tmp14_local10tmp15_local11tmp16_local12tmp17_local13tmp18_local14tmp19_local15tmp20_local16tmp21_local17tmp22_local18tmp23_inputCompositeDecoderbeginStructuredecodeSequentiallydecodeLongElementEQordecodeStringElementdecodeNullableSerializableElementdecodeBooleanElementdecodeElementIndexirEQEQUnknownFieldExceptionendStructureserializeencoderEncodervaluetmp1_outputCompositeEncodershouldEncodeElementDefaultnotEXCLEQencodeLongElementencodeStringElementencodeNullableSerializableElementencodeBooleanElementtmp0_serialDesccom.ustadmobile.lib.db.entities.xapi.XapiSessionEntityaddElementcomponent1GENERATED_DATA_CLASS_MEMBERcomponent2component3component4component5component6component7component8component9component10component11component12component13component14component15component16component17component18component19copytoStringXapiSessionEntity(xseUid=, xseLastMod=xseRegistrationHi=xseRegistrationLo=xseUsUid=xseAccountPersonUid=xseActorUid=xseAccountUsername=xseClazzUid=xseCbUid=xseContentEntryUid=xseContentEntryVersionUid=xseRootActivityId=xseRootActivityUid=xseStartTime=xseExpireTime=xseAuth=xseCompleted=knownActorUidToPersonUids=)hashCoderesultplustimesequalsotherEQEQEQtmp0_other_with_castseen1serializationConstructorMarkerSerializationConstructorMarkerandthrowMissingFieldException      comustadmobilecoredbextaddSyncCallbackDEFINEDdoorDatabaseBuilderUmAppDatabasenodeIdAndAuthentitiesNodeIdAndAuthkotlinUnitaddCallbackSyncNodeIdCallbackLongnodeIdGET_PROPERTYNothing