From 4206f4d9614e2d04d968355775d6ea6e536c9cad Mon Sep 17 00:00:00 2001 From: millette Date: Sun, 23 Nov 2008 15:16:16 -0500 Subject: sphinx: fallback if no connection darcs-hash:20081123201616-099f7-54ac0134e38e145b99a81336ae0b51a8ecd560a8.gz --- classes/Memcached_DataObject.php | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'classes/Memcached_DataObject.php') diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index e1d58dd70..674de9bc5 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -171,15 +171,22 @@ class Memcached_DataObject extends DB_DataObject } function getSearchEngine($table) { - require_once INSTALLDIR.'/classes/SearchEngines.php'; + require_once INSTALLDIR.'/lib/search_engines.php'; static $search_engine; if (!isset($search_engine)) { + $connected = false; if (common_config('sphinx', 'enabled')) { $search_engine = new SphinxSearch($this, $table); - } elseif ('mysql' === common_config('db', 'type')) { - $search_engine = new MySQLSearch($this, $table); - } else { - $search_engine = new PGSearch($this, $table); + $connected = $search_engine->is_connected(); + } + + // unable to connect to sphinx' search daemon + if (!$connected) { + if ('mysql' === common_config('db', 'type')) { + $search_engine = new MySQLSearch($this, $table); + } else { + $search_engine = new PGSearch($this, $table); + } } } return $search_engine; -- cgit v1.2.3-54-g00ecf