X-Git-Url: https://git.cyclocoop.org/%7B%24admin_url%7Dmembres/cotisations/rappels.php?a=blobdiff_plain;f=includes%2Fsearch%2FSearchSqlite.php;h=84e6edd9ee25feee9c57c006a3e3234ebc51c82f;hb=ccb2bb29951ac88ac29ab52a4319788f5b6081c3;hp=dedcdff43cfb9d08f728c5913417ceb8a9b7dac7;hpb=cbf8446b74b616a00024ef27225bd1e12ffd3bf6;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/search/SearchSqlite.php b/includes/search/SearchSqlite.php index dedcdff43c..84e6edd9ee 100644 --- a/includes/search/SearchSqlite.php +++ b/includes/search/SearchSqlite.php @@ -22,7 +22,6 @@ */ use MediaWiki\MediaWikiServices; -use Wikimedia\Rdbms\DatabaseSqlite; /** * Search engine hook for SQLite @@ -34,14 +33,15 @@ class SearchSqlite extends SearchDatabase { * @return bool */ private function fulltextSearchSupported() { - // Avoid getConnectionRef() in order to get DatabaseSqlite specifically - /** @var DatabaseSqlite $dbr */ - $dbr = $this->lb->getConnection( DB_REPLICA ); - try { - return $dbr->checkForEnabledSearch(); - } finally { - $this->lb->reuseConnection( $dbr ); - } + $dbr = $this->lb->getMaintenanceConnectionRef( DB_REPLICA ); + $sql = (string)$dbr->selectField( + $dbr->addIdentifierQuotes( 'sqlite_master' ), + 'sql', + [ 'tbl_name' => $dbr->tableName( 'searchindex', 'raw' ) ], + __METHOD__ + ); + + return ( stristr( $sql, 'fts' ) !== false ); } /** @@ -165,7 +165,7 @@ class SearchSqlite extends SearchDatabase { * Perform a full text search query and return a result set. * * @param string $term Raw search term - * @return SqlSearchResultSet + * @return SqlSearchResultSet|null */ protected function doSearchTextInDB( $term ) { return $this->searchInternal( $term, true ); @@ -175,7 +175,7 @@ class SearchSqlite extends SearchDatabase { * Perform a title-only search query and return a result set. * * @param string $term Raw search term - * @return SqlSearchResultSet + * @return SqlSearchResultSet|null */ protected function doSearchTitleInDB( $term ) { return $this->searchInternal( $term, false );