mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-31 04:48:27 +01:00
update .net core startup
This commit is contained in:
52
src/Emby.Server/Data/DbConnector.cs
Normal file
52
src/Emby.Server/Data/DbConnector.cs
Normal file
@@ -0,0 +1,52 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using Emby.Server.Core.Data;
|
||||
using Microsoft.Data.Sqlite;
|
||||
|
||||
namespace Emby.Server.Data
|
||||
{
|
||||
public class DbConnector : IDbConnector
|
||||
{
|
||||
private readonly ILogger _logger;
|
||||
|
||||
public DbConnector(ILogger logger)
|
||||
{
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task<IDbConnection> Connect(string dbPath, bool isReadOnly, bool enablePooling = false, int? cacheSize = null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(dbPath))
|
||||
{
|
||||
throw new ArgumentNullException("dbPath");
|
||||
}
|
||||
|
||||
//SQLiteConnection.SetMemoryStatus(false);
|
||||
|
||||
var connectionstr = new SqliteConnectionStringBuilder
|
||||
{
|
||||
//PageSize = 4096,
|
||||
//CacheSize = cacheSize ?? 2000,
|
||||
//SyncMode = SynchronizationModes.Normal,
|
||||
DataSource = dbPath,
|
||||
//JournalMode = SQLiteJournalModeEnum.Wal,
|
||||
|
||||
// This is causing crashing under linux
|
||||
//Pooling = enablePooling && Environment.OSVersion.Platform == PlatformID.Win32NT,
|
||||
//ReadOnly = isReadOnly,
|
||||
Cache = enablePooling ? SqliteCacheMode.Default : SqliteCacheMode.Private,
|
||||
Mode = isReadOnly ? SqliteOpenMode.ReadOnly : SqliteOpenMode.ReadWriteCreate
|
||||
};
|
||||
|
||||
var connectionString = connectionstr.ConnectionString;
|
||||
|
||||
var connection = new SqliteConnection(connectionString);
|
||||
|
||||
await connection.OpenAsync().ConfigureAwait(false);
|
||||
|
||||
return connection;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user