From 277f555fdaf46859a44f3869aac09da40699c47f Mon Sep 17 00:00:00 2001 From: wrexbe <81056464+wrexbe@users.noreply.github.com> Date: Tue, 27 Sep 2022 21:16:04 -0700 Subject: [PATCH] Try to fix getting old logs (#11568) --- Content.Server/Database/ServerDbBase.cs | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/Content.Server/Database/ServerDbBase.cs b/Content.Server/Database/ServerDbBase.cs index e622bd9268..9b8616a530 100644 --- a/Content.Server/Database/ServerDbBase.cs +++ b/Content.Server/Database/ServerDbBase.cs @@ -742,26 +742,14 @@ namespace Content.Server.Database if (filter.AnyPlayers != null) { - var players = await db.AdminLogPlayer - .Where(player => filter.AnyPlayers.Contains(player.PlayerUserId)) - .ToListAsync(); - - if (players.Count > 0) - { - query = from log in query - join player in db.AdminLogPlayer on log.Id equals player.LogId - where filter.AnyPlayers.Contains(player.Player.UserId) - select log; - } + query = query.Where(log => log.Players.Any(p => filter.AnyPlayers.Contains(p.PlayerUserId))); } if (filter.AllPlayers != null) { - // TODO ADMIN LOGGING + query = query.Where(log => log.Players.All(p => filter.AllPlayers.Contains(p.PlayerUserId))); } - query = query.Distinct(); - if (filter.LastLogId != null) { query = filter.DateOrder switch @@ -781,9 +769,14 @@ namespace Content.Server.Database $"Unknown {nameof(DateOrder)} value {filter.DateOrder}") }; + const int hardLogLimit = 500_000; if (filter.Limit != null) { - query = query.Take(filter.Limit.Value); + query = query.Take(Math.Min(filter.Limit.Value, hardLogLimit)); + } + else + { + query = query.Take(hardLogLimit); } return query;