From 2df0b841f5a6794ff961033ff21f6d3d7a181b2b Mon Sep 17 00:00:00 2001 From: David Rothstein Date: Mon, 5 Aug 2013 04:24:31 -0400 Subject: Issue #1839998 by wiifm, mcm.guaba, Josh Waihi, dcam: Fixed TruncateQuery implemented as 'DELETE FROM' in MySQL and SQLite, but not PostgreSQL, causing nefarious table locking. --- includes/database/mysql/query.inc | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) (limited to 'includes/database/mysql') diff --git a/includes/database/mysql/query.inc b/includes/database/mysql/query.inc index 2609aba0c..fa698d90c 100644 --- a/includes/database/mysql/query.inc +++ b/includes/database/mysql/query.inc @@ -86,21 +86,7 @@ class InsertQuery_mysql extends InsertQuery { } } -class TruncateQuery_mysql extends TruncateQuery { - public function __toString() { - // TRUNCATE is actually a DDL statement on MySQL, and DDL statements are - // not transactional, and result in an implicit COMMIT. When we are in a - // transaction, fallback to the slower, but transactional, DELETE. - if ($this->connection->inTransaction()) { - // Create a comment string to prepend to the query. - $comments = $this->connection->makeComment($this->comments); - return $comments . 'DELETE FROM {' . $this->connection->escapeTable($this->table) . '}'; - } - else { - return parent::__toString(); - } - } -} +class TruncateQuery_mysql extends TruncateQuery { } /** * @} End of "addtogroup database". -- cgit v1.2.3