aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-27 13:26:04 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-10-27 13:26:04 -0400
commit455468ef944d9789b3d25512530f1f195d1cbd58 (patch)
tree330abebb267de07a23d3b4b76ff71f6a6b97d551 /MediaBrowser.Server.Implementations
parent6edd92d2a5877754e7e4a5f9c4e3ba4edd7f305f (diff)
update db retrieval
Diffstat (limited to 'MediaBrowser.Server.Implementations')
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs116
-rw-r--r--MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs7
2 files changed, 118 insertions, 5 deletions
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
index 64ba3f110..a5e781761 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs
@@ -76,7 +76,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
private IDbCommand _deleteStreamsCommand;
private IDbCommand _saveStreamCommand;
- private const int LatestSchemaVersion = 13;
+ private const int LatestSchemaVersion = 16;
/// <summary>
/// Initializes a new instance of the <see cref="SqliteItemRepository"/> class.
@@ -198,6 +198,10 @@ namespace MediaBrowser.Server.Implementations.Persistence
_connection.AddColumn(_logger, "TypedBaseItems", "ExternalEtag", "Text");
_connection.AddColumn(_logger, "TypedBaseItems", "DateLastRefreshed", "DATETIME");
+ _connection.AddColumn(_logger, "TypedBaseItems", "DateLastSaved", "DATETIME");
+ _connection.AddColumn(_logger, "TypedBaseItems", "IsInMixedFolder", "BIT");
+ _connection.AddColumn(_logger, "TypedBaseItems", "LockedFields", "Text");
+
PrepareStatements();
new MediaStreamColumns(_connection, _logger).AddColumns();
@@ -289,7 +293,24 @@ namespace MediaBrowser.Server.Implementations.Persistence
"PreferredMetadataCountryCode",
"IsHD",
"ExternalEtag",
- "DateLastRefreshed"
+ "DateLastRefreshed",
+ "Name",
+ "Path",
+ "PremiereDate",
+ "Overview",
+ "ParentIndexNumber",
+ "ProductionYear",
+ "OfficialRating",
+ "OfficialRatingDescription",
+ "HomePageUrl",
+ "DisplayMediaType",
+ "ForcedSortName",
+ "RunTimeTicks",
+ "VoteCount",
+ "DateCreated",
+ "DateModified",
+ "guid",
+ "Genres"
};
private readonly string[] _mediaStreamSaveColumns =
@@ -377,7 +398,10 @@ namespace MediaBrowser.Server.Implementations.Persistence
"PreferredMetadataCountryCode",
"IsHD",
"ExternalEtag",
- "DateLastRefreshed"
+ "DateLastRefreshed",
+ "DateLastSaved",
+ "IsInMixedFolder",
+ "LockedFields"
};
_saveItemCommand = _connection.CreateCommand();
_saveItemCommand.CommandText = "replace into TypedBaseItems (" + string.Join(",", saveColumns.ToArray()) + ") values (";
@@ -606,6 +630,10 @@ namespace MediaBrowser.Server.Implementations.Persistence
_saveItemCommand.GetParameter(index++).Value = item.DateLastRefreshed;
}
+ _saveItemCommand.GetParameter(index++).Value = item.DateLastSaved;
+ _saveItemCommand.GetParameter(index++).Value = item.IsInMixedFolder;
+ _saveItemCommand.GetParameter(index++).Value = string.Join("|", item.LockedFields.Select(i => i.ToString()).ToArray());
+
_saveItemCommand.Transaction = transaction;
_saveItemCommand.ExecuteNonQuery();
@@ -827,6 +855,88 @@ namespace MediaBrowser.Server.Implementations.Persistence
item.DateLastRefreshed = reader.GetDateTime(23).ToUniversalTime();
}
+ if (!reader.IsDBNull(24))
+ {
+ item.Name = reader.GetString(24);
+ }
+
+ if (!reader.IsDBNull(25))
+ {
+ item.Path = reader.GetString(25);
+ }
+
+ if (!reader.IsDBNull(26))
+ {
+ item.PremiereDate = reader.GetDateTime(26).ToUniversalTime();
+ }
+
+ if (!reader.IsDBNull(27))
+ {
+ item.Overview = reader.GetString(27);
+ }
+
+ if (!reader.IsDBNull(28))
+ {
+ item.ParentIndexNumber = reader.GetInt32(28);
+ }
+
+ if (!reader.IsDBNull(29))
+ {
+ item.ProductionYear = reader.GetInt32(29);
+ }
+
+ if (!reader.IsDBNull(30))
+ {
+ item.OfficialRating = reader.GetString(30);
+ }
+
+ if (!reader.IsDBNull(31))
+ {
+ item.OfficialRating = reader.GetString(31);
+ }
+
+ if (!reader.IsDBNull(32))
+ {
+ item.HomePageUrl = reader.GetString(32);
+ }
+
+ if (!reader.IsDBNull(33))
+ {
+ item.DisplayMediaType = reader.GetString(33);
+ }
+
+ if (!reader.IsDBNull(34))
+ {
+ item.ForcedSortName = reader.GetString(34);
+ }
+
+ if (!reader.IsDBNull(35))
+ {
+ item.RunTimeTicks = reader.GetInt64(35);
+ }
+
+ if (!reader.IsDBNull(36))
+ {
+ item.VoteCount = reader.GetInt32(36);
+ }
+
+ if (!reader.IsDBNull(37))
+ {
+ item.DateCreated = reader.GetDateTime(37).ToUniversalTime();
+ }
+
+ if (!reader.IsDBNull(38))
+ {
+ item.DateModified = reader.GetDateTime(38).ToUniversalTime();
+ }
+
+ item.Id = reader.GetGuid(39);
+
+ if (!reader.IsDBNull(40))
+ {
+ item.Genres = reader.GetString(40).Split('|').Where(i => !string.IsNullOrWhiteSpace(i)).ToList();
+ }
+
return item;
}
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs
index ad784ae5d..9bd7e47f3 100644
--- a/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs
+++ b/MediaBrowser.Server.Implementations/Persistence/SqliteUserRepository.cs
@@ -144,15 +144,18 @@ namespace MediaBrowser.Server.Implementations.Persistence
{
using (var cmd = _connection.CreateCommand())
{
- cmd.CommandText = "select data from users";
+ cmd.CommandText = "select guid,data from users";
using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess | CommandBehavior.SingleResult))
{
while (reader.Read())
{
- using (var stream = reader.GetMemoryStream(0))
+ var id = reader.GetGuid(0);
+
+ using (var stream = reader.GetMemoryStream(1))
{
var user = _jsonSerializer.DeserializeFromStream<User>(stream);
+ user.Id = id;
yield return user;
}
}