dépôts
/
lhc
/
web
/
wiklou.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge "Replace pauses in rollback tests w/ dynamic waits"
[lhc/web/wiklou.git]
/
includes
/
search
/
SqlSearchResultSet.php
diff --git
a/includes/search/SqlSearchResultSet.php
b/includes/search/SqlSearchResultSet.php
index
c3985d1
..
022dc0a
100644
(file)
--- a/
includes/search/SqlSearchResultSet.php
+++ b/
includes/search/SqlSearchResultSet.php
@@
-1,11
+1,17
@@
<?php
<?php
+
+use Wikimedia\Rdbms\ResultWrapper;
+
/**
* This class is used for different SQL-based search engines shipped with MediaWiki
* @ingroup Search
*/
class SqlSearchResultSet extends SearchResultSet {
/**
* This class is used for different SQL-based search engines shipped with MediaWiki
* @ingroup Search
*/
class SqlSearchResultSet extends SearchResultSet {
+ /** @var ResultWrapper Result object from database */
protected $resultSet;
protected $resultSet;
+ /** @var string Requested search query */
protected $terms;
protected $terms;
+ /** @var int|null Total number of hits for $terms */
protected $totalHits;
function __construct( ResultWrapper $resultSet, $terms, $total = null ) {
protected $totalHits;
function __construct( ResultWrapper $resultSet, $terms, $total = null ) {
@@
-26,25
+32,21
@@
class SqlSearchResultSet extends SearchResultSet {
return $this->resultSet->numRows();
}
return $this->resultSet->numRows();
}
-
function next
() {
+
public function extractResults
() {
if ( $this->resultSet === false ) {
if ( $this->resultSet === false ) {
- return false;
- }
-
- $row = $this->resultSet->fetchObject();
- if ( $row === false ) {
- return false;
+ return [];
}
}
- return SearchResult::newFromTitle(
- Title::makeTitle( $row->page_namespace, $row->page_title ), $this
- );
- }
-
- function rewind() {
- if ( $this->resultSet ) {
+ if ( $this->results === null ) {
+ $this->results = [];
$this->resultSet->rewind();
$this->resultSet->rewind();
+ while ( ( $row = $this->resultSet->fetchObject() ) !== false ) {
+ $this->results[] = SearchResult::newFromTitle(
+ Title::makeTitle( $row->page_namespace, $row->page_title ), $this
+ );
+ }
}
}
+ return $this->results;
}
function free() {
}
function free() {