wfDebug( "Block::load: '$address', '$user', $killExpired\n" );
$options = array();
- $db =& $this->getDBOptions( $options );
+ $db = $this->getDBOptions( $options );
if ( 0 == $user && $address === '' ) {
# Invalid user specification, not blocked
$range = substr( $iaddr, 0, 4 );
$options = array();
- $db =& $this->getDBOptions( $options );
+ $db = $this->getDBOptions( $options );
$conds = array(
'ipb_range_start' . $db->buildLike( $range, $db->anyString() ),
"ipb_range_start <= '$iaddr'",
# No results, don't autoblock anything
wfDebug( "No IP found to retroactively autoblock\n" );
} else {
- while ( $row = $dbr->fetchObject( $res ) ) {
+ foreach ( $res as $row ) {
if ( $row->rc_ip ) {
$this->doAutoblock( $row->rc_ip );
}
public static function infinity() {
# This is a special keyword for timestamps in PostgreSQL, and
# works with CHAR(14) as well because "i" sorts after all numbers.
+
+ # BEGIN DatabaseMssql hack
+ # Since MSSQL doesn't recognize the infinity keyword, set date manually.
+ # TO-DO: Refactor for better DB portability and remove magic date
+ $dbr = wfGetDB( DB_SLAVE );
+ if ( $dbr->getType() == 'mssql' ) {
+ return '3000-01-31 00:00:00.000';
+ }
+ # End DatabaseMssql hack
+
return 'infinity';
}