]> git.openstreetmap.org Git - nominatim.git/blobdiff - lib/setup_functions.php
Merge pull request #1754 from mtmail/nominatim-db-tests-against-postgres
[nominatim.git] / lib / setup_functions.php
index b1417678269d9f49d57a0e439de01ee68ed37bf1..43f30a090dfff4939f4f511e786e2615d467c1c1 100755 (executable)
@@ -17,22 +17,15 @@ function checkInFile($sOSMFile)
 
 function checkModulePresence()
 {
 
 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);';
 
     $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');
 }
 }