diff options
author | Mark Haines <mjark@negativecurvature.net> | 2016-07-08 17:02:06 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-08 17:02:06 +0100 |
commit | 10f4856b0cdba6c587117c1c5dbad1281a1b0470 (patch) | |
tree | 0dcf8daf67457a0c6b03d81a93f6060344e99750 | |
parent | Merge branch 'master' of github.com:matrix-org/synapse into develop (diff) | |
parent | Add a comment explaining allow_none (diff) | |
download | synapse-10f4856b0cdba6c587117c1c5dbad1281a1b0470.tar.xz |
Merge pull request #914 from matrix-org/markjh/upgrade
Ensure that the guest user is in the database when upgrading accounts
-rw-r--r-- | synapse/storage/registration.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/synapse/storage/registration.py b/synapse/storage/registration.py index 0a68341494..d957a629dc 100644 --- a/synapse/storage/registration.py +++ b/synapse/storage/registration.py @@ -127,11 +127,26 @@ class RegistrationStore(SQLBaseStore): try: if was_guest: + # Ensure that the guest user actually exists + # ``allow_none=False`` makes this raise an exception + # if the row isn't in the database. + self._simple_select_one_txn( + txn, + "users", + keyvalues={ + "name": user_id, + "is_guest": 1, + }, + retcols=("name",), + allow_none=False, + ) + self._simple_update_one_txn( txn, "users", keyvalues={ "name": user_id, + "is_guest": 1, }, updatevalues={ "password_hash": password_hash, |