* Construct a LIMIT query with optional offset
* This is used for query pages
*/
- function limitResult($sql, $limit, $offset) {
- return "$sql LIMIT ".((is_numeric($offset) && $offset != 0)?"{$offset},":"")."{$limit} ";
+ function limitResult($limit, $offset=false) {
+ return " LIMIT ".((is_numeric($offset) && $offset != 0)?"{$offset},":"")."{$limit} ";
}
- function limitResultForUpdate($sql, $num) {
- return $this->limitResult($sql, $num, 0);
+ function limitResultForUpdate($num) {
+ return $this->limitResult($num, 0);
}
/**
return '';
}
- function limitResult($limit,$offset) {
- return " LIMIT $limit ".(is_numeric($offset)?" OFFSET {$offset} ":"");
+ function limitResult($sql, $limit,$offset) {
+ return "$sql LIMIT $limit ".(is_numeric($offset)?" OFFSET {$offset} ":"");
}
/**
# Clear out any old cached data
$dbw->delete( 'querycache', array( 'qc_type' => $this->getName() ), $fname );
# Do query
- $res = $dbr->query( $this->getSQL() . $this->getOrder() . $dbr->limitResult( 1000,0 ), $fname );
+ $sql = $this->getSQL() . $this->getOrder();
+ $sql = $dbr->limitResult($sql, 1000,0);
+ $res = $dbr->query($sql, $fname);
$num = false;
if ( $res ) {
$num = $dbr->numRows( $res );
}
}
- $sql = $dbr->limitResult($sql . $this->getOrder(), $limit, $offset);
+ $sql .= $this->getOrder();
+ $sql = $dbr->limitResult($sql, $limit, $offset);
$res = $dbr->query( $sql );
$num = $dbr->numRows($res);
$feed->outHeader();
$dbr =& wfGetDB( DB_SLAVE );
- $sql = $this->getSQL() . $this->getOrder().$dbr->limitResult( 50, 0 );
+ $sql = $this->getSQL() . $this->getOrder()
+ $sql = $dbr->limitResult( $sql, 50, 0 );
$res = $dbr->query( $sql, 'QueryPage::doFeed' );
while( $obj = $dbr->fetchObject( $res ) ) {
$item = $this->feedResult( $obj );
* @access private
*/
function queryLimit() {
- return $this->db->limitResult('', $this->limit, $this->offset );
+ return $this->db->limitResult( '', $this->limit, $this->offset );
}
/**
$sql .= " WHERE " . implode( ' AND ', $this->whereClauses );
}
$sql .= " ORDER BY log_timestamp DESC ";
- $sql = $this->db->limitResult( $sql, $this->limit, $this->offset );
+ $sql = $this->db->limitResult($sql, $this->limit, $this->offset );
return $sql;
}