summary refs log tree commit diff
path: root/synapse/storage/database.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2021-01-21 10:22:53 +0000
committerGitHub <noreply@github.com>2021-01-21 10:22:53 +0000
commiteee6fcf5fa857af95c46185fc11d540343c77d2d (patch)
treec6b36d820889584b7a2fe6af504b1e82a3454da8 /synapse/storage/database.py
parentSpecify that the long description is rST in the package metadata. (#9180) (diff)
downloadsynapse-eee6fcf5fa857af95c46185fc11d540343c77d2d.tar.xz
Use execute_batch instead of executemany in places (#9181)
`execute_batch` does fewer round trips in postgres than `executemany`, but does not give a correct `txn.rowcount` result after.
Diffstat (limited to 'synapse/storage/database.py')
-rw-r--r--synapse/storage/database.py5
1 files changed, 2 insertions, 3 deletions
diff --git a/synapse/storage/database.py b/synapse/storage/database.py
index a19d65ad23..c7220bc778 100644
--- a/synapse/storage/database.py
+++ b/synapse/storage/database.py
@@ -267,8 +267,7 @@ class LoggingTransaction:
 
             self._do_execute(lambda *x: execute_batch(self.txn, *x), sql, args)
         else:
-            for val in args:
-                self.execute(sql, val)
+            self.executemany(sql, args)
 
     def execute_values(self, sql: str, *args: Any) -> List[Tuple]:
         """Corresponds to psycopg2.extras.execute_values. Only available when
@@ -888,7 +887,7 @@ class DatabasePool:
             ", ".join("?" for _ in keys[0]),
         )
 
-        txn.executemany(sql, vals)
+        txn.execute_batch(sql, vals)
 
     async def simple_upsert(
         self,