Merge "Fix guarding of MySQL's numRows()"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Mon, 8 Oct 2018 19:17:33 +0000 (19:17 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Mon, 8 Oct 2018 19:17:33 +0000 (19:17 +0000)
includes/libs/rdbms/database/DatabaseMysqlBase.php
includes/libs/rdbms/database/IDatabase.php

index 8d82965..4bd607c 100644 (file)
@@ -359,7 +359,7 @@ abstract class DatabaseMysqlBase extends Database {
                        $res = $res->result;
                }
                Wikimedia\suppressWarnings();
-               $n = $res ? $this->mysqlNumRows( $res ) : 0;
+               $n = !is_bool( $res ) ? $this->mysqlNumRows( $res ) : 0;
                Wikimedia\restoreWarnings();
 
                // Unfortunately, mysql_num_rows does not reset the last errno.
index f38ddb8..39fbbca 100644 (file)
@@ -394,7 +394,8 @@ interface IDatabase {
        public function fetchRow( $res );
 
        /**
-        * Get the number of rows in a result object
+        * Get the number of rows in a query result. If the query did not return
+        * any rows (for example, if it was a write query), this returns zero.
         *
         * @param mixed $res A SQL result
         * @return int