Fixed a transitional issue

This commit is contained in:
Kenneth Skovhede
2025-03-19 21:42:08 +01:00
parent 833a77bcf6
commit 47afbbbdad
3 changed files with 11 additions and 14 deletions
@@ -959,29 +959,26 @@ ORDER BY ""A"".""TargetPath"", ""BB"".""Index""");
public IEnumerable<IFileToRestore> GetFilesToRestore(bool onlyNonVerified)
{
using (var cmd = m_connection.CreateCommand())
{
cmd.AddParameter(!onlyNonVerified);
using (var rd = cmd.ExecuteReader(FormatInvariant($@"SELECT ""{m_tempfiletable}"".""ID"", ""{m_tempfiletable}"".""TargetPath"", ""Blockset"".""FullHash"", ""Blockset"".""Length"" FROM ""{m_tempfiletable}"",""Blockset"" WHERE ""{m_tempfiletable}"".""BlocksetID"" = ""Blockset"".""ID"" AND ""{m_tempfiletable}"".""DataVerified"" <= ?")))
while (rd.Read())
yield return new FileToRestore(rd.ConvertValueToInt64(0), rd.ConvertValueToString(1), rd.ConvertValueToString(2), rd.ConvertValueToInt64(3));
}
using var cmd = m_connection.CreateCommand(FormatInvariant($@"SELECT ""{m_tempfiletable}"".""ID"", ""{m_tempfiletable}"".""TargetPath"", ""Blockset"".""FullHash"", ""Blockset"".""Length"" FROM ""{m_tempfiletable}"",""Blockset"" WHERE ""{m_tempfiletable}"".""BlocksetID"" = ""Blockset"".""ID"" AND ""{m_tempfiletable}"".""DataVerified"" <= @Verified"))
.SetParameterValue("@Verified", !onlyNonVerified);
using (var rd = cmd.ExecuteReader())
while (rd.Read())
yield return new FileToRestore(rd.ConvertValueToInt64(0), rd.ConvertValueToString(1), rd.ConvertValueToString(2), rd.ConvertValueToInt64(3));
}
/// <summary>
/// Returns a list of files and symlinks to restore.
/// </summary>
/// <param name="onlyNonVerified">Flag to indicate if only files with non-verified data should be returned.</param>
/// <returns>A list of files and symlinks to restore.</returns>
public IEnumerable<FileRequest> GetFilesAndSymlinksToRestore(bool onlyNonVerified)
public IEnumerable<FileRequest> GetFilesAndSymlinksToRestore()
{
using var cmd = m_connection.CreateCommand();
cmd.AddParameter(!onlyNonVerified);
using var rd = cmd.ExecuteReader(FormatInvariant($@"
using var cmd = m_connection.CreateCommand(FormatInvariant($@"
SELECT F.ID, F.Path, F.TargetPath, IFNULL(B.FullHash, ''), IFNULL(B.Length, 0), F.BlocksetID
FROM ""{m_tempfiletable}"" F
LEFT JOIN Blockset B ON F.BlocksetID = B.ID
WHERE F.BlocksetID != {FOLDER_BLOCKSET_ID}"));
using var rd = cmd.ExecuteReader();
while (rd.Read())
yield return new FileRequest(rd.ConvertValueToInt64(0), rd.ConvertValueToString(1), rd.ConvertValueToString(2), rd.ConvertValueToString(3), rd.ConvertValueToInt64(4), rd.ConvertValueToInt64(5));
}
@@ -64,7 +64,7 @@ namespace Duplicati.Library.Main.Operation.Restore
try
{
sw_prework?.Start();
var files = db.GetFilesAndSymlinksToRestore(true).OrderByDescending(x => x.Length).ToArray(); // Get started on big files first
var files = db.GetFilesAndSymlinksToRestore().OrderByDescending(x => x.Length).ToArray(); // Get started on big files first
result.OperationProgressUpdater.UpdatePhase(OperationPhase.Restore_DownloadingRemoteFiles);
sw_prework?.Stop();
+1 -1
View File
@@ -157,7 +157,7 @@ namespace Duplicati.UnitTest
};
int test_filesize = 1024;
// TODO tjek om de gamle filer forbliver urørte.
// TODO check if the original files are untocuched
var original_dir = Path.Combine(DATAFOLDER, "some_original_dir");
Directory.CreateDirectory(original_dir);