public static void Reinitialize(this DBreeze.DBreezeEngine engine, string dbPath) { if (dbPath == null) { return; } if (StaticKeyValueDatabase.IsDisposed || engine == null || engine?.IsDatabaseOperable == false || engine?.Disposed == true) { BLogger.I("Database is not operable or it was disposed. Reinitializing. Message: {message}", engine.DatabaseNotOperableReason ?? ""); _dbPath = dbPath; StaticKeyValueDatabase.DisposeDatabaseEngine(); engine = StaticKeyValueDatabase.GetDatabaseEngine(dbPath); BLogger.I("Engine reintialized. Path: {path}", dbPath); } }
public void Dispose() { StaticKeyValueDatabase.IsDisposed = true; StaticKeyValueDatabase.DisposeDatabaseEngine(); _engine = null; }