DatabaseMysqlBase::fieldType() is used in the maintenance script
convertLinks.php for upgrading from MediaWiki 1.2 or earlier. This
script was failing when the mysqli extension was enabled.
Follows-up
b1cc3511fd7a,
b2d64432ee02, and
00299ecb9515.
Change-Id: I5d888f4dd344ecba15506023d35f6d2d6e24cfd8
return (bool)$res;
}
- /**
- * mysql_field_type() wrapper
- * @param $res
- * @param $index
- * @return string
- */
- public function fieldType( $res, $index ) {
- if ( $res instanceof ResultWrapper ) {
- $res = $res->result;
- }
-
- return mysql_field_type( $res, $index );
- }
-
/**
* Determines if a given index is unique
*
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 );
}
/**
* @param $res ResultWrapper
- * @param $n string
+ * @param $n int
* @return string
*/
function fieldName( $res, $n ) {
*/
abstract protected function mysqlFieldName( $res, $n );
+ /**
+ * mysql_field_type() wrapper
+ * @param $res
+ * @param $n int
+ * @return string
+ */
+ public function fieldType( $res, $n ) {
+ if ( $res instanceof ResultWrapper ) {
+ $res = $res->result;
+ }
+
+ return $this->mysqlFieldType( $res, $n );
+ }
+
+ /**
+ * Get the type of the specified field in a result
+ *
+ * @param $res Raw result
+ * @param $n int
+ * @return string
+ */
+ abstract protected function mysqlFieldType( $res, $n );
+
/**
* @param $res ResultWrapper
* @param $row
return $field->name;
}
+ protected function mysqlFieldType( $res, $n ) {
+ $field = $res->fetch_field_direct( $n );
+ return $field->type;
+ }
+
protected function mysqlDataSeek( $res, $row ) {
return $res->data_seek( $row );
}
protected function mysqlNumRows( $res ) {}
protected function mysqlNumFields( $res ) {}
protected function mysqlFieldName( $res, $n ) {}
+ protected function mysqlFieldType( $res, $n ) {}
protected function mysqlDataSeek( $res, $row ) {}
protected function mysqlError( $conn = null ) {}
protected function mysqlFetchField( $res, $n ) {}