diff options
| author | HurricaneHernandez <carlos@techbyte.ca> | 2014-10-24 16:12:24 -0600 |
|---|---|---|
| committer | HurricaneHernandez <carlos@techbyte.ca> | 2014-10-24 16:12:24 -0600 |
| commit | e01f932f4bd6764850155616e733590a74d905be (patch) | |
| tree | 894a2da0c7b9d96d5108b6f2ed57e0f10dfee96a /MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs | |
| parent | 3be4aa8dc729f5899658790f43a1d1c182e7a243 (diff) | |
| parent | c8a735bcb1ba71e9501d18b3044aa30793ff97ee (diff) | |
Merge remote-tracking branch 'upstream/master' into docker
Diffstat (limited to 'MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index 70362654e6..cd79282909 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -257,7 +257,7 @@ namespace MediaBrowser.Server.Implementations.Persistence _writeLock.Release(); } } - + /// <summary> /// Internal retrieve from items or users table /// </summary> @@ -473,6 +473,34 @@ namespace MediaBrowser.Server.Implementations.Persistence } } + public IEnumerable<BaseItem> GetChildrenItems(Guid parentId) + { + if (parentId == Guid.Empty) + { + throw new ArgumentNullException("parentId"); + } + + using (var cmd = _connection.CreateCommand()) + { + cmd.CommandText = "select type,data from TypedBaseItems where guid in (select ItemId from ChildrenIds where ParentId = @ParentId)"; + + cmd.Parameters.Add(cmd, "@ParentId", DbType.Guid).Value = parentId; + + using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess | CommandBehavior.SingleResult)) + { + while (reader.Read()) + { + var item = GetItem(reader); + + if (item != null) + { + yield return item; + } + } + } + } + } + public IEnumerable<BaseItem> GetItemsOfType(Type type) { if (type == null) |
