From d837d69153943a62a71f52d9798d4951d44b42b8 Mon Sep 17 00:00:00 2001 From: aoezyetimoglu Date: Thu, 21 Apr 2022 13:58:15 +0200 Subject: [PATCH] RED-3716: On adding entries to a dictionary do not read the whole dictionary from persistence --- .../resources/db/changelog/db.changelog-master.yaml | 2 ++ .../24.0-clean-up-duplicate-dictionary-entries.sql | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/sql/24.0-clean-up-duplicate-dictionary-entries.sql diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml index 425c6b55e..de516140b 100644 --- a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/db.changelog-master.yaml @@ -55,5 +55,7 @@ databaseChangeLog: file: db/changelog/22-add-soft-delete-time-to-entity.changelog.yaml - include: file: db/changelog/23-quartz.changelog.yaml + - include: + file: db/changelog/sql/24.0-clean-up-duplicate-dictionary-entries.sql - include: file: db/changelog/24-add-unique-constraint-for-dictionary.yaml \ No newline at end of file diff --git a/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/sql/24.0-clean-up-duplicate-dictionary-entries.sql b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/sql/24.0-clean-up-duplicate-dictionary-entries.sql new file mode 100644 index 000000000..f4a2e2db3 --- /dev/null +++ b/persistence-service-v1/persistence-service-server-v1/src/main/resources/db/changelog/sql/24.0-clean-up-duplicate-dictionary-entries.sql @@ -0,0 +1,11 @@ +delete from dictionary_entry de1 where exists ( + select type_id, value from dictionary_entry de2 where de2.type_id = de1.type_id + and de2.value = de1.value and de1.version < de2.version ); + +delete from dictionary_false_recommendation_entry dfre1 where exists ( + select type_id, value from dictionary_false_recommendation_entry dfre2 where dfre2.type_id = dfre1.type_id + and dfre2.value = dfre1.value and dfre1.version < dfre2.version ); + +delete from dictionary_false_positive_entry dfpe1 where exists ( + select type_id, value from dictionary_false_positive_entry dfpe2 where dfpe2.type_id = dfpe1.type_id + and dfpe2.value = dfpe1.value and dfpe1.version < dfpe2.version ); \ No newline at end of file