Remove an unnecessary database view.
// FREEBIE.
This commit is contained in:
parent
1f1410ffae
commit
bf07a8401e
@ -245,9 +245,23 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
- (TSInteraction *)lastInteractionForInbox
|
||||
{
|
||||
__block TSInteraction *last;
|
||||
__block TSInteraction *last = nil;
|
||||
[TSStorageManager.sharedManager.dbConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) {
|
||||
last = [[transaction ext:TSThreadInboxMessagesDatabaseViewExtensionName] lastObjectInGroup:self.uniqueId];
|
||||
[[transaction ext:TSMessageDatabaseViewExtensionName]
|
||||
enumerateRowsInGroup:self.uniqueId
|
||||
withOptions:NSEnumerationReverse
|
||||
usingBlock:^(
|
||||
NSString *collection, NSString *key, id object, id metadata, NSUInteger index, BOOL *stop) {
|
||||
|
||||
OWSAssert([object isKindOfClass:[TSInteraction class]]);
|
||||
|
||||
TSInteraction *interaction = (TSInteraction *)object;
|
||||
|
||||
if ([TSThread shouldInteractionAppearInInbox:interaction]) {
|
||||
last = interaction;
|
||||
*stop = YES;
|
||||
}
|
||||
}];
|
||||
}];
|
||||
return last;
|
||||
}
|
||||
|
||||
@ -14,7 +14,6 @@ extern NSString *TSSecondaryDevicesGroup;
|
||||
|
||||
extern NSString *TSThreadDatabaseViewExtensionName;
|
||||
extern NSString *TSMessageDatabaseViewExtensionName;
|
||||
extern NSString *TSThreadInboxMessagesDatabaseViewExtensionName;
|
||||
extern NSString *TSThreadIncomingMessageDatabaseViewExtensionName;
|
||||
extern NSString *TSThreadOutgoingMessageDatabaseViewExtensionName;
|
||||
extern NSString *TSUnreadDatabaseViewExtensionName;
|
||||
@ -25,7 +24,6 @@ extern NSString *TSSecondaryDevicesDatabaseViewExtensionName;
|
||||
|
||||
+ (BOOL)registerThreadDatabaseView;
|
||||
+ (BOOL)registerThreadInteractionsDatabaseView;
|
||||
+ (BOOL)registerThreadInboxMessageDatabaseView;
|
||||
+ (BOOL)registerThreadIncomingMessagesDatabaseView;
|
||||
+ (BOOL)registerThreadOutgoingMessagesDatabaseView;
|
||||
|
||||
|
||||
@ -20,7 +20,6 @@ NSString *TSSecondaryDevicesGroup = @"TSSecondaryDevicesGroup";
|
||||
|
||||
NSString *TSThreadDatabaseViewExtensionName = @"TSThreadDatabaseViewExtensionName";
|
||||
NSString *TSMessageDatabaseViewExtensionName = @"TSMessageDatabaseViewExtensionName";
|
||||
NSString *TSThreadInboxMessagesDatabaseViewExtensionName = @"TSThreadInboxMessagesDatabaseViewExtensionName";
|
||||
NSString *TSThreadIncomingMessageDatabaseViewExtensionName = @"TSThreadOutgoingMessageDatabaseViewExtensionName";
|
||||
NSString *TSThreadOutgoingMessageDatabaseViewExtensionName = @"TSThreadOutgoingMessageDatabaseViewExtensionName";
|
||||
NSString *TSUnreadDatabaseViewExtensionName = @"TSUnreadDatabaseViewExtensionName";
|
||||
@ -148,27 +147,6 @@ NSString *TSSecondaryDevicesDatabaseViewExtensionName = @"TSSecondaryDevicesData
|
||||
version:@"1"];
|
||||
}
|
||||
|
||||
+ (BOOL)registerThreadInboxMessageDatabaseView
|
||||
{
|
||||
YapDatabaseViewGrouping *viewGrouping = [YapDatabaseViewGrouping withObjectBlock:^NSString *(
|
||||
YapDatabaseReadTransaction *transaction, NSString *collection, NSString *key, id object) {
|
||||
if ([object isKindOfClass:[TSInteraction class]]) {
|
||||
TSInteraction *interaction = (TSInteraction *)object;
|
||||
if (![TSThread shouldInteractionAppearInInbox:interaction]) {
|
||||
return nil;
|
||||
}
|
||||
return interaction.uniqueThreadId;
|
||||
} else {
|
||||
OWSAssert(0);
|
||||
}
|
||||
return nil;
|
||||
}];
|
||||
|
||||
return [self registerMessageDatabaseViewWithName:TSThreadInboxMessagesDatabaseViewExtensionName
|
||||
viewGrouping:viewGrouping
|
||||
version:@"1"];
|
||||
}
|
||||
|
||||
+ (BOOL)registerThreadIncomingMessagesDatabaseView
|
||||
{
|
||||
YapDatabaseViewGrouping *viewGrouping = [YapDatabaseViewGrouping withObjectBlock:^NSString *(
|
||||
|
||||
@ -193,10 +193,9 @@ static NSString *keychainDBPassAccount = @"TSDatabasePass";
|
||||
|
||||
- (void)setupDatabase
|
||||
{
|
||||
// Register extensions which are essential for rendering threads synchronously
|
||||
// Synchronously register extensions which are essential for views.
|
||||
[TSDatabaseView registerThreadDatabaseView];
|
||||
[TSDatabaseView registerThreadInteractionsDatabaseView];
|
||||
[TSDatabaseView registerThreadInboxMessageDatabaseView];
|
||||
[TSDatabaseView registerThreadIncomingMessagesDatabaseView];
|
||||
[TSDatabaseView registerThreadOutgoingMessagesDatabaseView];
|
||||
[TSDatabaseView registerUnreadDatabaseView];
|
||||
|
||||
Loading…
Reference in New Issue
Block a user