]> git.openstreetmap.org Git - nominatim.git/blobdiff - utils/setup.php
update osm2pgsql (new libosmium)
[nominatim.git] / utils / setup.php
index da16e3f091864283a3d089583153263e7e6d607e..0621658711569103a49b0a64a977dc7d5c0b4b00 100755 (executable)
@@ -126,10 +126,10 @@ if ($aCMDResult['setup-db'] || $aCMDResult['all']) {
     if ($fPostgisVersion < 2.1) {
         // Functions were renamed in 2.1 and throw an annoying deprecation warning
         pgsqlRunScript('ALTER FUNCTION st_line_interpolate_point(geometry, double precision) RENAME TO ST_LineInterpolatePoint');
-        pgsqlRunScript('ALTER FUNCTION ST_Line_Locate_Point(geometry, double precision) RENAME TO ST_LineLocatePoint');
+        pgsqlRunScript('ALTER FUNCTION ST_Line_Locate_Point(geometry, geometry) RENAME TO ST_LineLocatePoint');
     }
     if ($fPostgisVersion < 2.2) {
-        pgsqlRunScript('ALTER FUNCTION ST_Distance_Spheroid(geometry, double precision) RENAME TO ST_DistanceSpheroid');
+        pgsqlRunScript('ALTER FUNCTION ST_Distance_Spheroid(geometry, geometry, spheroid) RENAME TO ST_DistanceSpheroid');
     }
 
     pgsqlRunScriptFile(CONST_BasePath.'/data/country_name.sql');
@@ -163,7 +163,8 @@ if ($aCMDResult['import-data'] || $aCMDResult['all']) {
 
     $osm2pgsql = CONST_Osm2pgsql_Binary;
     if (!file_exists($osm2pgsql)) {
-        echo "Please download and build osm2pgsql.\nIf it is already installed, check the path in your local settings (settings/local.php) file.\n";
+        echo "Check CONST_Osm2pgsql_Binary in your local settings file.\n";
+        echo "Normally you should not need to set this manually.\n";
         fail("osm2pgsql not found in '$osm2pgsql'");
     }
 
@@ -345,7 +346,11 @@ if ($aCMDResult['load-data'] || $aCMDResult['all']) {
     }
 
     // used by getorcreate_word_id to ignore frequent partial words
-    if (!pg_query($oDB->connection, 'CREATE OR REPLACE FUNCTION get_maxwordfreq() RETURNS integer AS $$ SELECT '.CONST_Max_Word_Frequency.' as maxwordfreq; $$ LANGUAGE SQL IMMUTABLE')) fail(pg_last_error($oDB->connection));
+    $sSQL = 'CREATE OR REPLACE FUNCTION get_maxwordfreq() RETURNS integer AS ';
+    $sSQL .= '$$ SELECT '.CONST_Max_Word_Frequency.' as maxwordfreq; $$ LANGUAGE SQL IMMUTABLE';
+    if (!pg_query($oDB->connection, $sSQL)) {
+        fail(pg_last_error($oDB->connection));
+    }
     echo ".\n";
 
     // pre-create the word list