+
+ /**
+ * Try accessing the C module, so we know early if something is wrong.
+ *
+ * Raises Nominatim\DatabaseError on failure
+ */
+ private function checkModulePresence()
+ {
+ $sSQL = "CREATE FUNCTION nominatim_test_import_func(text) RETURNS text AS '";
+ $sSQL .= $this->sModulePath . "/nominatim.so', 'transliteration' LANGUAGE c IMMUTABLE STRICT";
+ $sSQL .= ';DROP FUNCTION nominatim_test_import_func(text);';
+
+ $oDB = new \Nominatim\DB();
+ $oDB->connect();
+ $oDB->exec($sSQL, null, 'Database server failed to load '.$this->sModulePath.'/nominatim.so module');
+ }