diff --git a/native/cpp/CommonCpp/NativeModules/AuxUserStoreOperations.h b/native/cpp/CommonCpp/NativeModules/AuxUserStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/AuxUserStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/AuxUserStoreOperations.h @@ -12,8 +12,8 @@ RemoveAuxUserInfosOperation(std::vector ids) : ids{ids} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAuxUserInfos(this->ids); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAuxUserInfos(this->ids); } private: @@ -26,8 +26,8 @@ : auxUserInfo{std::move(auxUserInfo)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceAuxUserInfo(this->auxUserInfo); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceAuxUserInfo(this->auxUserInfo); } private: @@ -36,8 +36,8 @@ class RemoveAllAuxUserInfosOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllAuxUserInfos(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllAuxUserInfos(); } }; diff --git a/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp b/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp --- a/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp +++ b/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp @@ -453,7 +453,7 @@ try { DatabaseManager::getQueryExecutor().beginTransaction(); for (const auto &operation : *storeOpsPtr) { - operation->execute(); + operation->execute(DatabaseIdentifier::MAIN); } if (messages.size() > 0) { DatabaseManager::getQueryExecutor().addOutboundP2PMessages( diff --git a/native/cpp/CommonCpp/NativeModules/CommunityStoreOperations.h b/native/cpp/CommonCpp/NativeModules/CommunityStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/CommunityStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/CommunityStoreOperations.h @@ -12,8 +12,8 @@ RemoveCommunitiesOperation(std::vector ids) : ids{ids} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeCommunities(this->ids); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeCommunities(this->ids); } private: @@ -26,8 +26,8 @@ : community{std::move(community)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceCommunity(this->community); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceCommunity(this->community); } private: @@ -36,8 +36,8 @@ class RemoveAllCommunitiesOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllCommunities(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllCommunities(); } }; diff --git a/native/cpp/CommonCpp/NativeModules/DBOperationBase.h b/native/cpp/CommonCpp/NativeModules/DBOperationBase.h --- a/native/cpp/CommonCpp/NativeModules/DBOperationBase.h +++ b/native/cpp/CommonCpp/NativeModules/DBOperationBase.h @@ -1,10 +1,12 @@ #pragma once +#include "../DatabaseManagers/DatabaseIdentifier.h" + namespace comm { class DBOperationBase { public: - virtual void execute() = 0; + virtual void execute(DatabaseIdentifier id) = 0; virtual ~DBOperationBase(){}; }; diff --git a/native/cpp/CommonCpp/NativeModules/DMOperationStoreOperations.h b/native/cpp/CommonCpp/NativeModules/DMOperationStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/DMOperationStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/DMOperationStoreOperations.h @@ -11,8 +11,8 @@ RemoveDMOperationsOperation(std::vector ids) : ids{ids} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeDMOperations(this->ids); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeDMOperations(this->ids); } private: @@ -25,8 +25,8 @@ : operation{std::move(operation)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceDMOperation(this->operation); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceDMOperation(this->operation); } private: @@ -35,8 +35,8 @@ class RemoveAllDMOperationsOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllDMOperations(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllDMOperations(); } }; diff --git a/native/cpp/CommonCpp/NativeModules/DraftStoreOperations.h b/native/cpp/CommonCpp/NativeModules/DraftStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/DraftStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/DraftStoreOperations.h @@ -14,8 +14,8 @@ : key{payload.getProperty(rt, "key").asString(rt).utf8(rt)}, text{payload.getProperty(rt, "text").asString(rt).utf8(rt)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().updateDraft(this->key, this->text); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).updateDraft(this->key, this->text); } private: @@ -29,8 +29,8 @@ : oldKey{payload.getProperty(rt, "oldKey").asString(rt).utf8(rt)}, newKey{payload.getProperty(rt, "newKey").asString(rt).utf8(rt)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().moveDraft(this->oldKey, this->newKey); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).moveDraft(this->oldKey, this->newKey); } private: @@ -40,8 +40,8 @@ class RemoveAllDraftsOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllDrafts(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllDrafts(); } }; @@ -56,8 +56,8 @@ } } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeDrafts(this->idsToRemove); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeDrafts(this->idsToRemove); } private: diff --git a/native/cpp/CommonCpp/NativeModules/EntryStoreOperations.h b/native/cpp/CommonCpp/NativeModules/EntryStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/EntryStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/EntryStoreOperations.h @@ -11,8 +11,8 @@ RemoveEntriesOperation(std::vector ids) : ids{ids} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeEntries(this->ids); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeEntries(this->ids); } private: @@ -24,8 +24,8 @@ ReplaceEntryOperation(EntryInfo &&entry) : entry{std::move(entry)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceEntry(this->entry); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceEntry(this->entry); } private: @@ -34,8 +34,8 @@ class RemoveAllEntriesOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllEntries(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllEntries(); } }; diff --git a/native/cpp/CommonCpp/NativeModules/IntegrityStoreOperations.h b/native/cpp/CommonCpp/NativeModules/IntegrityStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/IntegrityStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/IntegrityStoreOperations.h @@ -13,8 +13,9 @@ : ids{ids} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeIntegrityThreadHashes(this->ids); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeIntegrityThreadHashes( + this->ids); } private: @@ -28,8 +29,8 @@ : threadHashes{std::move(threadHashes)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceIntegrityThreadHashes( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceIntegrityThreadHashes( this->threadHashes); } @@ -39,8 +40,8 @@ class RemoveAllIntegrityThreadHashesOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllIntegrityThreadHashes(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllIntegrityThreadHashes(); } }; diff --git a/native/cpp/CommonCpp/NativeModules/KeyserverStoreOperations.h b/native/cpp/CommonCpp/NativeModules/KeyserverStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/KeyserverStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/KeyserverStoreOperations.h @@ -12,8 +12,8 @@ RemoveKeyserversOperation(std::vector ids) : ids{ids} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeKeyservers(this->ids); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeKeyservers(this->ids); } private: @@ -26,8 +26,8 @@ : keyserver{std::move(keyserver)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceKeyserver(this->keyserver); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceKeyserver(this->keyserver); } private: @@ -36,8 +36,8 @@ class RemoveAllKeyserversOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllKeyservers(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllKeyservers(); } }; diff --git a/native/cpp/CommonCpp/NativeModules/MessageSearchStoreOperations.h b/native/cpp/CommonCpp/NativeModules/MessageSearchStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/MessageSearchStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/MessageSearchStoreOperations.h @@ -20,8 +20,8 @@ content{payload.getProperty(rt, "content").asString(rt).utf8(rt)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().updateMessageSearchIndex( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).updateMessageSearchIndex( this->originalMessageID, this->messageID, this->content); } @@ -39,8 +39,8 @@ : messageID{payload.getProperty(rt, "messageID").asString(rt).utf8(rt)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().deleteMessageFromSearchIndex( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).deleteMessageFromSearchIndex( this->messageID); } diff --git a/native/cpp/CommonCpp/NativeModules/MessageStoreOperations.h b/native/cpp/CommonCpp/NativeModules/MessageStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/MessageStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/MessageStoreOperations.h @@ -20,9 +20,10 @@ } } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeMessages(this->msg_ids_to_remove); - DatabaseManager::getQueryExecutor().removeMediaForMessages( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeMessages( + this->msg_ids_to_remove); + DatabaseManager::getQueryExecutor(id).removeMediaForMessages( this->msg_ids_to_remove); } @@ -44,10 +45,11 @@ } } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeMessagesForThreads( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeMessagesForThreads( + this->thread_ids); + DatabaseManager::getQueryExecutor(id).removeMediaForThreads( this->thread_ids); - DatabaseManager::getQueryExecutor().removeMediaForThreads(this->thread_ids); } private: @@ -109,7 +111,7 @@ } } - virtual void execute() override { + virtual void execute(DatabaseIdentifier id) override { DatabaseManager::getQueryExecutor().removeMediaForMessage(msg->id); for (auto &&media : this->media_vector) { DatabaseManager::getQueryExecutor().replaceMedia(std::move(*media)); @@ -129,9 +131,9 @@ this->to = payload.getProperty(rt, "to").asString(rt).utf8(rt); } - virtual void execute() override { - DatabaseManager::getQueryExecutor().rekeyMessage(this->from, this->to); - DatabaseManager::getQueryExecutor().rekeyMediaContainers( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).rekeyMessage(this->from, this->to); + DatabaseManager::getQueryExecutor(id).rekeyMediaContainers( this->from, this->to); } @@ -142,9 +144,9 @@ class RemoveAllMessagesOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllMessages(); - DatabaseManager::getQueryExecutor().removeAllMedia(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllMessages(); + DatabaseManager::getQueryExecutor(id).removeAllMedia(); } }; @@ -165,8 +167,8 @@ } } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceMessageStoreThreads( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceMessageStoreThreads( this->msg_threads); } @@ -176,8 +178,8 @@ class RemoveAllMessageStoreThreadsOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllMessageStoreThreads(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllMessageStoreThreads(); } }; @@ -194,8 +196,8 @@ } } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeMessageStoreThreads( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeMessageStoreThreads( this->thread_ids); } @@ -216,8 +218,8 @@ } } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeMessageStoreLocalMessageInfos( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeMessageStoreLocalMessageInfos( this->ids); } @@ -238,8 +240,8 @@ this->localMessageInfo = LocalMessageInfo{id, local_message_info}; } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceMessageStoreLocalMessageInfo( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceMessageStoreLocalMessageInfo( this->localMessageInfo); } @@ -249,8 +251,8 @@ class RemoveAllMessageStoreLocalMessageInfosOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor() + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id) .removeAllMessageStoreLocalMessageInfos(); } }; diff --git a/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/DataStores/BaseDataStore.h b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/DataStores/BaseDataStore.h --- a/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/DataStores/BaseDataStore.h +++ b/native/cpp/CommonCpp/NativeModules/PersistentStorageUtilities/DataStores/BaseDataStore.h @@ -49,7 +49,7 @@ try { DatabaseManager::getQueryExecutor().beginTransaction(); for (const auto &operation : storeOps) { - operation->execute(); + operation->execute(DatabaseIdentifier::MAIN); } DatabaseManager::captureBackupLogs(); DatabaseManager::getQueryExecutor().commitTransaction(); diff --git a/native/cpp/CommonCpp/NativeModules/ReportStoreOperations.h b/native/cpp/CommonCpp/NativeModules/ReportStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/ReportStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/ReportStoreOperations.h @@ -19,8 +19,8 @@ } } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeReports(this->ids_to_remove); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeReports(this->ids_to_remove); } private: @@ -35,8 +35,9 @@ this->report = std::make_unique(Report{report_id, report_data}); } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceReport(std::move(*this->report)); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceReport( + std::move(*this->report)); } private: @@ -45,8 +46,8 @@ class RemoveAllReportsOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllReports(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllReports(); } }; diff --git a/native/cpp/CommonCpp/NativeModules/SyncedMetadataStoreOperations.h b/native/cpp/CommonCpp/NativeModules/SyncedMetadataStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/SyncedMetadataStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/SyncedMetadataStoreOperations.h @@ -12,7 +12,7 @@ RemoveSyncedMetadataOperation(std::vector names) : names{names} { } - virtual void execute() override { + virtual void execute(DatabaseIdentifier id) override { DatabaseManager::getQueryExecutor().removeSyncedMetadata(this->names); } @@ -26,8 +26,8 @@ : syncedMetadataEntry{std::move(syncedMetadataEntry)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceSyncedMetadataEntry( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceSyncedMetadataEntry( this->syncedMetadataEntry); } @@ -37,8 +37,8 @@ class RemoveAllSyncedMetadataOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllSyncedMetadata(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllSyncedMetadata(); } }; diff --git a/native/cpp/CommonCpp/NativeModules/ThreadActivityStoreOperations.h b/native/cpp/CommonCpp/NativeModules/ThreadActivityStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/ThreadActivityStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/ThreadActivityStoreOperations.h @@ -13,8 +13,9 @@ : ids{ids} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeThreadActivityEntries(this->ids); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeThreadActivityEntries( + this->ids); } private: @@ -27,8 +28,8 @@ : threadActivityEntry{std::move(threadActivityEntry)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceThreadActivityEntry( + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceThreadActivityEntry( this->threadActivityEntry); } @@ -38,8 +39,8 @@ class RemoveAllThreadActivityEntriesOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllThreadActivityEntries(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllThreadActivityEntries(); } }; diff --git a/native/cpp/CommonCpp/NativeModules/ThreadStoreOperations.h b/native/cpp/CommonCpp/NativeModules/ThreadStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/ThreadStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/ThreadStoreOperations.h @@ -13,8 +13,8 @@ RemoveThreadsOperation(std::vector ids) : ids{ids} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeThreads(this->ids); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeThreads(this->ids); } private: @@ -26,8 +26,8 @@ ReplaceThreadOperation(Thread &&thread) : thread{std::move(thread)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceThread(this->thread); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceThread(this->thread); } private: @@ -36,8 +36,8 @@ class RemoveAllThreadsOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllThreads(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllThreads(); } }; diff --git a/native/cpp/CommonCpp/NativeModules/UserStoreOperations.h b/native/cpp/CommonCpp/NativeModules/UserStoreOperations.h --- a/native/cpp/CommonCpp/NativeModules/UserStoreOperations.h +++ b/native/cpp/CommonCpp/NativeModules/UserStoreOperations.h @@ -12,8 +12,8 @@ RemoveUsersOperation(std::vector ids) : ids{ids} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeUsers(this->ids); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeUsers(this->ids); } private: @@ -25,8 +25,8 @@ ReplaceUserOperation(UserInfo &&user) : user{std::move(user)} { } - virtual void execute() override { - DatabaseManager::getQueryExecutor().replaceUser(this->user); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).replaceUser(this->user); } private: @@ -35,8 +35,8 @@ class RemoveAllUsersOperation : public DBOperationBase { public: - virtual void execute() override { - DatabaseManager::getQueryExecutor().removeAllUsers(); + virtual void execute(DatabaseIdentifier id) override { + DatabaseManager::getQueryExecutor(id).removeAllUsers(); } };