summaryrefslogtreecommitdiff
path: root/includes/database/mysql
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2009-10-11 13:43:37 +0000
committerDries Buytaert <dries@buytaert.net>2009-10-11 13:43:37 +0000
commit9d6182d8d00b99a608b49ae47a5ccd03187802fe (patch)
treed5bf25b43fdcb8746f65fa7b9cda11e083924a53 /includes/database/mysql
parent19089633f62f8b9b61e79ccee32850c155f6716e (diff)
downloadbrdo-9d6182d8d00b99a608b49ae47a5ccd03187802fe.tar.gz
brdo-9d6182d8d00b99a608b49ae47a5ccd03187802fe.tar.bz2
- Patch #597556 by Berdir: return status to indicate executed query in MergeQuery::execute().
Diffstat (limited to 'includes/database/mysql')
-rw-r--r--includes/database/mysql/query.inc9
1 files changed, 7 insertions, 2 deletions
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);
}