chore: Add a read only connection for routes like Shows/NextUp

pull/7240/head
Jayson Reis 3 years ago
parent cd4587b43f
commit 2e4dd02f76
No known key found for this signature in database
GPG Key ID: 32CAA472083D88E2

@ -97,9 +97,16 @@ namespace Emby.Server.Implementations.Data
/// </summary>
/// <value>The write connection.</value>
protected SQLiteDatabaseConnection WriteConnection { get; set; }
protected SQLiteDatabaseConnection ReadConnection { get; set; }
protected ManagedConnection GetConnection(bool readOnly = false)
{
if (readOnly)
{
ReadConnection ??= SQLite3.Open(DbFilePath, DefaultConnectionFlags | ConnectionFlags.ReadOnly, null);
return new ManagedConnection(ReadConnection, null);
}
WriteLock.Wait();
if (WriteConnection != null)
{

@ -9,11 +9,12 @@ namespace Emby.Server.Implementations.Data
{
public sealed class ManagedConnection : IDisposable
{
private readonly SemaphoreSlim _writeLock;
private readonly SemaphoreSlim? _writeLock;
private SQLiteDatabaseConnection? _db;
private bool _disposed = false;
private bool _disposed;
public ManagedConnection(SQLiteDatabaseConnection db, SemaphoreSlim writeLock)
{
@ -73,7 +74,7 @@ namespace Emby.Server.Implementations.Data
return;
}
_writeLock.Release();
_writeLock?.Release();
_db = null; // Don't dispose it
_disposed = true;

Loading…
Cancel
Save