Merge "Do thumb attempt-failures limitting via sha1 instead of name."
[lhc/web/wiklou.git] / includes / db / DatabaseMysql.php
index 956bb69..dc4a67d 100644 (file)
  * @see Database
  */
 class DatabaseMysql extends DatabaseMysqlBase {
-
        /**
-        * @param $sql string
-        * @return resource
+        * @param string $sql
+        * @return resource False on error
         */
        protected function doQuery( $sql ) {
                if ( $this->bufferResults() ) {
@@ -39,14 +38,23 @@ class DatabaseMysql extends DatabaseMysqlBase {
                } else {
                        $ret = mysql_unbuffered_query( $sql, $this->mConn );
                }
+
                return $ret;
        }
 
+       /**
+        * @param string $realServer
+        * @return bool|resource MySQL Database connection or false on failure to connect
+        * @throws DBConnectionError
+        */
        protected function mysqlConnect( $realServer ) {
                # Fail now
                # Otherwise we get a suppressed fatal error, which is very hard to track down
                if ( !extension_loaded( 'mysql' ) ) {
-                       throw new DBConnectionError( $this, "MySQL functions missing, have you compiled PHP with the --with-mysql option?\n" );
+                       throw new DBConnectionError(
+                               $this,
+                               "MySQL functions missing, have you compiled PHP with the --with-mysql option?\n"
+                       );
                }
 
                $connFlags = 0;
@@ -80,6 +88,18 @@ class DatabaseMysql extends DatabaseMysqlBase {
                return $conn;
        }
 
+       /**
+        * @param string $charset
+        * @return bool
+        */
+       protected function mysqlSetCharset( $charset ) {
+               if ( function_exists( 'mysql_set_charset' ) ) {
+                       return mysql_set_charset( $charset, $this->mConn );
+               } else {
+                       return $this->query( 'SET NAMES ' . $charset, __METHOD__ );
+               }
+       }
+
        /**
         * @return bool
         */
@@ -113,11 +133,12 @@ class DatabaseMysql extends DatabaseMysqlBase {
        }
 
        /**
-        * @param $db
+        * @param string $db
         * @return bool
         */
        function selectDB( $db ) {
                $this->mDBname = $db;
+
                return mysql_select_db( $db, $this->mConn );
        }
 
@@ -156,6 +177,10 @@ class DatabaseMysql extends DatabaseMysqlBase {
                return mysql_field_name( $res, $n );
        }
 
+       protected function mysqlFieldType( $res, $n ) {
+               return mysql_field_type( $res, $n );
+       }
+
        protected function mysqlDataSeek( $res, $row ) {
                return mysql_data_seek( $res, $row );
        }