From 56344e4765d5301c201d0baa1571290d59841a65 Mon Sep 17 00:00:00 2001 From: Alex Vandiver Date: Tue, 17 Aug 2021 03:24:16 +0000 Subject: [PATCH] scheduled_email: Only call .save() if necessary. Calling `email.save()` is only needed if we altered `email.address`; it is unnecessary if we called `email.users.add(...)` which will have done its own INSERT. --- zerver/lib/send_email.py | 2 +- zerver/tests/test_signup.py | 2 +- zerver/tests/test_users.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/zerver/lib/send_email.py b/zerver/lib/send_email.py index 385625d070..c77585d688 100644 --- a/zerver/lib/send_email.py +++ b/zerver/lib/send_email.py @@ -363,7 +363,7 @@ def send_future_email( assert to_emails is not None assert len(to_emails) == 1 email.address = parseaddr(to_emails[0])[1] - email.save() + email.save() except Exception as e: email.delete() raise e diff --git a/zerver/tests/test_signup.py b/zerver/tests/test_signup.py index a6a55afa19..48d827e7ec 100644 --- a/zerver/tests/test_signup.py +++ b/zerver/tests/test_signup.py @@ -774,7 +774,7 @@ class LoginTest(ZulipTestCase): with queries_captured() as queries, cache_tries_captured() as cache_tries: self.register(self.nonreg_email("test"), "test") # Ensure the number of queries we make is not O(streams) - self.assert_length(queries, 89) + self.assert_length(queries, 87) # We can probably avoid a couple cache hits here, but there doesn't # seem to be any O(N) behavior. Some of the cache hits are related diff --git a/zerver/tests/test_users.py b/zerver/tests/test_users.py index 22a02da677..eaaff09410 100644 --- a/zerver/tests/test_users.py +++ b/zerver/tests/test_users.py @@ -771,7 +771,7 @@ class QueryCountTest(ZulipTestCase): acting_user=None, ) - self.assert_length(queries, 84) + self.assert_length(queries, 82) self.assert_length(cache_tries, 27) peer_add_events = [event for event in events if event["event"].get("op") == "peer_add"]