function checkModulePresence()
{
- // Try accessing the C module, so we know early if something is wrong
- // and can simply error out.
+ // Try accessing the C module, so we know early if something is wrong.
+ // Raises Nominatim\DatabaseError on failure
+
$sModulePath = CONST_Database_Module_Path;
$sSQL = "CREATE FUNCTION nominatim_test_import_func(text) RETURNS text AS '";
$sSQL .= $sModulePath . "/nominatim.so', 'transliteration' LANGUAGE c IMMUTABLE STRICT";
$sSQL .= ';DROP FUNCTION nominatim_test_import_func(text);';
- $oDB = &getDB();
- $oResult = $oDB->query($sSQL);
-
- $bResult = true;
-
- if (PEAR::isError($oResult)) {
- echo "\nERROR: Failed to load nominatim module. Reason:\n";
- echo $oResult->userinfo . "\n\n";
- $bResult = false;
- }
- return $bResult;
+ $oDB = new \Nominatim\DB();
+ $oDB->connect();
+ $oDB->exec($sSQL, null, 'Database server failed to load '.$sModulePath.'/nominatim.so module');
}