Block.php: replace '*' with explicit fields in selects

It is good practice to select only fields, which are used later

Change-Id: I50d149b3ecd3a9e0325fecbe8d0b6e1fff353893
This commit is contained in:
umherirrender 2012-05-25 16:50:57 +02:00
parent acf695cea3
commit 6c2cf98e3d

View file

@ -126,17 +126,42 @@ class Block {
$dbr = wfGetDB( DB_SLAVE );
$res = $dbr->selectRow(
'ipblocks',
'*',
self::selectFields(),
array( 'ipb_id' => $id ),
__METHOD__
);
if ( $res ) {
return Block::newFromRow( $res );
return self::newFromRow( $res );
} else {
return null;
}
}
/**
* Return the list of ipblocks fields that should be selected to create
* a new block.
* @return array
*/
public static function selectFields() {
return array(
'ipb_id',
'ipb_address',
'ipb_by',
'ipb_by_text',
'ipb_reason',
'ipb_timestamp',
'ipb_auto',
'ipb_anon_only',
'ipb_create_account',
'ipb_enable_autoblock',
'ipb_expiry',
'ipb_deleted',
'ipb_block_email',
'ipb_allow_usertalk',
'ipb_parent_block_id',
);
}
/**
* Check if two blocks are effectively equal. Doesn't check irrelevant things like
* the blocking user or the block timestamp, only things which affect the blocked user *
@ -247,7 +272,7 @@ class Block {
}
}
$res = $db->select( 'ipblocks', '*', $conds, __METHOD__ );
$res = $db->select( 'ipblocks', self::selectFields(), $conds, __METHOD__ );
# This result could contain a block on the user, a block on the IP, and a russian-doll
# set of rangeblocks. We want to choose the most specific one, so keep a leader board.
@ -260,7 +285,7 @@ class Block {
$bestBlockPreventsEdit = null;
foreach( $res as $row ){
$block = Block::newFromRow( $row );
$block = self::newFromRow( $row );
# Don't use expired blocks
if( $block->deleteIfExpired() ){