X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/94fa7162be678dc74c1a5516e22916122ba66bbb..b05c379b39cc13eaaa42d0d774c25cfc7fa32231:/lib/setup/SetupClass.php diff --git a/lib/setup/SetupClass.php b/lib/setup/SetupClass.php index 635949b9..7a6692d7 100755 --- a/lib/setup/SetupClass.php +++ b/lib/setup/SetupClass.php @@ -162,14 +162,14 @@ class SetupFunctions $this->pgsqlRunScriptFile(CONST_DataDir.'/data/gb_postcode_table.sql'); $this->pgsqlRunScriptFile(CONST_DataDir.'/data/us_postcode_table.sql'); - $sPostcodeFilename = CONST_DataDir.'/data/gb_postcode_data.sql.gz'; + $sPostcodeFilename = CONST_InstallDir.'/gb_postcode_data.sql.gz'; if (file_exists($sPostcodeFilename)) { $this->pgsqlRunScriptFile($sPostcodeFilename); } else { warn('optional external GB postcode table file ('.$sPostcodeFilename.') not found. Skipping.'); } - $sPostcodeFilename = CONST_DataDir.'/data/us_postcode_data.sql.gz'; + $sPostcodeFilename = CONST_InstallDir.'/us_postcode_data.sql.gz'; if (file_exists($sPostcodeFilename)) { $this->pgsqlRunScriptFile($sPostcodeFilename); } else { @@ -290,14 +290,12 @@ class SetupFunctions public function createPartitionFunctions() { info('Create Partition Functions'); - - $sTemplate = file_get_contents(CONST_DataDir.'/sql/partition-functions.src.sql'); - $this->pgsqlRunPartitionScript($sTemplate); + $this->createSqlFunctions(); // also create partition functions } public function importWikipediaArticles() { - $sWikiArticlePath = getSetting('WIKIPEDIA_DATA_PATH', CONST_DataDir.'/data'); + $sWikiArticlePath = getSetting('WIKIPEDIA_DATA_PATH', CONST_InstallDir); $sWikiArticlesFile = $sWikiArticlePath.'/wikimedia-importance.sql.gz'; if (file_exists($sWikiArticlesFile)) { info('Importing wikipedia articles and redirects'); @@ -788,43 +786,18 @@ class SetupFunctions private function createSqlFunctions() { - $sBasePath = CONST_DataDir.'/sql/functions/'; - $sTemplate = file_get_contents($sBasePath.'utils.sql'); - $sTemplate .= file_get_contents($sBasePath.'normalization.sql'); - $sTemplate .= file_get_contents($sBasePath.'ranking.sql'); - $sTemplate .= file_get_contents($sBasePath.'importance.sql'); - $sTemplate .= file_get_contents($sBasePath.'address_lookup.sql'); - $sTemplate .= file_get_contents($sBasePath.'interpolation.sql'); - if ($this->db()->tableExists('place')) { - $sTemplate .= file_get_contents($sBasePath.'place_triggers.sql'); - } - if ($this->db()->tableExists('placex')) { - $sTemplate .= file_get_contents($sBasePath.'placex_triggers.sql'); - } - if ($this->db()->tableExists('location_postcode')) { - $sTemplate .= file_get_contents($sBasePath.'postcode_triggers.sql'); - } - $sTemplate = str_replace('{modulepath}', $this->sModulePath, $sTemplate); - if ($this->bEnableDiffUpdates) { - $sTemplate = str_replace('RETURN NEW; -- %DIFFUPDATES%', '--', $sTemplate); + $oCmd = (clone($this->oNominatimCmd)) + ->addParams('refresh', '--functions'); + + if (!$this->bEnableDiffUpdates) { + $oCmd->addParams('--no-diff-updates'); } + if ($this->bEnableDebugStatements) { - $sTemplate = str_replace('--DEBUG:', '', $sTemplate); - } - if (getSettingBool('LIMIT_REINDEXING')) { - $sTemplate = str_replace('--LIMIT INDEXING:', '', $sTemplate); + $oCmd->addParams('--enable-debug-statements'); } - if (!getSettingBool('USE_US_TIGER_DATA')) { - $sTemplate = str_replace('-- %NOTIGERDATA% ', '', $sTemplate); - } - if (!getSettingBool('USE_AUX_LOCATION_DATA')) { - $sTemplate = str_replace('-- %NOAUXDATA% ', '', $sTemplate); - } - - $sReverseOnly = $this->dbReverseOnly() ? 'true' : 'false'; - $sTemplate = str_replace('%REVERSE-ONLY%', $sReverseOnly, $sTemplate); - $this->pgsqlRunScript($sTemplate); + $oCmd->run(); } private function pgsqlRunPartitionScript($sTemplate)