diff options
author | Erik Johnston <erik@matrix.org> | 2021-07-22 12:39:50 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-22 12:39:50 +0100 |
commit | 38b346a504cd4155b1986d50ebcff2199e1690be (patch) | |
tree | 70c3760c8d54cc64617714ebe7f99166d19ab28a /synapse/storage/databases/main/transactions.py | |
parent | Fix a handful of type annotations. (#10446) (diff) | |
download | synapse-38b346a504cd4155b1986d50ebcff2199e1690be.tar.xz |
Replace `or_ignore` in `simple_insert` with `simple_upsert` (#10442)
Now that we have `simple_upsert` that should be used in preference to trying to insert and looking for an exception. The main benefit is that we ERROR message don't get written to postgres logs. We also have tidy up the return value on `simple_upsert`, rather than having a tri-state of inserted/not-inserted/unknown.
Diffstat (limited to 'synapse/storage/databases/main/transactions.py')
-rw-r--r-- | synapse/storage/databases/main/transactions.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/synapse/storage/databases/main/transactions.py b/synapse/storage/databases/main/transactions.py index d211c423b2..7728d5f102 100644 --- a/synapse/storage/databases/main/transactions.py +++ b/synapse/storage/databases/main/transactions.py @@ -134,16 +134,18 @@ class TransactionWorkerStore(CacheInvalidationWorkerStore): response_dict: The response, to be encoded into JSON. """ - await self.db_pool.simple_insert( + await self.db_pool.simple_upsert( table="received_transactions", - values={ + keyvalues={ "transaction_id": transaction_id, "origin": origin, + }, + values={}, + insertion_values={ "response_code": code, "response_json": db_binary_type(encode_canonical_json(response_dict)), "ts": self._clock.time_msec(), }, - or_ignore=True, desc="set_received_txn_response", ) |