From b9d53ed7327703c608cfba1094642047b225b9dd Mon Sep 17 00:00:00 2001 From: Bogdan Date: Thu, 12 Oct 2023 02:20:07 +0300 Subject: [PATCH] Add PostgreSQL specific query for cleaning multiple monitored editions Fixes #2995 --- .../FixMultipleMonitoredEditions.cs | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/FixMultipleMonitoredEditions.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/FixMultipleMonitoredEditions.cs index c613b5dd7..56cccdafe 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/FixMultipleMonitoredEditions.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/FixMultipleMonitoredEditions.cs @@ -16,15 +16,30 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers { using var mapper = _database.OpenConnection(); - mapper.Execute(@"UPDATE ""Editions"" - SET ""Monitored"" = 0 - WHERE ""Id"" IN ( - SELECT MIN(""Id"") - FROM ""Editions"" - WHERE ""Monitored"" = 1 - GROUP BY ""BookId"" - HAVING COUNT(""BookId"") > 1 - )"); + if (_database.DatabaseType == DatabaseType.PostgreSQL) + { + mapper.Execute(@"UPDATE ""Editions"" + SET ""Monitored"" = true + WHERE ""Id"" IN ( + SELECT MIN(""Id"") + FROM ""Editions"" + WHERE ""Monitored"" = true + GROUP BY ""BookId"" + HAVING COUNT(""BookId"") > 1 + )"); + } + else + { + mapper.Execute(@"UPDATE ""Editions"" + SET ""Monitored"" = 0 + WHERE ""Id"" IN ( + SELECT MIN(""Id"") + FROM ""Editions"" + WHERE ""Monitored"" = 1 + GROUP BY ""BookId"" + HAVING COUNT(""BookId"") > 1 + )"); + } } } }