update data queries

This commit is contained in:
Luke Pulverenti
2017-05-21 03:25:49 -04:00
parent ead88d3b65
commit da77b05817
62 changed files with 620 additions and 446 deletions

View File

@@ -207,8 +207,6 @@ namespace Emby.Server.Implementations.Data
AddColumn(db, "TypedBaseItems", "DateCreated", "DATETIME", existingColumnNames);
AddColumn(db, "TypedBaseItems", "DateModified", "DATETIME", existingColumnNames);
AddColumn(db, "TypedBaseItems", "ForcedSortName", "Text", existingColumnNames);
AddColumn(db, "TypedBaseItems", "IsSeries", "BIT", existingColumnNames);
AddColumn(db, "TypedBaseItems", "IsLive", "BIT", existingColumnNames);
AddColumn(db, "TypedBaseItems", "IsNews", "BIT", existingColumnNames);
@@ -426,7 +424,7 @@ namespace Emby.Server.Implementations.Data
"OfficialRating",
"HomePageUrl",
"DisplayMediaType",
"ForcedSortName",
"SortName",
"RunTimeTicks",
"VoteCount",
"DateCreated",
@@ -549,7 +547,6 @@ namespace Emby.Server.Implementations.Data
"DisplayMediaType",
"DateCreated",
"DateModified",
"ForcedSortName",
"PreferredMetadataLanguage",
"PreferredMetadataCountryCode",
"IsHD",
@@ -826,8 +823,6 @@ namespace Emby.Server.Implementations.Data
saveItemStatement.TryBind("@DateCreated", item.DateCreated);
saveItemStatement.TryBind("@DateModified", item.DateModified);
saveItemStatement.TryBind("@ForcedSortName", item.ForcedSortName);
saveItemStatement.TryBind("@PreferredMetadataLanguage", item.PreferredMetadataLanguage);
saveItemStatement.TryBind("@PreferredMetadataCountryCode", item.PreferredMetadataCountryCode);
saveItemStatement.TryBind("@IsHD", item.IsHD);
@@ -1237,7 +1232,7 @@ namespace Emby.Server.Implementations.Data
foreach (var row in statement.ExecuteQuery())
{
return GetItem(row);
return GetItem(row, new InternalItemsQuery());
}
}
@@ -1246,11 +1241,6 @@ namespace Emby.Server.Implementations.Data
}
}
private BaseItem GetItem(IReadOnlyList<IResultSetValue> reader)
{
return GetItem(reader, new InternalItemsQuery());
}
private bool TypeRequiresDeserialization(Type type)
{
if (_config.Configuration.SkipDeserializationForBasicTypes)
@@ -1535,11 +1525,14 @@ namespace Emby.Server.Implementations.Data
}
index++;
if (!reader.IsDBNull(index))
if (query.HasField(ItemFields.ExternalEtag))
{
item.ExternalEtag = reader.GetString(index);
if (!reader.IsDBNull(index))
{
item.ExternalEtag = reader.GetString(index);
}
index++;
}
index++;
if (!reader.IsDBNull(index))
{
@@ -1614,7 +1607,7 @@ namespace Emby.Server.Implementations.Data
{
if (!reader.IsDBNull(index))
{
item.ForcedSortName = reader.GetString(index);
item.SortName = reader.GetString(index);
}
index++;
}
@@ -1821,29 +1814,41 @@ namespace Emby.Server.Implementations.Data
}
index++;
if (!reader.IsDBNull(index))
if (query.HasField(ItemFields.PresentationUniqueKey))
{
item.PresentationUniqueKey = reader.GetString(index);
if (!reader.IsDBNull(index))
{
item.PresentationUniqueKey = reader.GetString(index);
}
index++;
}
index++;
if (!reader.IsDBNull(index))
if (query.HasField(ItemFields.InheritedParentalRatingValue))
{
item.InheritedParentalRatingValue = reader.GetInt32(index);
if (!reader.IsDBNull(index))
{
item.InheritedParentalRatingValue = reader.GetInt32(index);
}
index++;
}
index++;
if (!reader.IsDBNull(index))
if (query.HasField(ItemFields.Tags))
{
item.InheritedTags = reader.GetString(index).Split('|').Where(i => !string.IsNullOrWhiteSpace(i)).ToList();
if (!reader.IsDBNull(index))
{
item.InheritedTags = reader.GetString(index).Split('|').Where(i => !string.IsNullOrWhiteSpace(i)).ToList();
}
index++;
}
index++;
if (!reader.IsDBNull(index))
if (query.HasField(ItemFields.ExternalSeriesId))
{
item.ExternalSeriesId = reader.GetString(index);
if (!reader.IsDBNull(index))
{
item.ExternalSeriesId = reader.GetString(index);
}
index++;
}
index++;
if (query.HasField(ItemFields.Taglines))
{
@@ -2240,12 +2245,16 @@ namespace Emby.Server.Implementations.Data
}
if (field == ItemFields.SortName)
{
return new[] { "ForcedSortName" };
return new[] { "SortName" };
}
if (field == ItemFields.Taglines)
{
return new[] { "Tagline" };
}
if (field == ItemFields.Tags)
{
return new[] { "Tags", "InheritedTags" };
}
return new[] { field.ToString() };
}
@@ -4916,7 +4925,9 @@ namespace Emby.Server.Implementations.Data
var columns = _retriveItemColumns.ToList();
columns.AddRange(itemCountColumns.Select(i => i.Item2).ToArray());
var commandText = "select " + string.Join(",", GetFinalColumnsToSelect(query, columns.ToArray())) + GetFromText();
columns = GetFinalColumnsToSelect(query, columns.ToArray()).ToList();
var commandText = "select " + string.Join(",", columns.ToArray()) + GetFromText();
commandText += GetJoinUserDataText(query);
var innerQuery = new InternalItemsQuery(query.User)
@@ -5042,7 +5053,7 @@ namespace Emby.Server.Implementations.Data
foreach (var row in statement.ExecuteQuery())
{
var item = GetItem(row);
var item = GetItem(row, query);
if (item != null)
{
var countStartColumn = columns.Count - 1;