From 9d6182d8d00b99a608b49ae47a5ccd03187802fe Mon Sep 17 00:00:00 2001 From: Dries Buytaert <dries@buytaert.net> Date: Sun, 11 Oct 2009 13:43:37 +0000 Subject: - Patch #597556 by Berdir: return status to indicate executed query in MergeQuery::execute(). --- includes/database/mysql/query.inc | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'includes/database/mysql') diff --git a/includes/database/mysql/query.inc b/includes/database/mysql/query.inc index 09878f96d..7ea48c8ac 100644 --- a/includes/database/mysql/query.inc +++ b/includes/database/mysql/query.inc @@ -133,9 +133,14 @@ class MergeQuery_mysql extends MergeQuery { $values[':db_update_placeholder_' . ($max_placeholder++)] = $value; } - $last_insert_id = $this->connection->query((string)$this, $values, $this->queryOptions); - return $last_insert_id; + // MySQL's INSERT ... ON DUPLICATE KEY UPDATE queries return 1 + // (MergeQuery::STATUS_INSERT) for an INSERT operation or 2 + // (MergeQuery::STATUS_UPDATE) for an UPDATE operation. + // + // @link http ://dev.mysql.com/doc/refman/5.0/en/mysql-affected-rows.html + $this->queryOptions['return'] = Database::RETURN_AFFECTED; + return $this->connection->query((string)$this, $values, $this->queryOptions); } -- cgit v1.2.3