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 ); $dbr = wfGetDB( DB_SLAVE );
$res = $dbr->selectRow( $res = $dbr->selectRow(
'ipblocks', 'ipblocks',
'*', self::selectFields(),
array( 'ipb_id' => $id ), array( 'ipb_id' => $id ),
__METHOD__ __METHOD__
); );
if ( $res ) { if ( $res ) {
return Block::newFromRow( $res ); return self::newFromRow( $res );
} else { } else {
return null; 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 * 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 * * 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 # 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. # set of rangeblocks. We want to choose the most specific one, so keep a leader board.
@ -260,7 +285,7 @@ class Block {
$bestBlockPreventsEdit = null; $bestBlockPreventsEdit = null;
foreach( $res as $row ){ foreach( $res as $row ){
$block = Block::newFromRow( $row ); $block = self::newFromRow( $row );
# Don't use expired blocks # Don't use expired blocks
if( $block->deleteIfExpired() ){ if( $block->deleteIfExpired() ){