aboutsummaryrefslogtreecommitdiff
path: root/roomserver/internal/query
diff options
context:
space:
mode:
authorNeil Alexander <neilalexander@users.noreply.github.com>2022-02-11 17:40:14 +0000
committerGitHub <noreply@github.com>2022-02-11 17:40:14 +0000
commit5106cc807cf22a95420b24f6bfdd5c9ac8aa06de (patch)
treed1da67b5a150ca40a9e572eed6f2550000e0475e /roomserver/internal/query
parenta4e7d471af7e2cf902404f6740f0932a088cb660 (diff)
Ensure only one transaction is used for RS input per room (#2178)
* Ensure the input API only uses a single transaction * Remove more of the dead query API call * Tidy up * Fix tests hopefully * Don't do unnecessary work for rooms that don't exist * Improve error, fix another case where transaction wasn't used properly * Add a unit test for checking single transaction on RS input API * Fix logic oops when deciding whether to use a transaction in storeEvent
Diffstat (limited to 'roomserver/internal/query')
-rw-r--r--roomserver/internal/query/query.go33
1 files changed, 0 insertions, 33 deletions
diff --git a/roomserver/internal/query/query.go b/roomserver/internal/query/query.go
index 05cd686f..c8bbe770 100644
--- a/roomserver/internal/query/query.go
+++ b/roomserver/internal/query/query.go
@@ -125,39 +125,6 @@ func (r *Queryer) QueryStateAfterEvents(
return nil
}
-// QueryMissingAuthPrevEvents implements api.RoomserverInternalAPI
-func (r *Queryer) QueryMissingAuthPrevEvents(
- ctx context.Context,
- request *api.QueryMissingAuthPrevEventsRequest,
- response *api.QueryMissingAuthPrevEventsResponse,
-) error {
- info, err := r.DB.RoomInfo(ctx, request.RoomID)
- if err != nil {
- return err
- }
- if info == nil {
- return errors.New("room doesn't exist")
- }
-
- response.RoomExists = !info.IsStub
- response.RoomVersion = info.RoomVersion
-
- for _, authEventID := range request.AuthEventIDs {
- if nids, err := r.DB.EventNIDs(ctx, []string{authEventID}); err != nil || len(nids) == 0 {
- response.MissingAuthEventIDs = append(response.MissingAuthEventIDs, authEventID)
- }
- }
-
- for _, prevEventID := range request.PrevEventIDs {
- state, err := r.DB.StateAtEventIDs(ctx, []string{prevEventID})
- if err != nil || len(state) == 0 || (!state[0].IsCreate() && state[0].BeforeStateSnapshotNID == 0) {
- response.MissingPrevEventIDs = append(response.MissingPrevEventIDs, prevEventID)
- }
- }
-
- return nil
-}
-
// QueryEventsByID implements api.RoomserverInternalAPI
func (r *Queryer) QueryEventsByID(
ctx context.Context,