From 128df088125eca2601432198e54df597a03558e9 Mon Sep 17 00:00:00 2001 From: Erwan Rouchet <rouchet@teklia.com> Date: Wed, 4 Aug 2021 17:37:40 +0200 Subject: [PATCH] Destroy WorkerActivity in DestroyWorkerResults --- arkindex/documents/tasks.py | 3 +++ .../worker_results_delete_in_corpus.sql | 11 ++++++++++- .../worker_results_delete_under_parent.sql | 12 ++++++++++++ .../worker_results_delete_under_parent_included.sql | 12 ++++++++++++ 4 files changed, 37 insertions(+), 1 deletion(-) diff --git a/arkindex/documents/tasks.py b/arkindex/documents/tasks.py index c73f7db481..7d7e7a4ccb 100644 --- a/arkindex/documents/tasks.py +++ b/arkindex/documents/tasks.py @@ -103,6 +103,7 @@ def worker_results_delete(corpus_id: str, version_id: str, parent_id: str) -> No ) ) metadata = MetaData.objects.filter(worker_version_id=version_id, element__corpus_id=corpus_id) + worker_activities = WorkerActivity.objects.filter(worker_version_id=version_id, element__corpus_id=corpus_id) if parent_id: elements = elements.filter(Q(id=parent_id) | Q(paths__path__overlap=[parent_id])) @@ -112,6 +113,7 @@ def worker_results_delete(corpus_id: str, version_id: str, parent_id: str) -> No transcription_entities = transcription_entities.filter(transcription_entities_filter) worker_transcription_entities = worker_transcription_entities.filter(transcription_entities_filter) metadata = metadata.filter(Q(element_id=parent_id) | Q(element__paths__path__overlap=[parent_id])) + worker_activities = worker_activities.filter(Q(element_id=parent_id) | Q(element__paths__path__overlap=[parent_id])) elements.trash() classifications.delete() @@ -119,6 +121,7 @@ def worker_results_delete(corpus_id: str, version_id: str, parent_id: str) -> No worker_transcription_entities.delete() transcriptions._raw_delete(using='default') metadata.delete() + worker_activities.delete() @job('high', timeout=settings.RQ_TIMEOUTS['move_element']) diff --git a/arkindex/sql_validation/worker_results_delete_in_corpus.sql b/arkindex/sql_validation/worker_results_delete_in_corpus.sql index 99a3e2a40f..9824e0642d 100644 --- a/arkindex/sql_validation/worker_results_delete_in_corpus.sql +++ b/arkindex/sql_validation/worker_results_delete_in_corpus.sql @@ -266,4 +266,13 @@ WHERE "documents_metadata"."id" IN FROM "documents_metadata" U0 INNER JOIN "documents_element" U1 ON (U0."element_id" = U1."id") WHERE (U1."corpus_id" = '{corpus_id}'::uuid - AND U0."worker_version_id" = '{version_id}'::uuid)) + AND U0."worker_version_id" = '{version_id}'::uuid)); + +DELETE +FROM "dataimport_workeractivity" +WHERE "dataimport_workeractivity"."id" IN + (SELECT U0."id" + FROM "dataimport_workeractivity" U0 + INNER JOIN "documents_element" U1 ON (U0."element_id" = U1."id") + WHERE (U1."corpus_id" = '{corpus_id}'::uuid + AND U0."worker_version_id" = '{version_id}'::uuid)) diff --git a/arkindex/sql_validation/worker_results_delete_under_parent.sql b/arkindex/sql_validation/worker_results_delete_under_parent.sql index 948a2e7f63..0edaccee15 100644 --- a/arkindex/sql_validation/worker_results_delete_under_parent.sql +++ b/arkindex/sql_validation/worker_results_delete_under_parent.sql @@ -186,6 +186,18 @@ WHERE "documents_metadata"."id" IN FROM "documents_metadata" U0 INNER JOIN "documents_element" U1 ON (U0."element_id" = U1."id") LEFT OUTER JOIN "documents_elementpath" U4 ON (U1."id" = U4."element_id") + WHERE (U1."corpus_id" = '{corpus_id}'::uuid + AND U0."worker_version_id" = '{version_id}'::uuid + AND (U0."element_id" = '{parent_id}'::uuid + OR U4."path" && ARRAY['{parent_id}'::uuid]::uuid[]))); + +DELETE +FROM "dataimport_workeractivity" +WHERE "dataimport_workeractivity"."id" IN + (SELECT U0."id" + FROM "dataimport_workeractivity" U0 + INNER JOIN "documents_element" U1 ON (U0."element_id" = U1."id") + LEFT OUTER JOIN "documents_elementpath" U4 ON (U1."id" = U4."element_id") WHERE (U1."corpus_id" = '{corpus_id}'::uuid AND U0."worker_version_id" = '{version_id}'::uuid AND (U0."element_id" = '{parent_id}'::uuid diff --git a/arkindex/sql_validation/worker_results_delete_under_parent_included.sql b/arkindex/sql_validation/worker_results_delete_under_parent_included.sql index 4796cae3db..2fd8bed67a 100644 --- a/arkindex/sql_validation/worker_results_delete_under_parent_included.sql +++ b/arkindex/sql_validation/worker_results_delete_under_parent_included.sql @@ -341,6 +341,18 @@ WHERE "documents_metadata"."id" IN FROM "documents_metadata" U0 INNER JOIN "documents_element" U1 ON (U0."element_id" = U1."id") LEFT OUTER JOIN "documents_elementpath" U4 ON (U1."id" = U4."element_id") + WHERE (U1."corpus_id" = '{corpus_id}'::uuid + AND U0."worker_version_id" = '{version_id}'::uuid + AND (U0."element_id" = '{parent_id}'::uuid + OR U4."path" && ARRAY['{parent_id}'::uuid]::uuid[]))); + +DELETE +FROM "dataimport_workeractivity" +WHERE "dataimport_workeractivity"."id" IN + (SELECT U0."id" + FROM "dataimport_workeractivity" U0 + INNER JOIN "documents_element" U1 ON (U0."element_id" = U1."id") + LEFT OUTER JOIN "documents_elementpath" U4 ON (U1."id" = U4."element_id") WHERE (U1."corpus_id" = '{corpus_id}'::uuid AND U0."worker_version_id" = '{version_id}'::uuid AND (U0."element_id" = '{parent_id}'::uuid -- GitLab