diff options
author | millette <millette@controlyourself.ca> | 2008-11-23 15:16:16 -0500 |
---|---|---|
committer | millette <millette@controlyourself.ca> | 2008-11-23 15:16:16 -0500 |
commit | 4206f4d9614e2d04d968355775d6ea6e536c9cad (patch) | |
tree | e3b52aa787c93f2a815afbb014d5f1a788c57ab8 /classes/Memcached_DataObject.php | |
parent | 095ff0feedac05e8dee04927bf4da0ae3ffb6a62 (diff) |
sphinx: fallback if no connection
darcs-hash:20081123201616-099f7-54ac0134e38e145b99a81336ae0b51a8ecd560a8.gz
Diffstat (limited to 'classes/Memcached_DataObject.php')
-rw-r--r-- | classes/Memcached_DataObject.php | 17 |
1 files changed, 12 insertions, 5 deletions
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; |