From ca39d51bcbf30db438bbca88d1fcc67d28435dec Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Wed, 25 Apr 2018 11:00:13 +0200 Subject: [PATCH] Delete client group existing one-to-one chat rooms at start-up to use basic chat rooms instead for the moment. --- src/db/main-db.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/db/main-db.cpp b/src/db/main-db.cpp index f61f8875a..57fb441d4 100644 --- a/src/db/main-db.cpp +++ b/src/db/main-db.cpp @@ -47,7 +47,7 @@ using namespace std; LINPHONE_BEGIN_NAMESPACE namespace { - constexpr unsigned int ModuleVersionEvents = makeVersion(1, 0, 2); + constexpr unsigned int ModuleVersionEvents = makeVersion(1, 0, 3); constexpr unsigned int ModuleVersionFriends = makeVersion(1, 0, 0); constexpr unsigned int ModuleVersionLegacyFriendsImport = makeVersion(1, 0, 0); constexpr unsigned int ModuleVersionLegacyHistoryImport = makeVersion(1, 0, 0); @@ -977,6 +977,8 @@ void MainDbPrivate::updateModuleVersion (const string &name, unsigned int versio } void MainDbPrivate::updateSchema () { + L_Q(); + soci::session *session = dbSession.getBackendSession(); unsigned int version = getModuleVersion("events"); @@ -987,6 +989,15 @@ void MainDbPrivate::updateSchema () { *session << "ALTER TABLE chat_message_participant ADD COLUMN state_change_time" + dbSession.timestampType() + " NOT NULL DEFAULT " + dbSession.currentTimestamp(); } + if (version < makeVersion(1, 0, 3)) { + // Remove client group one-to-one chat rooms for the moment as there are still some issues + // with them and we prefer to keep using basic chat rooms instead + const int &capabilities = ChatRoom::CapabilitiesMask(ChatRoom::Capabilities::Conference) + | ChatRoom::CapabilitiesMask(ChatRoom::Capabilities::OneToOne); + *session << "DELETE FROM chat_room WHERE (capabilities & :capabilities1) == :capabilities2", + soci::use(capabilities), soci::use(capabilities); + linphone_config_set_bool(linphone_core_get_config(q->getCore()->getCCore()), "misc", "prefer_basic_chat_room", TRUE); + } } // -----------------------------------------------------------------------------