From 857481e031e5840eef02c31ca3244ef733ec2670 Mon Sep 17 00:00:00 2001 From: Adam Dobrowolski Date: Mon, 27 Sep 2021 13:56:14 +0200 Subject: [PATCH] [EGD-7550] Fixed wrong count request We should use Interface for information gathering --- module-db/Interface/AlarmEventRecord.cpp | 3 ++- module-db/Tables/AlarmEventsTable.cpp | 10 +++++----- module-db/Tables/AlarmEventsTable.hpp | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/module-db/Interface/AlarmEventRecord.cpp b/module-db/Interface/AlarmEventRecord.cpp index 9d9eee742428c0c22379a69b7816ffaa71f0d399..58285a7c9f5b7b2d857a2d4f0cc1c0124cc6d9cf 100644 --- a/module-db/Interface/AlarmEventRecord.cpp +++ b/module-db/Interface/AlarmEventRecord.cpp @@ -111,7 +111,8 @@ std::unique_ptr AlarmEventRecordInterface::ru std::unique_ptr AlarmEventRecordInterface::runQueryImplGetBetweenDates( std::shared_ptr query) { - const auto [alarmEventsRows, count] = + const auto count = eventsDB->alarmEvents.count(); + const auto alarmEventsRows = eventsDB->alarmEvents.getBetweenDates(query->start, query->end, query->offset, query->limit); const auto recordVector = generateRecordsVector(alarmEventsRows); diff --git a/module-db/Tables/AlarmEventsTable.cpp b/module-db/Tables/AlarmEventsTable.cpp index c519b2d0d889d979b1aa583efb8fc72d6d2f3800..fa4419f81756f8859c6940837be5138d5b05bd3c 100644 --- a/module-db/Tables/AlarmEventsTable.cpp +++ b/module-db/Tables/AlarmEventsTable.cpp @@ -168,10 +168,10 @@ std::vector AlarmEventsTable::getLimitOffsetByField(uint32_ return retQueryUnpack(std::move(retQuery)); } -std::pair, std::uint32_t> AlarmEventsTable::getBetweenDates(TimePoint startDate, - TimePoint endDate, - std::uint32_t offset, - std::uint32_t limit) +std::vector AlarmEventsTable::getBetweenDates(TimePoint startDate, + TimePoint endDate, + std::uint32_t offset, + std::uint32_t limit) { auto retQuery = db->query("SELECT * FROM events e " "JOIN alarm_events ae ON ae.event_id = e._id " @@ -182,7 +182,7 @@ std::pair, std::uint32_t> AlarmEventsTable::get limit, offset); - return {retQueryUnpack(std::move(retQuery)), count()}; + return retQueryUnpack(std::move(retQuery)); } std::vector AlarmEventsTable::getRecurringBetweenDates(TimePoint startDate, diff --git a/module-db/Tables/AlarmEventsTable.hpp b/module-db/Tables/AlarmEventsTable.hpp index e62186322477fa3165a2beb16228a6f45296c432..d91b90a89bde3dbb69781a74a18b1d96ac09bd54 100644 --- a/module-db/Tables/AlarmEventsTable.hpp +++ b/module-db/Tables/AlarmEventsTable.hpp @@ -63,7 +63,7 @@ class AlarmEventsTable : public Table std::vector override; auto getBetweenDates(TimePoint startDate, TimePoint endDate, std::uint32_t offset, std::uint32_t limit) - -> std::pair, std::uint32_t>; + -> std::vector; auto getRecurringBetweenDates(TimePoint startDate, TimePoint endDate, uint32_t offset, uint32_t limit) -> std::vector; auto getNext(TimePoint start, uint32_t offset, uint32_t limit) -> std::vector;