diff options
author | Andrew Morgan <andrewm@element.io> | 2022-08-08 12:13:17 +0100 |
---|---|---|
committer | Andrew Morgan <andrewm@element.io> | 2022-08-08 12:13:17 +0100 |
commit | 90128dd3557cfacbcc000fcdc5cc61179fb3ef4b (patch) | |
tree | b385e03bfdec53068e19ef49ecc3b725f6ec00f9 | |
parent | Do not return the number of deleted rows from simple_truncate (diff) | |
download | synapse-90128dd3557cfacbcc000fcdc5cc61179fb3ef4b.tar.xz |
Raise a ValueError if keyvalues is falsely
-rw-r--r-- | synapse/storage/database.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/synapse/storage/database.py b/synapse/storage/database.py index 9cce458dfc..70b5601a12 100644 --- a/synapse/storage/database.py +++ b/synapse/storage/database.py @@ -2108,18 +2108,25 @@ class DatabasePool: ) -> int: """Executes a DELETE query on the named table. - Filters rows by the key-value pairs. + Filter rows by the key-value pairs. Args: table: string giving the table name - keyvalues: dict of column names and values to select the row with. If empty, - no rows will be deleted. + keyvalues: dict of column names and values to select the row with. Must + not be empty. Returns: The number of deleted rows. + + Raises: + ValueError: if keyvalues was a falsey value, such as an empty dict. """ if not keyvalues: - return 0 + raise ValueError( + "'keyvalues' arg to simple_delete_txn was falsey. If you were trying to " + "delete all rows from a database, perhaps try " + "DatabasePool.simple_truncate instead?" + ) sql = "DELETE FROM %s WHERE %s" % ( table, |