Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit ec9ff38

Browse files
authored
More tests for the simple_* methods. (#16596)
Expand tests for the simple_* database methods, additionally test against both PostgreSQL and SQLite variants.
1 parent 7e5d3b0 commit ec9ff38

File tree

3 files changed

+633
-27
lines changed

3 files changed

+633
-27
lines changed

changelog.d/16596.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Improve tests of the SQL generator.

synapse/storage/database.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1401,12 +1401,12 @@ def simple_upsert_txn_native_upsert(
14011401
allvalues.update(values)
14021402
latter = "UPDATE SET " + ", ".join(k + "=EXCLUDED." + k for k in values)
14031403

1404-
sql = "INSERT INTO %s (%s) VALUES (%s) ON CONFLICT (%s) %s DO %s" % (
1404+
sql = "INSERT INTO %s (%s) VALUES (%s) ON CONFLICT (%s) %sDO %s" % (
14051405
table,
14061406
", ".join(k for k in allvalues),
14071407
", ".join("?" for _ in allvalues),
14081408
", ".join(k for k in keyvalues),
1409-
f"WHERE {where_clause}" if where_clause else "",
1409+
f"WHERE {where_clause} " if where_clause else "",
14101410
latter,
14111411
)
14121412
txn.execute(sql, list(allvalues.values()))
@@ -2062,9 +2062,7 @@ def simple_update_many_txn(
20622062
where_clause = ""
20632063

20642064
# UPDATE mytable SET col1 = ?, col2 = ? WHERE col3 = ? AND col4 = ?
2065-
sql = f"""
2066-
UPDATE {table} SET {set_clause} {where_clause}
2067-
"""
2065+
sql = f"UPDATE {table} SET {set_clause} {where_clause}"
20682066

20692067
txn.execute_batch(sql, args)
20702068

@@ -2283,17 +2281,14 @@ def simple_delete_many_txn(
22832281
if not values:
22842282
return 0
22852283

2286-
sql = "DELETE FROM %s" % table
2287-
22882284
clause, values = make_in_list_sql_clause(txn.database_engine, column, values)
22892285
clauses = [clause]
22902286

22912287
for key, value in keyvalues.items():
22922288
clauses.append("%s = ?" % (key,))
22932289
values.append(value)
22942290

2295-
if clauses:
2296-
sql = "%s WHERE %s" % (sql, " AND ".join(clauses))
2291+
sql = "DELETE FROM %s WHERE %s" % (table, " AND ".join(clauses))
22972292
txn.execute(sql, values)
22982293

22992294
return txn.rowcount

0 commit comments

Comments
 (0)