From beadb7bf7d546498f9fb9b4c8bf444706180c047 Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 24 Nov 2017 14:05:56 +0100 Subject: [PATCH] feat(MainDb): avoid stringstream --- src/db/main-db.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/db/main-db.cpp b/src/db/main-db.cpp index c4ceb2409..e728a1180 100644 --- a/src/db/main-db.cpp +++ b/src/db/main-db.cpp @@ -1345,23 +1345,23 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), return events; } - stringstream query; - query << "SELECT id, type, date FROM event" - " WHERE id IN (" - " SELECT event_id FROM conference_event WHERE chat_room_id = " << d->selectChatRoomId(chatRoomId) << - " )"; - query << buildSqlEventFilter({ + string query = "SELECT id, type, date FROM event" + " WHERE id IN (" + " SELECT event_id FROM conference_event WHERE chat_room_id = " + + Utils::toString(d->selectChatRoomId(chatRoomId)) + + " )"; + query += buildSqlEventFilter({ ConferenceCallFilter, ConferenceChatMessageFilter, ConferenceInfoFilter }, mask, "AND"); - query << " ORDER BY date DESC"; + query += " ORDER BY date DESC"; if (end > 0) - query << " LIMIT " << Utils::toString(end - begin); + query += " LIMIT " + Utils::toString(end - begin); else - query << " LIMIT -1"; + query += " LIMIT -1"; if (begin > 0) - query << " OFFSET " << Utils::toString(begin); + query += " OFFSET " + Utils::toString(begin); DurationLogger durationLogger( "Get history range of: (peer=" + chatRoomId.getPeerAddress().asString() + @@ -1374,7 +1374,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.str());//, soci::use(static_cast(d->selectChatRoomId(chatRoomId)))); + soci::rowset rows = (session->prepare << query); for (const auto &row : rows) { // See: http://soci.sourceforge.net/doc/master/backends/ // `row id` is not supported by soci on Sqlite3. It's necessary to cast id to int...