Formatted SQL queries

This commit is contained in:
Carl Johnsen
2025-06-11 12:09:58 +02:00
parent d56e8b2f4a
commit e5337e4d26
5 changed files with 40 additions and 13 deletions
@@ -592,7 +592,9 @@ namespace Duplicati.Library.Main.Database
dbnew.m_selectfileHashCommand = dbnew.m_connection.CreateCommand(@"
SELECT ""Blockset"".""Fullhash""
FROM ""Blockset"", ""FileLookup""
FROM
""Blockset"",
""FileLookup""
WHERE
""Blockset"".""ID"" = ""FileLookup"".""BlocksetID""
AND ""FileLookup"".""ID"" = @FileId
@@ -270,7 +270,9 @@ namespace Duplicati.Library.Main.Database
");
dbnew.m_selectduplicateRemoteVolumesCommand = await connection.CreateCommandAsync($@"
SELECT DISTINCT ""Name"", ""State""
SELECT DISTINCT
""Name"",
""State""
FROM ""Remotevolume""
WHERE
""Name"" IN (
@@ -432,7 +434,9 @@ namespace Duplicati.Library.Main.Database
public async IAsyncEnumerable<KeyValuePair<long, DateTime>> FilesetTimes()
{
using var cmd = await m_connection.CreateCommandAsync(@"
SELECT ""ID"", ""Timestamp""
SELECT
""ID"",
""Timestamp""
FROM ""Fileset""
ORDER BY ""Timestamp"" DESC
");
@@ -661,12 +665,17 @@ namespace Duplicati.Library.Main.Database
.ExpandInClauseParameterMssqlite("@VolumeNames", [.. names])
.ExecuteNonQueryAsync();
var volIdsSubQuery = $@"SELECT ""ID"" FROM ""{volidstable}"" ";
var volIdsSubQuery = $@"
SELECT ""ID""
FROM ""{volidstable}""
";
deletecmd.Parameters.Clear();
var bsIdsSubQuery = @$"
SELECT DISTINCT ""BlocksetEntry"".""BlocksetID""
FROM ""BlocksetEntry"", ""Block""
FROM
""BlocksetEntry"",
""Block""
WHERE
""BlocksetEntry"".""BlockID"" = ""Block"".""ID""
AND ""Block"".""VolumeID"" IN ({volIdsSubQuery})
@@ -698,7 +707,9 @@ namespace Duplicati.Library.Main.Database
// Create a temp table to associate metadata that is being deleted to a fileset
var metadataFilesetQuery = $@"
SELECT Metadataset.ID, FilesetEntry.FilesetID
SELECT
Metadataset.ID,
FilesetEntry.FilesetID
FROM Metadataset
INNER JOIN FileLookup
ON FileLookup.MetadataID = Metadataset.ID
@@ -732,7 +743,8 @@ namespace Duplicati.Library.Main.Database
DELETE FROM FilesetEntry
WHERE
FilesetEntry.FilesetID IN (
SELECT DISTINCT FilesetID FROM ""{metadataFilesetTable}""
SELECT DISTINCT FilesetID
FROM ""{metadataFilesetTable}""
)
AND FilesetEntry.FileID IN (
SELECT FilesetEntry.FileID
@@ -740,7 +752,8 @@ namespace Duplicati.Library.Main.Database
INNER JOIN FileLookup
ON FileLookup.ID = FilesetEntry.FileID
WHERE FileLookup.MetadataID IN (
SELECT MetadataID FROM ""{metadataFilesetTable}""
SELECT MetadataID
FROM ""{metadataFilesetTable}""
)
)
");
@@ -907,7 +920,8 @@ namespace Duplicati.Library.Main.Database
SELECT COUNT(*)
FROM ""FilesetEntry""
WHERE ""FileID"" NOT IN (
SELECT ""ID"" FROM ""FileLookup""
SELECT ""ID""
FROM ""FileLookup""
)
");
if (nonAttachedFiles > 0)
@@ -349,7 +349,9 @@ namespace Duplicati.Library.Main.Database
)
AND ""BlocksetID"" NOT IN (
SELECT ""BlocksetID""
FROM ""BlocksetEntry"", ""Block""
FROM
""BlocksetEntry"",
""Block""
WHERE ""BlocksetEntry"".""BlockID"" = ""Block"".""ID""
)
")
@@ -274,7 +274,9 @@ namespace Duplicati.Library.Main.Database
dbnew.m_findMetadatasetCommand = await dbnew.m_connection.CreateCommandAsync(@"
SELECT ""Metadataset"".""ID""
FROM ""Metadataset"",""Blockset""
FROM
""Metadataset"",
""Blockset""
WHERE
""Metadataset"".""BlocksetID"" = ""Blockset"".""ID""
AND ""Blockset"".""FullHash"" = @FullHash
@@ -203,14 +203,21 @@ namespace Duplicati.Library.SQLiteHelper
try
{
//See if the version table is present,
cmd.CommandText = "SELECT COUNT(*) FROM SQLITE_MASTER WHERE Name LIKE 'Version'";
cmd.CommandText = @"
SELECT COUNT(*)
FROM SQLITE_MASTER
WHERE Name LIKE 'Version'
";
int count = Convert.ToInt32(cmd.ExecuteScalar());
if (count == 0)
dbversion = -1; //Empty
else if (count == 1)
{
cmd.CommandText = "SELECT max(Version) FROM Version";
cmd.CommandText = @"
SELECT max(Version)
FROM Version
";
dbversion = Convert.ToInt32(cmd.ExecuteScalar());
}
else