From 04168f9b48549cfa99416724e145df0b2abb9daa Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Fri, 1 Dec 2017 11:18:56 +0100 Subject: [PATCH] feat(MainDb): return empty data on soci exceptions --- src/db/main-db.cpp | 47 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 11 deletions(-) diff --git a/src/db/main-db.cpp b/src/db/main-db.cpp index 376a41663..f1f65dcf6 100644 --- a/src/db/main-db.cpp +++ b/src/db/main-db.cpp @@ -1260,9 +1260,12 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), tr.commit(); + return true; + L_END_LOG_EXCEPTION - return true; + // Error. + return false; } bool MainDb::deleteEvent (const shared_ptr &eventLog) { @@ -1298,6 +1301,7 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), L_END_LOG_EXCEPTION + // Error. return false; } @@ -1394,13 +1398,13 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), L_D(); + list> events; + if (!isConnected()) { lWarning() << "Unable to get conference notified events. Not connected."; - return list>(); + return events; } - list> events; - DurationLogger durationLogger( "Get conference notified events of: (peer=" + chatRoomId.getPeerAddress().asString() + ", local=" + chatRoomId.getLocalAddress().asString() + @@ -1427,9 +1431,12 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), )); } + return events; + L_END_LOG_EXCEPTION - return events; + // Error. + return list>(); } int MainDb::getChatMessagesCount (const ChatRoomId &chatRoomId) const { @@ -1552,6 +1559,11 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), list> chatMessages; + if (!isConnected()) { + lWarning() << "Unable to get unread chat messages. Not connected."; + return chatMessages; + } + string query = "SELECT event_id, creation_time FROM conference_chat_message_event WHERE"; if (chatRoomId.isValid()) query += " event_id IN (" @@ -1595,9 +1607,12 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), chatMessages.push_back(static_pointer_cast(event)->getChatMessage()); } + return chatMessages; + L_END_LOG_EXCEPTION - return chatMessages; + // Error. + return list>(); } shared_ptr MainDb::getLastChatMessage (const ChatRoomId &chatRoomId) const { @@ -1659,9 +1674,12 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), lWarning() << "Unable to fetch event: " << eventId; } + return chatMessages; + L_END_LOG_EXCEPTION - return chatMessages; + // Error. + return list>(); } list> MainDb::getHistory (const ChatRoomId &chatRoomId, int nLast, FilterMask mask) const { @@ -1739,9 +1757,12 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), lWarning() << "Unable to fetch event: " << eventId; } + return events; + L_END_LOG_EXCEPTION - return events; + // Error. + return list>(); } void MainDb::cleanHistory (const ChatRoomId &chatRoomId, FilterMask mask) { @@ -1785,13 +1806,14 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), L_D(); + list> chatRooms; + if (!isConnected()) { lWarning() << "Unable to get chat rooms. Not connected."; - return list>(); + return chatRooms; } shared_ptr core = getCore(); - list> chatRooms; DurationLogger durationLogger("Get chat rooms."); @@ -1875,9 +1897,12 @@ MainDb::MainDb (const shared_ptr &core) : AbstractDb(*new MainDbPrivate), chatRooms.push_back(chatRoom); } + return chatRooms; + L_END_LOG_EXCEPTION - return chatRooms; + // Error. + return list>(); } void MainDb::insertChatRoom (const shared_ptr &chatRoom) {