diff options
author | Erik Johnston <erik@matrix.org> | 2022-04-19 16:49:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-19 16:49:45 +0100 |
commit | c1482a352acd35055db93f5d0b5de1bec8974fa0 (patch) | |
tree | e9f351251f715ead07d69c7ed1e6f80accc4c5c4 | |
parent | Fix `/room/.../event/...` to return the *original* event after any edits (#12... (diff) | |
download | synapse-c1482a352acd35055db93f5d0b5de1bec8974fa0.tar.xz |
Fix returned count of delete extremities admin API (#12496)
-rw-r--r-- | changelog.d/12496.bugfix | 1 | ||||
-rw-r--r-- | synapse/storage/databases/main/events_forward_extremities.py | 8 |
2 files changed, 6 insertions, 3 deletions
diff --git a/changelog.d/12496.bugfix b/changelog.d/12496.bugfix new file mode 100644 index 0000000000..a68df7c96a --- /dev/null +++ b/changelog.d/12496.bugfix @@ -0,0 +1 @@ +Fix bug where the admin API for [deleting forward extremities](https://github.com/matrix-org/synapse/blob/erikj/fix_delete_event_response_count/docs/admin_api/rooms.md#deleting-forward-extremities) would always return a count of 1 no matter how many extremities were deleted. Broke in v1.27.0. diff --git a/synapse/storage/databases/main/events_forward_extremities.py b/synapse/storage/databases/main/events_forward_extremities.py index 68901b4335..f851bff604 100644 --- a/synapse/storage/databases/main/events_forward_extremities.py +++ b/synapse/storage/databases/main/events_forward_extremities.py @@ -66,13 +66,15 @@ class EventForwardExtremitiesStore( """ txn.execute(sql, (event_id, room_id)) + + deleted_count = txn.rowcount logger.info( "Deleted %s extra forward extremities for room %s", - txn.rowcount, + deleted_count, room_id, ) - if txn.rowcount > 0: + if deleted_count > 0: # Invalidate the cache self._invalidate_cache_and_stream( txn, @@ -80,7 +82,7 @@ class EventForwardExtremitiesStore( (room_id,), ) - return txn.rowcount + return deleted_count return await self.db_pool.runInteraction( "delete_forward_extremities_for_room", |