mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-18 06:53:07 +03:00
update data queries
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user