Move db connections to environments.

pull/1/head
Matthew Chen 7 years ago
parent 829851bd7b
commit f1646b6cbc

@ -4,6 +4,7 @@
#import "OWSDatabaseMigration.h" #import "OWSDatabaseMigration.h"
#import <SignalServiceKit/OWSPrimaryStorage.h> #import <SignalServiceKit/OWSPrimaryStorage.h>
#import <SignalServiceKit/SSKEnvironment.h>
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@ -81,13 +82,7 @@ NS_ASSUME_NONNULL_BEGIN
+ (YapDatabaseConnection *)dbReadWriteConnection + (YapDatabaseConnection *)dbReadWriteConnection
{ {
static dispatch_once_t onceToken; return SSKEnvironment.shared.migrationDBConnection;
static YapDatabaseConnection *sharedDBConnection;
dispatch_once(&onceToken, ^{
sharedDBConnection = [OWSPrimaryStorage sharedManager].newDatabaseConnection;
});
return sharedDBConnection;
} }
- (YapDatabaseConnection *)dbReadConnection - (YapDatabaseConnection *)dbReadConnection

@ -220,12 +220,7 @@ NSString *NSStringForOutgoingMessageRecipientState(OWSOutgoingMessageRecipientSt
+ (YapDatabaseConnection *)dbMigrationConnection + (YapDatabaseConnection *)dbMigrationConnection
{ {
static YapDatabaseConnection *connection = nil; return SSKEnvironment.shared.migrationDBConnection;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
connection = [[OWSPrimaryStorage sharedManager] newDatabaseConnection];
});
return connection;
} }
+ (instancetype)outgoingMessageInThread:(nullable TSThread *)thread + (instancetype)outgoingMessageInThread:(nullable TSThread *)thread

@ -90,6 +90,9 @@ NS_ASSUME_NONNULL_BEGIN
@property (atomic, nullable) id<NotificationsProtocol> notificationsManager; @property (atomic, nullable) id<NotificationsProtocol> notificationsManager;
@property (atomic, readonly) YapDatabaseConnection *objectReadWriteConnection; @property (atomic, readonly) YapDatabaseConnection *objectReadWriteConnection;
@property (atomic, readonly) YapDatabaseConnection *sessionStoreDBConnection;
@property (atomic, readonly) YapDatabaseConnection *migrationDBConnection;
@property (atomic, readonly) YapDatabaseConnection *analyticsDBConnection;
- (BOOL)isComplete; - (BOOL)isComplete;

@ -42,6 +42,9 @@ static SSKEnvironment *sharedSSKEnvironment;
@synthesize callMessageHandler = _callMessageHandler; @synthesize callMessageHandler = _callMessageHandler;
@synthesize notificationsManager = _notificationsManager; @synthesize notificationsManager = _notificationsManager;
@synthesize objectReadWriteConnection = _objectReadWriteConnection; @synthesize objectReadWriteConnection = _objectReadWriteConnection;
@synthesize sessionStoreDBConnection = _sessionStoreDBConnection;
@synthesize migrationDBConnection = _migrationDBConnection;
@synthesize analyticsDBConnection = _analyticsDBConnection;
- (instancetype)initWithContactsManager:(id<ContactsManagerProtocol>)contactsManager - (instancetype)initWithContactsManager:(id<ContactsManagerProtocol>)contactsManager
messageSender:(OWSMessageSender *)messageSender messageSender:(OWSMessageSender *)messageSender
@ -188,6 +191,34 @@ static SSKEnvironment *sharedSSKEnvironment;
return _objectReadWriteConnection; return _objectReadWriteConnection;
} }
} }
- (YapDatabaseConnection *)sessionStoreDBConnection {
@synchronized(self) {
if (!_sessionStoreDBConnection) {
_sessionStoreDBConnection = self.primaryStorage.newDatabaseConnection;
}
return _sessionStoreDBConnection;
}
}
- (YapDatabaseConnection *)migrationDBConnection {
@synchronized(self) {
if (!_migrationDBConnection) {
_migrationDBConnection = self.primaryStorage.newDatabaseConnection;
}
return _migrationDBConnection;
}
}
- (YapDatabaseConnection *)analyticsDBConnection {
@synchronized(self) {
if (!_analyticsDBConnection) {
_analyticsDBConnection = self.primaryStorage.newDatabaseConnection;
}
return _analyticsDBConnection;
}
}
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

@ -2,8 +2,9 @@
// Copyright (c) 2018 Open Whisper Systems. All rights reserved. // Copyright (c) 2018 Open Whisper Systems. All rights reserved.
// //
#import "OWSPrimaryStorage+SessionStore.h"
#import "OWSFileSystem.h" #import "OWSFileSystem.h"
#import "OWSPrimaryStorage+SessionStore.h"
#import "SSKEnvironment.h"
#import "YapDatabaseConnection+OWS.h" #import "YapDatabaseConnection+OWS.h"
#import "YapDatabaseTransaction+OWS.h" #import "YapDatabaseTransaction+OWS.h"
#import <AxolotlKit/SessionRecord.h> #import <AxolotlKit/SessionRecord.h>
@ -23,14 +24,7 @@ NSString *const kSessionStoreDBConnectionKey = @"kSessionStoreDBConnectionKey";
*/ */
+ (YapDatabaseConnection *)sessionStoreDBConnection + (YapDatabaseConnection *)sessionStoreDBConnection
{ {
static dispatch_once_t onceToken; return SSKEnvironment.shared.sessionStoreDBConnection;
static YapDatabaseConnection *sessionStoreDBConnection;
dispatch_once(&onceToken, ^{
sessionStoreDBConnection = [OWSPrimaryStorage sharedManager].newDatabaseConnection;
sessionStoreDBConnection.objectCacheEnabled = NO;
});
return sessionStoreDBConnection;
} }
- (YapDatabaseConnection *)sessionStoreDBConnection - (YapDatabaseConnection *)sessionStoreDBConnection

Loading…
Cancel
Save