The superclass was casting mConn to string. For Mysql class this
is just the resource number. However for mysqli objects, that is
a fatal. thread_id seemed like the most convinenent id-ish number
to return instead.
Only really noticeable if you have $wgDebugTransactions = true;
Change-Id: I014bb7ab81d18c5bd07a267939b66a0a6161eb8d
protected function mysqlPing() {
return $this->mConn->ping();
}
+
+ /**
+ * Give an id for the connection
+ *
+ * mysql driver used resource id, but mysqli objects cannot be cast to string.
+ */
+ public function __toString() {
+ if ( $this->mConn instanceof Mysqli ) {
+ return (string)$this->mConn->thread_id;
+ } else {
+ // mConn might be false or something.
+ return (string)$this->mConn;
+ }
+ }
}