mirror of
https://github.com/matrix-construct/construct
synced 2024-09-27 11:18:51 +02:00
ircd:Ⓜ️:event::fetch: Optimize row-assigned fetch event_id query related.
This commit is contained in:
parent
fc9c952ba8
commit
b2da14b6fc
1 changed files with 15 additions and 6 deletions
|
@ -335,17 +335,26 @@ try
|
|||
|
||||
event.source = {};
|
||||
assign(event, row, key);
|
||||
const auto event_id
|
||||
|
||||
// N.B. a row assignment might not produce an event.event_id unless
|
||||
// the key is explicitly selected or it was otherwise trivially found.
|
||||
event.event_id =
|
||||
{
|
||||
event.event_id?
|
||||
event.event_id:
|
||||
|
||||
!empty(json::get<"event_id"_>(event))?
|
||||
id{json::get<"event_id"_>(event)}:
|
||||
event::id{json::get<"event_id"_>(event)}:
|
||||
|
||||
event_id_buf?
|
||||
id{event_id_buf}:
|
||||
m::event_id(std::nothrow, event_idx, event_id_buf)
|
||||
event::id{event_id_buf}:
|
||||
|
||||
cell.at(json::indexof<m::event, "event_id"_>())?
|
||||
event::id{cell.at(json::indexof<m::event, "event_id"_>()).val()}:
|
||||
|
||||
event::id{}
|
||||
};
|
||||
|
||||
assert(event_id);
|
||||
event.event_id = event_id;
|
||||
return true;
|
||||
}
|
||||
catch(const json::parse_error &e)
|
||||
|
|
Loading…
Reference in a new issue