diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAbsolutePathMetadataFiles.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAbsolutePathMetadataFiles.cs index 8d50f05de..a69a13831 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAbsolutePathMetadataFiles.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAbsolutePathMetadataFiles.cs @@ -14,34 +14,32 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) + using var mapper = _database.OpenConnection(); + if (_database.DatabaseType == DatabaseType.PostgreSQL) { - if (_database.DatabaseType == DatabaseType.PostgreSQL) - { - mapper.Execute(@"DELETE FROM ""MetadataFiles"" - WHERE ""Id"" = ANY ( - SELECT ""Id"" FROM ""MetadataFiles"" - WHERE ""RelativePath"" - LIKE '_:\\%' - OR ""RelativePath"" - LIKE '\\%' - OR ""RelativePath"" - LIKE '/%' - )"); - } - else - { - mapper.Execute(@"DELETE FROM ""MetadataFiles"" - WHERE ""Id"" IN ( - SELECT ""Id"" FROM ""MetadataFiles"" - WHERE ""RelativePath"" - LIKE '_:\%' - OR ""RelativePath"" - LIKE '\%' - OR ""RelativePath"" - LIKE '/%' - )"); - } + mapper.Execute(@"DELETE FROM ""MetadataFiles"" + WHERE ""Id"" = ANY ( + SELECT ""Id"" FROM ""MetadataFiles"" + WHERE ""RelativePath"" + LIKE '_:\\%' + OR ""RelativePath"" + LIKE '\\%' + OR ""RelativePath"" + LIKE '/%' + )"); + } + else + { + mapper.Execute(@"DELETE FROM ""MetadataFiles"" + WHERE ""Id"" IN ( + SELECT ""Id"" FROM ""MetadataFiles"" + WHERE ""RelativePath"" + LIKE '_:\%' + OR ""RelativePath"" + LIKE '\%' + OR ""RelativePath"" + LIKE '/%' + )"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalNamingSpecs.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalNamingSpecs.cs index 33184f1fb..206e7a95e 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalNamingSpecs.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalNamingSpecs.cs @@ -14,13 +14,11 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""NamingConfig"" - WHERE ""Id"" NOT IN ( - SELECT ""Id"" FROM ""NamingConfig"" - LIMIT 1)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""NamingConfig"" + WHERE ""Id"" NOT IN ( + SELECT ""Id"" FROM ""NamingConfig"" + LIMIT 1)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalUsers.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalUsers.cs index 3845110f4..d13adbca9 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalUsers.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupAdditionalUsers.cs @@ -14,13 +14,11 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""Users"" - WHERE ""Id"" NOT IN ( - SELECT ""Id"" FROM ""Users"" - LIMIT 1)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""Users"" + WHERE ""Id"" NOT IN ( + SELECT ""Id"" FROM ""Users"" + LIMIT 1)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupDuplicateMetadataFiles.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupDuplicateMetadataFiles.cs index b46310850..ed09d8e9e 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupDuplicateMetadataFiles.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupDuplicateMetadataFiles.cs @@ -22,58 +22,50 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers private void DeleteDuplicateArtistMetadata() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""MetadataFiles"" - WHERE ""Id"" IN ( - SELECT MIN(""Id"") FROM ""MetadataFiles"" - WHERE ""Type"" = 1 - GROUP BY ""ArtistId"", ""Consumer"" - HAVING COUNT(""ArtistId"") > 1 - )"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""MetadataFiles"" + WHERE ""Id"" IN ( + SELECT MIN(""Id"") FROM ""MetadataFiles"" + WHERE ""Type"" = 1 + GROUP BY ""ArtistId"", ""Consumer"" + HAVING COUNT(""ArtistId"") > 1 + )"); } private void DeleteDuplicateAlbumMetadata() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""MetadataFiles"" - WHERE ""Id"" IN ( - SELECT MIN(""Id"") FROM ""MetadataFiles"" - WHERE ""Type"" = 6 - GROUP BY ""AlbumId"", ""Consumer"" - HAVING COUNT(""AlbumId"") > 1 - )"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""MetadataFiles"" + WHERE ""Id"" IN ( + SELECT MIN(""Id"") FROM ""MetadataFiles"" + WHERE ""Type"" = 6 + GROUP BY ""AlbumId"", ""Consumer"" + HAVING COUNT(""AlbumId"") > 1 + )"); } private void DeleteDuplicateTrackMetadata() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""MetadataFiles"" - WHERE ""Id"" IN ( - SELECT MIN(""Id"") FROM ""MetadataFiles"" - WHERE ""Type"" = 2 - GROUP BY ""TrackFileId"", ""Consumer"" - HAVING COUNT(""TrackFileId"") > 1 - )"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""MetadataFiles"" + WHERE ""Id"" IN ( + SELECT MIN(""Id"") FROM ""MetadataFiles"" + WHERE ""Type"" = 2 + GROUP BY ""TrackFileId"", ""Consumer"" + HAVING COUNT(""TrackFileId"") > 1 + )"); } private void DeleteDuplicateTrackImages() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""MetadataFiles"" - WHERE ""Id"" IN ( - SELECT MIN(""Id"") FROM ""MetadataFiles"" - WHERE ""Type"" = 5 - GROUP BY ""TrackFileId"", ""Consumer"" - HAVING COUNT(""TrackFileId"") > 1 - )"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""MetadataFiles"" + WHERE ""Id"" IN ( + SELECT MIN(""Id"") FROM ""MetadataFiles"" + WHERE ""Type"" = 5 + GROUP BY ""TrackFileId"", ""Consumer"" + HAVING COUNT(""TrackFileId"") > 1 + )"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedAlbums.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedAlbums.cs index ab921af81..75a67a51b 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedAlbums.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedAlbums.cs @@ -14,15 +14,13 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""Albums"" - WHERE ""Id"" IN ( - SELECT ""Albums"".""Id"" FROM ""Albums"" - LEFT OUTER JOIN ""Artists"" - ON ""Albums"".""ArtistMetadataId"" = ""Artists"".""ArtistMetadataId"" - WHERE ""Artists"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""Albums"" + WHERE ""Id"" IN ( + SELECT ""Albums"".""Id"" FROM ""Albums"" + LEFT OUTER JOIN ""Artists"" + ON ""Albums"".""ArtistMetadataId"" = ""Artists"".""ArtistMetadataId"" + WHERE ""Artists"".""Id"" IS NULL)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedArtistMetadata.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedArtistMetadata.cs index 500d85df8..7930b143a 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedArtistMetadata.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedArtistMetadata.cs @@ -14,16 +14,14 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""ArtistMetadata"" - WHERE ""Id"" IN ( - SELECT ""ArtistMetadata"".""Id"" FROM ""ArtistMetadata"" - LEFT OUTER JOIN ""Albums"" ON ""Albums"".""ArtistMetadataId"" = ""ArtistMetadata"".""Id"" - LEFT OUTER JOIN ""Tracks"" ON ""Tracks"".""ArtistMetadataId"" = ""ArtistMetadata"".""Id"" - LEFT OUTER JOIN ""Artists"" ON ""Artists"".""ArtistMetadataId"" = ""ArtistMetadata"".""Id"" - WHERE ""Albums"".""Id"" IS NULL AND ""Tracks"".""Id"" IS NULL AND ""Artists"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""ArtistMetadata"" + WHERE ""Id"" IN ( + SELECT ""ArtistMetadata"".""Id"" FROM ""ArtistMetadata"" + LEFT OUTER JOIN ""Albums"" ON ""Albums"".""ArtistMetadataId"" = ""ArtistMetadata"".""Id"" + LEFT OUTER JOIN ""Tracks"" ON ""Tracks"".""ArtistMetadataId"" = ""ArtistMetadata"".""Id"" + LEFT OUTER JOIN ""Artists"" ON ""Artists"".""ArtistMetadataId"" = ""ArtistMetadata"".""Id"" + WHERE ""Albums"".""Id"" IS NULL AND ""Tracks"".""Id"" IS NULL AND ""Artists"".""Id"" IS NULL)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedBlacklist.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedBlacklist.cs index 7beeddd13..1d8d215f8 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedBlacklist.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedBlacklist.cs @@ -14,15 +14,13 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""Blocklist"" - WHERE ""Id"" IN ( - SELECT ""Blocklist"".""Id"" FROM ""Blocklist"" - LEFT OUTER JOIN ""Artists"" - ON ""Blocklist"".""ArtistId"" = ""Artists"".""Id"" - WHERE ""Artists"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""Blocklist"" + WHERE ""Id"" IN ( + SELECT ""Blocklist"".""Id"" FROM ""Blocklist"" + LEFT OUTER JOIN ""Artists"" + ON ""Blocklist"".""ArtistId"" = ""Artists"".""Id"" + WHERE ""Artists"".""Id"" IS NULL)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedDownloadClientStatus.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedDownloadClientStatus.cs index 124f4476d..0856907b9 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedDownloadClientStatus.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedDownloadClientStatus.cs @@ -14,15 +14,13 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""DownloadClientStatus"" - WHERE ""Id"" IN ( - SELECT ""DownloadClientStatus"".""Id"" FROM ""DownloadClientStatus"" - LEFT OUTER JOIN ""DownloadClients"" - ON ""DownloadClientStatus"".""ProviderId"" = ""DownloadClients"".""Id"" - WHERE ""DownloadClients"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""DownloadClientStatus"" + WHERE ""Id"" IN ( + SELECT ""DownloadClientStatus"".""Id"" FROM ""DownloadClientStatus"" + LEFT OUTER JOIN ""DownloadClients"" + ON ""DownloadClientStatus"".""ProviderId"" = ""DownloadClients"".""Id"" + WHERE ""DownloadClients"".""Id"" IS NULL)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedHistoryItems.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedHistoryItems.cs index 8fedcd873..eee405331 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedHistoryItems.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedHistoryItems.cs @@ -20,28 +20,24 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers private void CleanupOrphanedByArtist() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""History"" - WHERE ""Id"" IN ( - SELECT ""History"".""Id"" FROM ""History"" - LEFT OUTER JOIN ""Artists"" - ON ""History"".""ArtistId"" = ""Artists"".""Id"" - WHERE ""Artists"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""History"" + WHERE ""Id"" IN ( + SELECT ""History"".""Id"" FROM ""History"" + LEFT OUTER JOIN ""Artists"" + ON ""History"".""ArtistId"" = ""Artists"".""Id"" + WHERE ""Artists"".""Id"" IS NULL)"); } private void CleanupOrphanedByAlbum() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""History"" - WHERE ""Id"" IN ( - SELECT ""History"".""Id"" FROM ""History"" - LEFT OUTER JOIN ""Albums"" - ON ""History"".""AlbumId"" = ""Albums"".""Id"" - WHERE ""Albums"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""History"" + WHERE ""Id"" IN ( + SELECT ""History"".""Id"" FROM ""History"" + LEFT OUTER JOIN ""Albums"" + ON ""History"".""AlbumId"" = ""Albums"".""Id"" + WHERE ""Albums"".""Id"" IS NULL)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedImportListStatus.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedImportListStatus.cs index 1ceb0f396..8b624ff52 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedImportListStatus.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedImportListStatus.cs @@ -14,15 +14,13 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""ImportListStatus"" - WHERE ""Id"" IN ( - SELECT ""ImportListStatus"".""Id"" FROM ""ImportListStatus"" - LEFT OUTER JOIN ""ImportLists"" - ON ""ImportListStatus"".""ProviderId"" = ""ImportLists"".""Id"" - WHERE ""ImportLists"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""ImportListStatus"" + WHERE ""Id"" IN ( + SELECT ""ImportListStatus"".""Id"" FROM ""ImportListStatus"" + LEFT OUTER JOIN ""ImportLists"" + ON ""ImportListStatus"".""ProviderId"" = ""ImportLists"".""Id"" + WHERE ""ImportLists"".""Id"" IS NULL)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedIndexerStatus.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedIndexerStatus.cs index 059f059e4..9486641b5 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedIndexerStatus.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedIndexerStatus.cs @@ -14,15 +14,13 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""IndexerStatus"" - WHERE ""Id"" IN ( - SELECT ""IndexerStatus"".""Id"" FROM ""IndexerStatus"" - LEFT OUTER JOIN ""Indexers"" - ON ""IndexerStatus"".""ProviderId"" = ""Indexers"".""Id"" - WHERE ""Indexers"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""IndexerStatus"" + WHERE ""Id"" IN ( + SELECT ""IndexerStatus"".""Id"" FROM ""IndexerStatus"" + LEFT OUTER JOIN ""Indexers"" + ON ""IndexerStatus"".""ProviderId"" = ""Indexers"".""Id"" + WHERE ""Indexers"".""Id"" IS NULL)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedMetadataFiles.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedMetadataFiles.cs index 989cf9de4..97f6f4da3 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedMetadataFiles.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedMetadataFiles.cs @@ -23,67 +23,57 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers private void DeleteOrphanedByArtist() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""MetadataFiles"" - WHERE ""Id"" IN ( - SELECT ""MetadataFiles"".""Id"" FROM ""MetadataFiles"" - LEFT OUTER JOIN ""Artists"" - ON ""MetadataFiles"".""ArtistId"" = ""Artists"".""Id"" - WHERE ""Artists"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""MetadataFiles"" + WHERE ""Id"" IN ( + SELECT ""MetadataFiles"".""Id"" FROM ""MetadataFiles"" + LEFT OUTER JOIN ""Artists"" + ON ""MetadataFiles"".""ArtistId"" = ""Artists"".""Id"" + WHERE ""Artists"".""Id"" IS NULL)"); } private void DeleteOrphanedByAlbum() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""MetadataFiles"" - WHERE ""Id"" IN ( - SELECT ""MetadataFiles"".""Id"" FROM ""MetadataFiles"" - LEFT OUTER JOIN ""Albums"" - ON ""MetadataFiles"".""AlbumId"" = ""Albums"".""Id"" - WHERE ""MetadataFiles"".""AlbumId"" > 0 - AND ""Albums"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""MetadataFiles"" + WHERE ""Id"" IN ( + SELECT ""MetadataFiles"".""Id"" FROM ""MetadataFiles"" + LEFT OUTER JOIN ""Albums"" + ON ""MetadataFiles"".""AlbumId"" = ""Albums"".""Id"" + WHERE ""MetadataFiles"".""AlbumId"" > 0 + AND ""Albums"".""Id"" IS NULL)"); } private void DeleteOrphanedByTrackFile() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""MetadataFiles"" - WHERE ""Id"" IN ( - SELECT ""MetadataFiles"".""Id"" FROM ""MetadataFiles"" - LEFT OUTER JOIN ""TrackFiles"" - ON ""MetadataFiles"".""TrackFileId"" = ""TrackFiles"".""Id"" - WHERE ""MetadataFiles"".""TrackFileId"" > 0 - AND ""TrackFiles"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""MetadataFiles"" + WHERE ""Id"" IN ( + SELECT ""MetadataFiles"".""Id"" FROM ""MetadataFiles"" + LEFT OUTER JOIN ""TrackFiles"" + ON ""MetadataFiles"".""TrackFileId"" = ""TrackFiles"".""Id"" + WHERE ""MetadataFiles"".""TrackFileId"" > 0 + AND ""TrackFiles"".""Id"" IS NULL)"); } private void DeleteWhereAlbumIdIsZero() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""MetadataFiles"" - WHERE ""Id"" IN ( - SELECT ""Id"" FROM ""MetadataFiles"" - WHERE ""Type"" IN (4, 6) - AND ""AlbumId"" = 0)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""MetadataFiles"" + WHERE ""Id"" IN ( + SELECT ""Id"" FROM ""MetadataFiles"" + WHERE ""Type"" IN (4, 6) + AND ""AlbumId"" = 0)"); } private void DeleteWhereTrackFileIsZero() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""MetadataFiles"" - WHERE ""Id"" IN ( - SELECT ""Id"" FROM ""MetadataFiles"" - WHERE ""Type"" IN (2, 5) - AND ""TrackFileId"" = 0)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""MetadataFiles"" + WHERE ""Id"" IN ( + SELECT ""Id"" FROM ""MetadataFiles"" + WHERE ""Type"" IN (2, 5) + AND ""TrackFileId"" = 0)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedPendingReleases.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedPendingReleases.cs index 1dccc8f2a..f8b474744 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedPendingReleases.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedPendingReleases.cs @@ -14,15 +14,13 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""PendingReleases"" - WHERE ""Id"" IN ( - SELECT ""PendingReleases"".""Id"" FROM ""PendingReleases"" - LEFT OUTER JOIN ""Artists"" - ON ""PendingReleases"".""ArtistId"" = ""Artists"".""Id"" - WHERE ""Artists"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""PendingReleases"" + WHERE ""Id"" IN ( + SELECT ""PendingReleases"".""Id"" FROM ""PendingReleases"" + LEFT OUTER JOIN ""Artists"" + ON ""PendingReleases"".""ArtistId"" = ""Artists"".""Id"" + WHERE ""Artists"".""Id"" IS NULL)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedReleases.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedReleases.cs index d401794c1..09d807650 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedReleases.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedReleases.cs @@ -14,15 +14,13 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""AlbumReleases"" - WHERE ""Id"" IN ( - SELECT ""AlbumReleases"".""Id"" FROM ""AlbumReleases"" - LEFT OUTER JOIN ""Albums"" - ON ""AlbumReleases"".""AlbumId"" = ""Albums"".""Id"" - WHERE ""Albums"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""AlbumReleases"" + WHERE ""Id"" IN ( + SELECT ""AlbumReleases"".""Id"" FROM ""AlbumReleases"" + LEFT OUTER JOIN ""Albums"" + ON ""AlbumReleases"".""AlbumId"" = ""Albums"".""Id"" + WHERE ""Albums"".""Id"" IS NULL)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedTrackFiles.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedTrackFiles.cs index f540384e4..c8e00f003 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedTrackFiles.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedTrackFiles.cs @@ -20,32 +20,30 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers private void CleanupOrphanedByAlbum() { - using (var mapper = _database.OpenConnection()) - { - // Unlink where track no longer exists - mapper.Execute(@"UPDATE ""TrackFiles"" - SET ""AlbumId"" = 0 - WHERE ""AlbumId"" <> 0 AND ""Id"" IN ( - SELECT ""TrackFiles"".""Id"" FROM ""TrackFiles"" - LEFT OUTER JOIN ""Tracks"" - ON ""TrackFiles"".""Id"" = ""Tracks"".""TrackFileId"" - WHERE ""Tracks"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + + // Unlink where track no longer exists + mapper.Execute(@"UPDATE ""TrackFiles"" + SET ""AlbumId"" = 0 + WHERE ""AlbumId"" <> 0 AND ""Id"" IN ( + SELECT ""TrackFiles"".""Id"" FROM ""TrackFiles"" + LEFT OUTER JOIN ""Tracks"" + ON ""TrackFiles"".""Id"" = ""Tracks"".""TrackFileId"" + WHERE ""Tracks"".""Id"" IS NULL)"); } private void CleanupOrphanedByTracks() { - using (var mapper = _database.OpenConnection()) - { - // Unlink Tracks where the Trackfiles entry no longer exists - mapper.Execute(@"UPDATE ""Tracks"" - SET ""TrackFileId"" = 0 - WHERE ""TrackFileId"" <> 0 AND ""Id"" IN ( - SELECT ""Tracks"".""Id"" FROM ""Tracks"" - LEFT OUTER JOIN ""TrackFiles"" - ON ""Tracks"".""TrackFileId"" = ""TrackFiles"".""Id"" - WHERE ""TrackFiles"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + + // Unlink Tracks where the Trackfiles entry no longer exists + mapper.Execute(@"UPDATE ""Tracks"" + SET ""TrackFileId"" = 0 + WHERE ""TrackFileId"" <> 0 AND ""Id"" IN ( + SELECT ""Tracks"".""Id"" FROM ""Tracks"" + LEFT OUTER JOIN ""TrackFiles"" + ON ""Tracks"".""TrackFileId"" = ""TrackFiles"".""Id"" + WHERE ""TrackFiles"".""Id"" IS NULL)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedTracks.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedTracks.cs index 6b26e5da9..76b2da44d 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedTracks.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupOrphanedTracks.cs @@ -14,15 +14,13 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"DELETE FROM ""Tracks"" - WHERE ""Id"" IN ( - SELECT ""Tracks"".""Id"" FROM ""Tracks"" - LEFT OUTER JOIN ""AlbumReleases"" - ON ""Tracks"".""AlbumReleaseId"" = ""AlbumReleases"".""Id"" - WHERE ""AlbumReleases"".""Id"" IS NULL)"); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"DELETE FROM ""Tracks"" + WHERE ""Id"" IN ( + SELECT ""Tracks"".""Id"" FROM ""Tracks"" + LEFT OUTER JOIN ""AlbumReleases"" + ON ""Tracks"".""AlbumReleaseId"" = ""AlbumReleases"".""Id"" + WHERE ""AlbumReleases"".""Id"" IS NULL)"); } } } diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupUnusedTags.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupUnusedTags.cs index 9431d04ff..2722bbee9 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupUnusedTags.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/CleanupUnusedTags.cs @@ -18,31 +18,29 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers public void Clean() { - using (var mapper = _database.OpenConnection()) - { - var usedTags = new[] { "Artists", "Notifications", "DelayProfiles", "ReleaseProfiles", "ImportLists", "Indexers" } + using var mapper = _database.OpenConnection(); + var usedTags = new[] { "Artists", "Notifications", "DelayProfiles", "ReleaseProfiles", "ImportLists", "Indexers" } .SelectMany(v => GetUsedTags(v, mapper)) - .Distinct() - .ToArray(); + .Distinct() + .ToArray(); - if (usedTags.Any()) - { - var usedTagsList = usedTags.Select(d => d.ToString()).Join(","); + if (usedTags.Any()) + { + var usedTagsList = usedTags.Select(d => d.ToString()).Join(","); - if (_database.DatabaseType == DatabaseType.PostgreSQL) - { - mapper.Execute($"DELETE FROM \"Tags\" WHERE NOT \"Id\" = ANY (\'{{{usedTagsList}}}\'::int[])"); - } - else - { - mapper.Execute($"DELETE FROM \"Tags\" WHERE NOT \"Id\" IN ({usedTagsList})"); - } + if (_database.DatabaseType == DatabaseType.PostgreSQL) + { + mapper.Execute($"DELETE FROM \"Tags\" WHERE NOT \"Id\" = ANY (\'{{{usedTagsList}}}\'::int[])"); } else { - mapper.Execute("DELETE FROM \"Tags\""); + mapper.Execute($"DELETE FROM \"Tags\" WHERE NOT \"Id\" IN ({usedTagsList})"); } } + else + { + mapper.Execute("DELETE FROM \"Tags\""); + } } private int[] GetUsedTags(string table, IDbConnection mapper) diff --git a/src/NzbDrone.Core/Housekeeping/Housekeepers/FixFutureRunScheduledTasks.cs b/src/NzbDrone.Core/Housekeeping/Housekeepers/FixFutureRunScheduledTasks.cs index 47333e596..afb80baf2 100644 --- a/src/NzbDrone.Core/Housekeeping/Housekeepers/FixFutureRunScheduledTasks.cs +++ b/src/NzbDrone.Core/Housekeeping/Housekeepers/FixFutureRunScheduledTasks.cs @@ -24,13 +24,11 @@ namespace NzbDrone.Core.Housekeeping.Housekeepers _logger.Debug("Not running scheduled task last execution cleanup during debug"); } - using (var mapper = _database.OpenConnection()) - { - mapper.Execute(@"UPDATE ""ScheduledTasks"" - SET ""LastExecution"" = @time - WHERE ""LastExecution"" > @time", - new { time = DateTime.UtcNow }); - } + using var mapper = _database.OpenConnection(); + mapper.Execute(@"UPDATE ""ScheduledTasks"" + SET ""LastExecution"" = @time + WHERE ""LastExecution"" > @time", + new { time = DateTime.UtcNow }); } } }