mirror of
https://github.com/matrix-org/dendrite.git
synced 2026-01-08 14:43:09 -06:00
Try this again
This commit is contained in:
parent
158ffa4ded
commit
ba8e1607e2
|
|
@ -440,7 +440,6 @@ func (d *Database) events(
|
||||||
inCache := make([]bool, len(inputEventNIDs))
|
inCache := make([]bool, len(inputEventNIDs))
|
||||||
inDatabase := make([]types.EventNID, 0, len(results))
|
inDatabase := make([]types.EventNID, 0, len(results))
|
||||||
for i, nid := range inputEventNIDs {
|
for i, nid := range inputEventNIDs {
|
||||||
positions[nid] = i
|
|
||||||
if event, ok := d.Cache.GetRoomServerEvent(nid); ok && event != nil {
|
if event, ok := d.Cache.GetRoomServerEvent(nid); ok && event != nil {
|
||||||
results[i] = types.Event{
|
results[i] = types.Event{
|
||||||
EventNID: nid,
|
EventNID: nid,
|
||||||
|
|
@ -449,6 +448,7 @@ func (d *Database) events(
|
||||||
inCache[i] = true
|
inCache[i] = true
|
||||||
} else {
|
} else {
|
||||||
inDatabase = append(inDatabase, nid)
|
inDatabase = append(inDatabase, nid)
|
||||||
|
positions[nid] = i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
eventJSONs, err := d.EventJSONTable.BulkSelectEventJSON(ctx, txn, inDatabase)
|
eventJSONs, err := d.EventJSONTable.BulkSelectEventJSON(ctx, txn, inDatabase)
|
||||||
|
|
@ -487,21 +487,23 @@ func (d *Database) events(
|
||||||
roomVersions[n] = v
|
roomVersions[n] = v
|
||||||
}
|
}
|
||||||
for _, eventJSON := range eventJSONs {
|
for _, eventJSON := range eventJSONs {
|
||||||
eventNID := eventJSON.EventNID
|
result := types.Event{
|
||||||
roomNID := roomNIDs[eventNID]
|
EventNID: eventJSON.EventNID,
|
||||||
roomVersion := roomVersions[roomNID]
|
}
|
||||||
event, err := gomatrixserverlib.NewEventFromTrustedJSONWithEventID(
|
roomNID := roomNIDs[result.EventNID]
|
||||||
eventIDs[eventNID], eventJSON.EventJSON, false, roomVersion,
|
result.Event, err = gomatrixserverlib.NewEventFromTrustedJSONWithEventID(
|
||||||
|
eventIDs[result.EventNID], eventJSON.EventJSON, false, roomVersions[roomNID],
|
||||||
)
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
results[positions[eventNID]] = types.Event{
|
pos, ok := positions[result.EventNID]
|
||||||
EventNID: eventJSON.EventNID,
|
if !ok {
|
||||||
Event: event,
|
panic("should have position")
|
||||||
}
|
}
|
||||||
if event != nil {
|
results[pos] = result
|
||||||
d.Cache.StoreRoomServerEvent(eventJSON.EventNID, event)
|
if result.Event != nil {
|
||||||
|
d.Cache.StoreRoomServerEvent(result.EventNID, result.Event)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !redactionsArePermanent {
|
if !redactionsArePermanent {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue