diff --git a/common/cpp/src/database/mongodb_client.cpp b/common/cpp/src/database/mongodb_client.cpp index 2d27c3c87434a8a54aabfd3abffacbb2fe12739a..ba8969ed7a3d3cd187f46ea5039b65b29c0f3187 100644 --- a/common/cpp/src/database/mongodb_client.cpp +++ b/common/cpp/src/database/mongodb_client.cpp @@ -361,7 +361,7 @@ Error MongoDBClient::GetDataSetById(const std::string &collection, } -Error UpdateStreamInfoFromEarliestRecord(const std::string &earliest_record_str, +Error UpdateStreamInfoFromEarliestRecord(const std::string &earliest_record_str, StreamInfo* info) { std::chrono::system_clock::time_point timestamp_created; auto parser = JsonStringParser(earliest_record_str); @@ -429,6 +429,7 @@ Error MongoDBClient::GetStreamInfo(const std::string &collection, StreamInfo* in auto err = GetRecordFromDb(collection, 0, GetRecordMode::kLast, &last_record_str); if (err) { if (err == DBErrorTemplates::kNoRecord) { // with noRecord error it will return last_id = 0 which can be used to understand that the stream is not started yet + *info = StreamInfo{}; return nullptr; } return err; diff --git a/tests/automatic/mongo_db/insert_retrieve/insert_retrieve_mongodb.cpp b/tests/automatic/mongo_db/insert_retrieve/insert_retrieve_mongodb.cpp index e7724e3c871f8a9cc2672c35b57d1aab9da134da..ac95431b257f15d3cfc9d3279937a7ec042c1fdf 100644 --- a/tests/automatic/mongo_db/insert_retrieve/insert_retrieve_mongodb.cpp +++ b/tests/automatic/mongo_db/insert_retrieve/insert_retrieve_mongodb.cpp @@ -101,15 +101,15 @@ int main(int argc, char* argv[]) { db.Insert("acks_test_blabla1", fi, false); db.DeleteStream("test"); err = db.GetStreamInfo("data_test", &info); - M_AssertTrue(err!=nullptr); + M_AssertTrue(info.last_id == 0); err = db.GetStreamInfo("inprocess_test_blabla", &info); - M_AssertTrue(err!=nullptr); + M_AssertTrue(info.last_id == 0); err = db.GetStreamInfo("inprocess_test_blabla1", &info); - M_AssertTrue(err!=nullptr); + M_AssertTrue(info.last_id == 0); err = db.GetStreamInfo("acks_test_blabla", &info); - M_AssertTrue(err!=nullptr); + M_AssertTrue(info.last_id == 0); err = db.GetStreamInfo("acks_test_blabla1", &info); - M_AssertTrue(err!=nullptr); + M_AssertTrue(info.last_id == 0); err = db.DeleteStream("test1"); M_AssertTrue(err==nullptr); }