diff options
author | Erik Johnston <erik@matrix.org> | 2021-01-21 10:22:53 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-21 10:22:53 +0000 |
commit | eee6fcf5fa857af95c46185fc11d540343c77d2d (patch) | |
tree | c6b36d820889584b7a2fe6af504b1e82a3454da8 /synapse/storage/database.py | |
parent | Specify that the long description is rST in the package metadata. (#9180) (diff) | |
download | synapse-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.py | 5 |
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, |