aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Data/SqliteItemRepository.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-08-01 12:45:57 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-08-01 12:45:57 -0400
commit4e52c027bcc2dc4cd100d450a7195233e48fb5ff (patch)
treecbdbf11ea02b91273c8e9ca80be14a58a58c285e /Emby.Server.Implementations/Data/SqliteItemRepository.cs
parenta74dbb64816817f30b2c2d65265ad757b1b0a569 (diff)
improve nextup queries
Diffstat (limited to 'Emby.Server.Implementations/Data/SqliteItemRepository.cs')
-rw-r--r--Emby.Server.Implementations/Data/SqliteItemRepository.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/Data/SqliteItemRepository.cs b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
index 3e2dbeefd..80a5defd6 100644
--- a/Emby.Server.Implementations/Data/SqliteItemRepository.cs
+++ b/Emby.Server.Implementations/Data/SqliteItemRepository.cs
@@ -2622,6 +2622,11 @@ namespace Emby.Server.Implementations.Data
groups.Add("PresentationUniqueKey");
}
+ if (query.GroupBySeriesPresentationUniqueKey)
+ {
+ groups.Add("SeriesPresentationUniqueKey");
+ }
+
if (groups.Count > 0)
{
return " Group by " + string.Join(",", groups.ToArray());
@@ -2934,6 +2939,10 @@ namespace Emby.Server.Implementations.Data
{
commandText += " select count (distinct PresentationUniqueKey)" + GetFromText();
}
+ else if (query.GroupBySeriesPresentationUniqueKey)
+ {
+ commandText += " select count (distinct SeriesPresentationUniqueKey)" + GetFromText();
+ }
else
{
commandText += " select count (guid)" + GetFromText();
@@ -3079,6 +3088,11 @@ namespace Emby.Server.Implementations.Data
}
if (string.Equals(name, ItemSortBy.DatePlayed, StringComparison.OrdinalIgnoreCase))
{
+ if (query.GroupBySeriesPresentationUniqueKey)
+ {
+ return new Tuple<string, bool>("MAX(LastPlayedDate)", false);
+ }
+
return new Tuple<string, bool>("LastPlayedDate", false);
}
if (string.Equals(name, ItemSortBy.PlayCount, StringComparison.OrdinalIgnoreCase))
@@ -3353,6 +3367,10 @@ namespace Emby.Server.Implementations.Data
{
commandText += " select count (distinct PresentationUniqueKey)" + GetFromText();
}
+ else if (query.GroupBySeriesPresentationUniqueKey)
+ {
+ commandText += " select count (distinct SeriesPresentationUniqueKey)" + GetFromText();
+ }
else
{
commandText += " select count (guid)" + GetFromText();
@@ -4640,6 +4658,11 @@ namespace Emby.Server.Implementations.Data
return false;
}
+ if (query.GroupBySeriesPresentationUniqueKey)
+ {
+ return false;
+ }
+
if (!string.IsNullOrWhiteSpace(query.PresentationUniqueKey))
{
return false;