Core/DBUpdater: No need for sorted set, just order the files when we get them.

This commit is contained in:
hondacrx
2022-09-25 20:56:45 -04:00
parent 99587eae3d
commit b3a1f085ca
+6 -6
View File
@@ -152,7 +152,7 @@ namespace Framework.Database
if (hashIter != null) if (hashIter != null)
{ {
// Check if the original file was removed if not we've got a problem. // Check if the original file was removed if not we've got a problem.
var renameFile = availableFiles.FirstOrDefault(p => p.GetFileName() == hashIter.Name); var renameFile = availableFiles.Find(p => p.GetFileName() == hashIter.Name);
if (renameFile != null) if (renameFile != null)
{ {
Log.outWarn(LogFilter.SqlUpdates, $"Seems like update \"{availableQuery.GetFileName()}\" \'{hash.Substring(0, 7)}\' was renamed, but the old file is still there! " + Log.outWarn(LogFilter.SqlUpdates, $"Seems like update \"{availableQuery.GetFileName()}\" \'{hash.Substring(0, 7)}\' was renamed, but the old file is still there! " +
@@ -340,9 +340,9 @@ namespace Framework.Database
Apply(update); Apply(update);
} }
SortedSet<FileEntry> GetFileList() List<FileEntry> GetFileList()
{ {
SortedSet<FileEntry> fileList = new(); List<FileEntry> fileList = new();
SQLResult result = _database.Query("SELECT `path`, `state` FROM `updates_include`"); SQLResult result = _database.Query("SELECT `path`, `state` FROM `updates_include`");
if (result.IsEmpty()) if (result.IsEmpty())
@@ -398,17 +398,17 @@ namespace Framework.Database
directory = queue.Dequeue(); directory = queue.Dequeue();
try try
{ {
foreach (string subDir in Directory.GetDirectories(directory)) foreach (string subDir in Directory.GetDirectories(directory).OrderBy(p => p))
{ {
queue.Enqueue(subDir); queue.Enqueue(subDir);
} }
} }
catch (Exception ex) catch (Exception ex)
{ {
Console.Error.WriteLine(ex); Log.outFatal(LogFilter.SqlUpdates, $"DBUpdater: {directory} Exception: {ex}");
} }
string[] files = Directory.GetFiles(directory, "*.sql"); string[] files = Directory.GetFiles(directory, "*.sql").OrderBy(p => p).ToArray();
for (int i = 0; i < files.Length; i++) for (int i = 0; i < files.Length; i++)
{ {
yield return new FileEntry(files[i], state); yield return new FileEntry(files[i], state);