namespace Nominatim\Setup;
+require_once(CONST_BasePath.'/lib/setup/AddressLevelParser.php');
+
class SetupFunctions
{
protected $iCacheMemory;
protected $iInstances;
protected $sModulePath;
protected $aDSNInfo;
- protected $sVerbose;
+ protected $bVerbose;
protected $sIgnoreErrors;
protected $bEnableDiffUpdates;
protected $bEnableDebugStatements;
}
// setting member variables based on command line options stored in $aCMDResult
- $this->sVerbose = $aCMDResult['verbose'];
+ $this->bVerbose = $aCMDResult['verbose'];
//setting default values which are not set by the update.php array
if (isset($aCMDResult['ignore-errors'])) {
fail("osm2pgsql not found in '$osm2pgsql'");
}
+ $osm2pgsql .= ' -S '.CONST_Import_Style;
+
if (!is_null(CONST_Osm2pgsql_Flatnode_File) && CONST_Osm2pgsql_Flatnode_File) {
$osm2pgsql .= ' --flat-nodes '.CONST_Osm2pgsql_Flatnode_File;
}
if ($bReverseOnly) {
$this->pgExec('DROP TABLE search_name');
}
+
+ $oAlParser = new AddressLevelParser(CONST_Address_Level_Config);
+ $oAlParser->createTable($this->oDB, 'address_levels');
}
public function createPartitionTables()
$sSQL .= " and not (class='place' and type='houses' and osm_type='W'";
$sSQL .= " and ST_GeometryType(geometry) = 'ST_LineString')";
$sSQL .= ' and ST_IsValid(geometry)';
- if ($this->sVerbose) echo "$sSQL\n";
+ if ($this->bVerbose) echo "$sSQL\n";
if (!pg_send_query($aDBInstances[$i]->connection, $sSQL)) {
fail(pg_last_error($aDBInstances[$i]->connection));
}
$sSQL .= ' (osm_id, address, linegeo)';
$sSQL .= ' SELECT osm_id, address, geometry from place where ';
$sSQL .= "class='place' and type='houses' and osm_type='W' and ST_GeometryType(geometry) = 'ST_LineString'";
- if ($this->sVerbose) echo "$sSQL\n";
+ if ($this->bVerbose) echo "$sSQL\n";
if (!pg_send_query($aDBInstances[$iLoadThreads]->connection, $sSQL)) {
fail(pg_last_error($aDBInstances[$iLoadThreads]->connection));
}
'new_query_log',
'spatial_ref_sys',
'country_name',
- 'place_classtype_*'
+ 'place_classtype_*',
+ 'country_osm_grid'
);
$aDropTables = array();
if (!$bFound) array_push($aDropTables, $sTable);
}
foreach ($aDropTables as $sDrop) {
- if ($this->sVerbose) echo "Dropping table $sDrop\n";
+ if ($this->bVerbose) echo "Dropping table $sDrop\n";
@pg_query($this->oDB->connection, "DROP TABLE $sDrop CASCADE");
// ignore warnings/errors as they might be caused by a table having
// been deleted already by CASCADE
if (!is_null(CONST_Osm2pgsql_Flatnode_File) && CONST_Osm2pgsql_Flatnode_File) {
if (file_exists(CONST_Osm2pgsql_Flatnode_File)) {
- if ($this->sVerbose) echo 'Deleting '.CONST_Osm2pgsql_Flatnode_File."\n";
+ if ($this->bVerbose) echo 'Deleting '.CONST_Osm2pgsql_Flatnode_File."\n";
unlink(CONST_Osm2pgsql_Flatnode_File);
}
}
runSQLScript(
$sScript,
$bfatal,
- $this->sVerbose,
+ $this->bVerbose,
$this->sIgnoreErrors
);
}
if (!file_exists($sFilename)) fail('unable to find '.$sFilename);
$sCMD = 'psql -p '.$this->aDSNInfo['port'].' -d '.$this->aDSNInfo['database'];
- if (!$this->sVerbose) {
+ if (!$this->bVerbose) {
$sCMD .= ' -q';
}
if (isset($this->aDSNInfo['hostspec'])) {
private function runWithPgEnv($sCmd)
{
+ if ($this->bVerbose) {
+ echo "Execute: $sCmd\n";
+ }
+
$aProcEnv = null;
if (isset($this->aDSNInfo['password'])) {