includes/Autoloader.php (change)
This file needs just a couple of additions, as follows
static $localClasses = array(
# Includes
'DatabaseADODB' => 'includes/DatabaseADODB.php',
...
'SearchADODB' => 'includes/SearchADODB.php',
...
includes/BagOStuff.php (change)In
SqlBagOStuff::get($key)
, the SQL needs a little fix, from
"SELECT value,exptime FROM $0 WHERE keyname='$1'", $key);
to
"SELECT value,exptime FROM $0 WHERE keyname=$1", $key);
Microsoft SQL Server is thrown off by what become extraneous single quotes. A similar change must be made to SqlBagOStuff::delete($key,$time=0)
.
In the methods _serialize(&$data)
and _unserialize($serial)
, I've had to remove the calls to gzdeflate
and ginflate
, since I couldn't get them to behave consistently.includes/Database.php
To this base class, I've added two new abstract methods
public function setFetchModeAssoc() {
}
public function setFetchModeNum() {
}
These are used very little, and only by a couple of the
Special:
pages. By default, the ADODB connection operates in numeric fetch mode (i.e., it returns records in an array subscripted by numbers). After a call to setFetchModeAssoc
the connection operates in associative fetch mode (i.e., it returns records in an array subscripted by field names). This is different from the MySQL connection, which returns arrays that can be indexed both ways.includes/GlobalFunctions.php In
function wfShellExec($cmd, &$retval=null)
, I changed the line
$cmd = '"' . $cmd . '"';
to
$cmd = 'cmd /C ' . '"' . str_replace( '/', '\\', $cmd) . '"';
In includes/MagicWord.php, I changed a line in
MagicWord::initRegex()
from
$case = $this-mCaseSensitive ? '' : 'iu';
to
$case = $this->mCaseSensitive ? '' : 'i';
I also had to rewrite matchAndRemove(&$text)
and matchStartAndRemove(&$text)
In includes/Pager.php, method
IndexPager::reallyDoQuery($offset,$limit,$ascending)
the line
$res = $this->mDb->select( $tables, $fields, $conds, $fname, $options );
must be wrapped up like this:
$this->mDb->setFetchModeAssoc();
$res = $this->mDb->select( $tables, $fields, $conds, $fname, $options );
$this->mDb->setFetchModeNum();
No comments:
Post a Comment