Merge "Show protection log on creation-protected pages"
[lhc/web/wiklou.git] / includes / libs / rdbms / database / DatabaseMysqli.php
index e468601..4d1b87b 100644 (file)
  * @file
  * @ingroup Database
  */
+namespace Wikimedia\Rdbms;
+
+use mysqli;
+use mysqli_result;
+use IP;
 
 /**
  * Database abstraction object for PHP extension mysqli.
@@ -29,8 +34,7 @@
  * @see Database
  */
 class DatabaseMysqli extends DatabaseMysqlBase {
-       /** @var mysqli */
-       protected $mConn;
+       /** @var $mConn mysqli */
 
        /**
         * @param string $sql
@@ -54,8 +58,6 @@ class DatabaseMysqli extends DatabaseMysqlBase {
         * @throws DBConnectionError
         */
        protected function mysqlConnect( $realServer ) {
-               global $wgDBmysql5;
-
                # Avoid suppressed fatal error, which is very hard to track down
                if ( !function_exists( 'mysqli_init' ) ) {
                        throw new DBConnectionError( $this, "MySQLi functions missing,"
@@ -84,7 +86,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
                $mysqli = mysqli_init();
 
                $connFlags = 0;
-               if ( $this->mFlags & DBO_SSL ) {
+               if ( $this->mFlags & self::DBO_SSL ) {
                        $connFlags |= MYSQLI_CLIENT_SSL;
                        $mysqli->ssl_set(
                                $this->sslKeyPath,
@@ -94,14 +96,14 @@ class DatabaseMysqli extends DatabaseMysqlBase {
                                $this->sslCiphers
                        );
                }
-               if ( $this->mFlags & DBO_COMPRESS ) {
+               if ( $this->mFlags & self::DBO_COMPRESS ) {
                        $connFlags |= MYSQLI_CLIENT_COMPRESS;
                }
-               if ( $this->mFlags & DBO_PERSISTENT ) {
+               if ( $this->mFlags & self::DBO_PERSISTENT ) {
                        $realServer = 'p:' . $realServer;
                }
 
-               if ( $wgDBmysql5 ) {
+               if ( $this->utf8Mode ) {
                        // Tell the server we're communicating with it in UTF-8.
                        // This may engage various charset conversions.
                        $mysqli->options( MYSQLI_SET_CHARSET_NAME, 'utf8' );
@@ -189,7 +191,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
        }
 
        /**
-        * @param mysqli $res
+        * @param mysqli_result $res
         * @return bool
         */
        protected function mysqlFreeResult( $res ) {
@@ -199,7 +201,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
        }
 
        /**
-        * @param mysqli $res
+        * @param mysqli_result $res
         * @return bool
         */
        protected function mysqlFetchObject( $res ) {
@@ -212,7 +214,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
        }
 
        /**
-        * @param mysqli $res
+        * @param mysqli_result $res
         * @return bool
         */
        protected function mysqlFetchArray( $res ) {
@@ -225,7 +227,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
        }
 
        /**
-        * @param mysqli $res
+        * @param mysqli_result $res
         * @return mixed
         */
        protected function mysqlNumRows( $res ) {
@@ -264,7 +266,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
        }
 
        /**
-        * @param resource|ResultWrapper $res
+        * @param mysqli $res
         * @param int $n
         * @return mixed
         */
@@ -275,7 +277,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
        }
 
        /**
-        * @param resource|ResultWrapper $res
+        * @param mysqli $res
         * @param int $n
         * @return mixed
         */
@@ -286,7 +288,7 @@ class DatabaseMysqli extends DatabaseMysqlBase {
        }
 
        /**
-        * @param resource|ResultWrapper $res
+        * @param mysqli_result $res
         * @param int $row
         * @return mixed
         */
@@ -332,3 +334,5 @@ class DatabaseMysqli extends DatabaseMysqlBase {
                }
        }
 }
+
+class_alias( DatabaseMysqli::class, 'DatabaseMysqli' );