parent
c600827f78
commit
d81e3f94e7
@ -1914,7 +1914,7 @@ Cache::getTimelineIndex(const std::string &room_id, std::string_view event_id)
|
||||
std::optional<uint64_t>
|
||||
Cache::getEventIndex(const std::string &room_id, std::string_view event_id)
|
||||
{
|
||||
if (event_id.empty())
|
||||
if (room_id.empty() || event_id.empty())
|
||||
return {};
|
||||
|
||||
auto txn = ro_txn(env_);
|
||||
@ -1942,7 +1942,7 @@ Cache::getEventIndex(const std::string &room_id, std::string_view event_id)
|
||||
std::optional<std::pair<uint64_t, std::string>>
|
||||
Cache::lastInvisibleEventAfter(const std::string &room_id, std::string_view event_id)
|
||||
{
|
||||
if (event_id.empty())
|
||||
if (room_id.empty() || event_id.empty())
|
||||
return {};
|
||||
|
||||
auto txn = ro_txn(env_);
|
||||
@ -1967,6 +1967,8 @@ Cache::lastInvisibleEventAfter(const std::string &room_id, std::string_view even
|
||||
if (!success) {
|
||||
return {};
|
||||
}
|
||||
|
||||
try {
|
||||
uint64_t prevIdx = lmdb::from_sv<uint64_t>(indexVal);
|
||||
std::string prevId{event_id};
|
||||
|
||||
@ -1984,6 +1986,11 @@ Cache::lastInvisibleEventAfter(const std::string &room_id, std::string_view even
|
||||
}
|
||||
|
||||
return std::pair{prevIdx, std::string(prevId)};
|
||||
} catch (lmdb::runtime_error &e) {
|
||||
nhlog::db()->error(
|
||||
"Failed to get last invisible event after {}", event_id, e.what());
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
std::optional<uint64_t>
|
||||
|
Loading…
Reference in New Issue
Block a user