~aleteoryx/muditaos

857481e031e5840eef02c31ca3244ef733ec2670 — Adam Dobrowolski 4 years ago 821092e
[EGD-7550] Fixed wrong count request

We should use Interface for information gathering
M module-db/Interface/AlarmEventRecord.cpp => module-db/Interface/AlarmEventRecord.cpp +2 -1
@@ 111,7 111,8 @@ std::unique_ptr<db::query::alarmEvents::GetResult> AlarmEventRecordInterface::ru
std::unique_ptr<db::query::alarmEvents::GetBetweenDatesResult> AlarmEventRecordInterface::runQueryImplGetBetweenDates(
    std::shared_ptr<db::query::alarmEvents::GetBetweenDates> 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);


M module-db/Tables/AlarmEventsTable.cpp => module-db/Tables/AlarmEventsTable.cpp +5 -5
@@ 168,10 168,10 @@ std::vector<AlarmEventsTableRow> AlarmEventsTable::getLimitOffsetByField(uint32_
    return retQueryUnpack(std::move(retQuery));
}

std::pair<std::vector<AlarmEventsTableRow>, std::uint32_t> AlarmEventsTable::getBetweenDates(TimePoint startDate,
                                                                                             TimePoint endDate,
                                                                                             std::uint32_t offset,
                                                                                             std::uint32_t limit)
std::vector<AlarmEventsTableRow> 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::vector<AlarmEventsTableRow>, std::uint32_t> AlarmEventsTable::get
                              limit,
                              offset);

    return {retQueryUnpack(std::move(retQuery)), count()};
    return retQueryUnpack(std::move(retQuery));
}

std::vector<AlarmEventsTableRow> AlarmEventsTable::getRecurringBetweenDates(TimePoint startDate,

M module-db/Tables/AlarmEventsTable.hpp => module-db/Tables/AlarmEventsTable.hpp +1 -1
@@ 63,7 63,7 @@ class AlarmEventsTable : public Table<AlarmEventsTableRow, AlarmEventsTableField
    auto getLimitOffsetByField(uint32_t offset, uint32_t limit, AlarmEventsTableFields field, const char *str)
        -> std::vector<AlarmEventsTableRow> override;
    auto getBetweenDates(TimePoint startDate, TimePoint endDate, std::uint32_t offset, std::uint32_t limit)
        -> std::pair<std::vector<AlarmEventsTableRow>, std::uint32_t>;
        -> std::vector<AlarmEventsTableRow>;
    auto getRecurringBetweenDates(TimePoint startDate, TimePoint endDate, uint32_t offset, uint32_t limit)
        -> std::vector<AlarmEventsTableRow>;
    auto getNext(TimePoint start, uint32_t offset, uint32_t limit) -> std::vector<AlarmEventsTableRow>;