From c6549e5a81b0bbf8784fd913b1e9a679058dd237 Mon Sep 17 00:00:00 2001 From: Greg Sabino Mullane Date: Tue, 15 May 2007 12:39:41 +0000 Subject: [PATCH] Bug 9908: check server version and adjust rank() argument accordingly --- RELEASE-NOTES | 2 ++ includes/SearchPostgres.php | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index f8fc6bdb3a..f7a391b766 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -57,6 +57,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN * (bug 9896) Documentation for $wgSquidServers and X-FORWARDED-FOR * (bug 9417) Uploading new versions of images when using Postgres no longer throws warnings. +* (bug 9908) Using tsearch2 with Postgres 8.1 no longer gives an error. + == MediaWiki API changes since 1.10 == diff --git a/includes/SearchPostgres.php b/includes/SearchPostgres.php index a7c7c3da6b..3872e4669d 100644 --- a/includes/SearchPostgres.php +++ b/includes/SearchPostgres.php @@ -116,6 +116,12 @@ class SearchPostgres extends SearchEngine { * @private */ function searchQuery( $term, $fulltext, $colname ) { + global $wgDBversion; + + if ( !defined( $wgDBversion ) ) { + $this->db->getServerVersion(); + $wgDBversion = $this->db->numeric_version; + } $searchstring = $this->parseQuery( $term ); @@ -141,8 +147,9 @@ class SearchPostgres extends SearchEngine { } } + $rankscore = $wgDBversion > 8.2 ? 5 : 1; $query = "SELECT page_id, page_namespace, page_title, ". - "rank($fulltext, to_tsquery('default',$searchstring),5) AS score ". + "rank($fulltext, to_tsquery('default',$searchstring), $rankscore) AS score ". "FROM page p, revision r, pagecontent c WHERE p.page_latest = r.rev_id " . "AND r.rev_text_id = c.old_id AND $fulltext @@ to_tsquery('default',$searchstring)"; } -- 2.20.1