From b18770232c679482e0c7bf775b84eda5f7f3b782 Mon Sep 17 00:00:00 2001 From: Alexandre Emsenhuber Date: Tue, 25 Jun 2013 16:15:45 +0200 Subject: [PATCH] (bug 50078) Allow a string other than '*' as condition for DatabaseBase::delete() Currently, either '*' is given as condition meaning "everything" or an array must be passed since DatabaseBase::makeList() requires an array. Now the parameter is consistent with one of other similar methods, since a string will be handled correctly. Bug: 50078 Change-Id: Id5a8220d21245669f1091a3b5ed1def65b22d375 --- includes/db/Database.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/includes/db/Database.php b/includes/db/Database.php index 4b2eae7174..e06d80d9d1 100644 --- a/includes/db/Database.php +++ b/includes/db/Database.php @@ -2712,7 +2712,10 @@ abstract class DatabaseBase implements DatabaseType { $sql = "DELETE FROM $table"; if ( $conds != '*' ) { - $sql .= ' WHERE ' . $this->makeList( $conds, LIST_AND ); + if ( is_array( $conds ) ) { + $conds = $this->makeList( $conds, LIST_AND ); + } + $sql .= ' WHERE ' . $conds; } return $this->query( $sql, $fname ); -- 2.20.1