Fix database handling issues
This commit is contained in:
parent
c0dda78e52
commit
1c44a65f2c
|
@ -142,7 +142,7 @@ public final class LokiAPI : NSObject {
|
|||
destinations.append(contentsOf: slaveDestinations)
|
||||
seal.fulfill(destinations)
|
||||
}
|
||||
if let transaction = transaction {
|
||||
if let transaction = transaction, transaction.connection.pendingTransactionCount != 0 {
|
||||
getDestinationsInternal(in: transaction)
|
||||
} else {
|
||||
storage.dbReadConnection.read { transaction in
|
||||
|
|
|
@ -57,7 +57,7 @@ public class LokiDotNetAPI : NSObject {
|
|||
func setAuthTokenInternal(in transaction: YapDatabaseReadWriteTransaction) {
|
||||
transaction.setObject(newValue, forKey: server, inCollection: authTokenCollection)
|
||||
}
|
||||
if let transaction = transaction {
|
||||
if let transaction = transaction, transaction.connection.pendingTransactionCount != 0 {
|
||||
setAuthTokenInternal(in: transaction)
|
||||
} else {
|
||||
storage.dbReadWriteConnection.readWrite { transaction in
|
||||
|
|
|
@ -76,9 +76,16 @@ public final class LokiFileServerAPI : LokiDotNetAPI {
|
|||
}
|
||||
})
|
||||
}.map(on: DispatchQueue.global()) { deviceLinks -> Set<DeviceLink> in
|
||||
storage.dbReadWriteConnection.readWrite { transaction in
|
||||
func setDeviceLinks(in transaction: YapDatabaseReadWriteTransaction) {
|
||||
storage.setDeviceLinks(deviceLinks, in: transaction)
|
||||
}
|
||||
if let transaction = transaction, transaction.connection.pendingTransactionCount != 0 {
|
||||
setDeviceLinks(in: transaction)
|
||||
} else {
|
||||
storage.dbReadWriteConnection.readWrite { transaction in
|
||||
setDeviceLinks(in: transaction)
|
||||
}
|
||||
}
|
||||
return deviceLinks
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue