Merge "Database: Behave correctly when inserting booleans"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 21 Sep 2016 18:54:32 +0000 (18:54 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 21 Sep 2016 18:54:32 +0000 (18:54 +0000)
includes/db/DatabaseMssql.php
includes/libs/rdbms/database/Database.php
includes/libs/rdbms/database/DatabasePostgres.php
includes/libs/rdbms/database/DatabaseSqlite.php
includes/libs/rdbms/database/IDatabase.php

index 00fb800..eb061d8 100644 (file)
@@ -1085,8 +1085,8 @@ class DatabaseMssql extends DatabaseBase {
        }
 
        /**
-        * @param string|Blob $s
-        * @return string
+        * @param string|int|null|bool|Blob $s
+        * @return string|int
         */
        public function addQuotes( $s ) {
                if ( $s instanceof MssqlBlob ) {
index 9993277..7e80221 100644 (file)
@@ -2001,6 +2001,8 @@ abstract class Database implements IDatabase, LoggerAwareInterface {
                }
                if ( $s === null ) {
                        return 'NULL';
+               } elseif ( is_bool( $s ) ) {
+                       return (int)$s;
                } else {
                        # This will also quote numeric values. This should be harmless,
                        # and protects against weird problems that occur when they really
index e79b28b..69488af 100644 (file)
@@ -1232,8 +1232,8 @@ SQL;
        }
 
        /**
-        * @param null|bool|Blob $s
-        * @return int|string
+        * @param string|int|null|bool|Blob $s
+        * @return string|int
         */
        function addQuotes( $s ) {
                if ( is_null( $s ) ) {
index 6614898..2281f23 100644 (file)
@@ -783,8 +783,8 @@ class DatabaseSqlite extends DatabaseBase {
        }
 
        /**
-        * @param Blob|string $s
-        * @return string
+        * @param string|int|null|bool|Blob $s
+        * @return string|int
         */
        function addQuotes( $s ) {
                if ( $s instanceof Blob ) {
index 25e5912..29a32f5 100644 (file)
@@ -1015,8 +1015,8 @@ interface IDatabase {
        /**
         * Adds quotes and backslashes.
         *
-        * @param string|Blob $s
-        * @return string
+        * @param string|int|null|bool|Blob $s
+        * @return string|int
         */
        public function addQuotes( $s );