Merge pull request #7411 from jellyfin/revert-7240-add-readonly-connection

This commit is contained in:
Cody Robibero 2022-03-06 11:04:36 -07:00 committed by GitHub
commit 1dcd537ea2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 12 deletions

View File

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

View File

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