From bad392ead7d5ddd07768c880fc28318a6eb10e24 Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Wed, 20 May 2020 20:15:23 -0600 Subject: [PATCH] Fix a bug in SQL that would always make the patch finder return default --- Wabbajack.Server.Test/ModlistUpdater.cs | 6 +++--- Wabbajack.Server/Controllers/ModUpgrade.cs | 1 + Wabbajack.Server/DataLayer/Patches.cs | 13 ++++++------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Wabbajack.Server.Test/ModlistUpdater.cs b/Wabbajack.Server.Test/ModlistUpdater.cs index add77a6c..c81e8c0d 100644 --- a/Wabbajack.Server.Test/ModlistUpdater.cs +++ b/Wabbajack.Server.Test/ModlistUpdater.cs @@ -93,9 +93,9 @@ namespace Wabbajack.Server.Test var oldDataHash = oldFileData.xxHash(); var newDataHash = newFileData.xxHash(); - await "upgrading_file.txt".RelativeTo(Fixture.ServerPublicFolder).WriteAllBytesAsync(oldFileData); + await "TestEndToEndArchiveUpdating.txt".RelativeTo(Fixture.ServerPublicFolder).WriteAllBytesAsync(oldFileData); - var oldArchive = new Archive(new HTTPDownloader.State(MakeURL("upgrading_file.txt"))) + var oldArchive = new Archive(new HTTPDownloader.State(MakeURL("TestEndToEndArchiveUpdating.txt"))) { Size = oldFileData.Length, Hash = oldDataHash @@ -108,7 +108,7 @@ namespace Wabbajack.Server.Test // Now update the file - await "upgrading_file.txt".RelativeTo(Fixture.ServerPublicFolder).WriteAllBytesAsync(newFileData); + await"TestEndToEndArchiveUpdating.txt".RelativeTo(Fixture.ServerPublicFolder).WriteAllBytesAsync(newFileData); using var tempFile = new TempFile(); diff --git a/Wabbajack.Server/Controllers/ModUpgrade.cs b/Wabbajack.Server/Controllers/ModUpgrade.cs index d7de7265..4f54359d 100644 --- a/Wabbajack.Server/Controllers/ModUpgrade.cs +++ b/Wabbajack.Server/Controllers/ModUpgrade.cs @@ -37,6 +37,7 @@ namespace Wabbajack.BuildServer.Controllers var oldDownload = await _sql.GetOrEnqueueArchive(request.OldArchive); var newDownload = await _sql.GetOrEnqueueArchive(request.NewArchive); + _logger.Log(LogLevel.Information, $"Upgrade requested from {oldDownload.Archive.Hash} to {newDownload.Archive.Hash}"); var patch = await _sql.FindOrEnqueuePatch(oldDownload.Id, newDownload.Id); if (patch.Finished.HasValue) { diff --git a/Wabbajack.Server/DataLayer/Patches.cs b/Wabbajack.Server/DataLayer/Patches.cs index dfc07b88..60c2d969 100644 --- a/Wabbajack.Server/DataLayer/Patches.cs +++ b/Wabbajack.Server/DataLayer/Patches.cs @@ -77,8 +77,8 @@ namespace Wabbajack.Server.DataLayer { await using var conn = await Open(); var trans = await conn.BeginTransactionAsync(); - var patch = await conn.QueryFirstOrDefaultAsync<(long, DateTime?, bool, string)>( - "SELECT PatchSize, Finished, IsFailed, FailMessage FROM dbo.Patches WHERE SrcId = @SrcId AND DestId = @DestId", + var patch = await conn.QueryFirstOrDefaultAsync<(Guid, Guid, long, DateTime?, bool?, string)>( + "SELECT SrcId, DestId, PatchSize, Finished, IsFailed, FailMessage FROM dbo.Patches WHERE SrcId = @SrcId AND DestId = @DestId", new { SrcId = src, @@ -93,14 +93,13 @@ namespace Wabbajack.Server.DataLayer } else { - await trans.CommitAsync(); return new Patch { Src = await GetArchiveDownload(src), Dest = await GetArchiveDownload(dest), - PatchSize = patch.Item1, - Finished = patch.Item2, - IsFailed = patch.Item3, - FailMessage = patch.Item4 + PatchSize = patch.Item3, + Finished = patch.Item4, + IsFailed = patch.Item5, + FailMessage = patch.Item6 }; }