mirror of
https://github.com/matrix-construct/construct
synced 2024-11-29 18:22:50 +01:00
ircd:Ⓜ️:event: Add conditions to efficiently handle event::idx sentinel value.
This commit is contained in:
parent
0efc56c9c7
commit
1744ee065b
1 changed files with 14 additions and 11 deletions
|
@ -1101,11 +1101,6 @@ ircd::m::get(std::nothrow_t,
|
|||
const string_view &key,
|
||||
const event::fetch::view_closure &closure)
|
||||
{
|
||||
const string_view &column_key
|
||||
{
|
||||
byte_view<string_view>{event_idx}
|
||||
};
|
||||
|
||||
const auto &column_idx
|
||||
{
|
||||
json::indexof<event>(key)
|
||||
|
@ -1116,6 +1111,14 @@ ircd::m::get(std::nothrow_t,
|
|||
dbs::event_column.at(column_idx)
|
||||
};
|
||||
|
||||
if(!event_idx)
|
||||
return false;
|
||||
|
||||
const string_view &column_key
|
||||
{
|
||||
byte_view<string_view>{event_idx}
|
||||
};
|
||||
|
||||
if(column)
|
||||
return column(column_key, std::nothrow, closure);
|
||||
|
||||
|
@ -1175,12 +1178,6 @@ ircd::m::seek(event::fetch &fetch,
|
|||
index(event_id, std::nothrow)
|
||||
};
|
||||
|
||||
if(!event_idx)
|
||||
{
|
||||
fetch.valid = false;
|
||||
return fetch.valid;
|
||||
}
|
||||
|
||||
return seek(fetch, event_idx, event_id, std::nothrow);
|
||||
}
|
||||
|
||||
|
@ -1214,6 +1211,12 @@ ircd::m::seek(event::fetch &fetch,
|
|||
event::id::buf{event_id}:
|
||||
event::id::buf{};
|
||||
|
||||
if(!event_idx)
|
||||
{
|
||||
fetch.valid = false;
|
||||
return fetch.valid;
|
||||
}
|
||||
|
||||
const string_view &key
|
||||
{
|
||||
byte_view<string_view>(event_idx)
|
||||
|
|
Loading…
Reference in a new issue