From 6b93b7c8c7146f587f585a62d431e5abe9953b8e Mon Sep 17 00:00:00 2001 From: Benjamin Reis Date: Tue, 28 Nov 2017 11:47:59 +0100 Subject: [PATCH] keep removing soci workaround --- src/db/main-db.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/db/main-db.cpp b/src/db/main-db.cpp index 8e0fc9d1e..ee45b91c2 100644 --- a/src/db/main-db.cpp +++ b/src/db/main-db.cpp @@ -1470,10 +1470,10 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), return events; } + const long long &dbChatRoomId = d->selectChatRoomId(chatRoomId); string query = "SELECT id, type, creation_time FROM event" " WHERE id IN (" - " SELECT event_id FROM conference_event WHERE chat_room_id = " + - Utils::toString(d->selectChatRoomId(chatRoomId)) + + " SELECT event_id FROM conference_event WHERE chat_room_id = :chatRoomId" " )"; query += buildSqlEventFilter({ ConferenceCallFilter, ConferenceChatMessageFilter, ConferenceInfoFilter @@ -1499,7 +1499,7 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), soci::session *session = d->dbSession.getBackendSession(); soci::transaction tr(*session); - soci::rowset rows = (session->prepare << query); + soci::rowset rows = (session->prepare << query, soci::use(dbChatRoomId)); for (const auto &row : rows) { long long eventId = d->resolveId(row, 0); shared_ptr event = d->getEventFromCache(eventId); @@ -1607,13 +1607,14 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), } else if (capabilities & static_cast(ChatRoom::Capabilities::Conference)) { list> participants; + const long long &dbChatRoomId = d->resolveId(row, 0); string query = "SELECT sip_address.value, is_admin" " FROM sip_address, chat_room, chat_room_participant" - " WHERE chat_room.id = " + Utils::toString(d->resolveId(row, 0)) + + " WHERE chat_room.id = :chatRoomId" " AND sip_address.id = chat_room_participant.participant_sip_address_id" " AND chat_room_participant.chat_room_id = chat_room.id"; - soci::rowset rows = (session->prepare << query); + soci::rowset rows = (session->prepare << query, soci::use(dbChatRoomId)); shared_ptr me; for (const auto &row : rows) { shared_ptr participant = make_shared(IdentityAddress(row.get(0))); @@ -1776,7 +1777,7 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), const tm &creationTime = Utils::getTimeTAsTm(message.get(LEGACY_MESSAGE_COL_DATE, 0)); bool isNull; - const string &url = getValueFromLegacyMessage(message, LEGACY_MESSAGE_COL_URL, isNull); + getValueFromLegacyMessage(message, LEGACY_MESSAGE_COL_URL, isNull); const int &contentId = message.get(LEGACY_MESSAGE_COL_CONTENT_ID, -1); ContentType contentType(message.get(LEGACY_MESSAGE_COL_CONTENT_TYPE, ""));