Fix cardinality violation error: subquery returns multiple results

Do not use scalary subquery, delete all selected jobs instead
This commit is contained in:
John Davis
2023-12-21 13:08:20 -05:00
parent 0887ec956e
commit c8012df503
+1 -2
View File
@@ -8293,9 +8293,8 @@ class WorkflowInvocation(Base, UsesCreateAndUpdateTime, Dictifiable, Serializabl
.filter(WorkflowInvocationStep.workflow_invocation_id == self.id)
.filter(~Job.state.in_(Job.finished_states))
.with_for_update()
.scalar_subquery()
)
sa_session.execute(update(Job.table).where(Job.id == job_subq).values({"state": Job.states.DELETING}))
sa_session.execute(update(Job.table).where(Job.id.in_(job_subq)).values({"state": Job.states.DELETING}))
job_collection_subq = (
select(Job.id)