0
AND CourseGroupMember.cgmSetUid =
(SELECT caGroupUid
FROM ClazzAssignment
WHERE caUid = ?)
AND CourseGroupMember.cgmPersonUid = ?
LIMIT 1), -1)
END
))
AND NOT CourseAssignmentSubmissionFile.casaDeleted
java.lang.IllegalStateException: com.ustadmobile.door.room.RoomDatabaseJdbcImplHelper@2f1eb767 is closed!
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.assertNotClosed(RoomDatabaseJdbcImplHelperCommon.kt:96)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:103)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:237)
at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:235)
at com.ustadmobile.door.ext.DoorDatabaseExtJvmJsKt.prepareAndUseStatementAsync(DoorDatabaseExtJvmJs.kt:24)
at com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$1.invokeSuspend(CourseAssignmentSubmissionFileDao_JdbcImpl.kt:219)
at com.ustadmobile.door.flow.DoorFlowKt$doorFlow$1$1.invokeSuspend(DoorFlow.kt:40)
Caused by: java.lang.IllegalStateException: com.ustadmobile.door.room.RoomDatabaseJdbcImplHelper@2f1eb767 is closed!
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.assertNotClosed(RoomDatabaseJdbcImplHelperCommon.kt:96)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:103)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:237)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
Aug 14, 2025 9:22:07 AM com.ustadmobile.core.util.NapierAntilogJvm performLog
SEVERE: SEVERE DoorLog - [prepareAndUseStatementAsync - jdbc:sqlite::memory:] - Exception running
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(
Aug 14, 2025 9:22:07 AM com.ustadmobile.core.util.NapierAntilogJvm performLog
(SELECT ClazzEnrolment.clazzEnrolmentPersonUid
FINE: FINER DoorLog - Closed HikariDataSource connection pool
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
java.lang.IllegalStateException: com.ustadmobile.door.room.RoomDatabaseJdbcImplHelper@2f1eb767 is closed!
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.assertNotClosed(RoomDatabaseJdbcImplHelperCommon.kt:96)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:103)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:237)
at _COROUTINE._BOUNDARY._(CoroutineDebugging.kt:42)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:235)
at com.ustadmobile.door.ext.DoorDatabaseExtJvmJsKt.prepareAndUseStatementAsync(DoorDatabaseExtJvmJs.kt:24)
at com.ustadmobile.core.db.dao.CourseAssignmentSubmissionFileDao_JdbcImpl$getByAssignmentUidAndPersonUid$1.invokeSuspend(CourseAssignmentSubmissionFileDao_JdbcImpl.kt:219)
at com.ustadmobile.door.flow.DoorFlowKt$doorFlow$1$1.invokeSuspend(DoorFlow.kt:40)
Caused by: java.lang.IllegalStateException: com.ustadmobile.door.room.RoomDatabaseJdbcImplHelper@2f1eb767 is closed!
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.assertNotClosed(RoomDatabaseJdbcImplHelperCommon.kt:96)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:103)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon.access$useNewConnectionAsyncInternal(RoomDatabaseJdbcImplHelperCommon.kt:21)
at com.ustadmobile.door.room.RoomDatabaseJdbcImplHelperCommon$useConnectionAsync$2$2.invokeSuspend(RoomDatabaseJdbcImplHelperCommon.kt:237)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:585)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:802)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:706)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:693)
Aug 14, 2025 9:22:07 AM com.ustadmobile.core.util.NapierAntilogJvm performLog
FINE: FINER DoorLog - Closed HikariDataSource connection pool
]]>