mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
PR review changes
This commit is contained in:
@@ -159,17 +159,8 @@ if ($aCMDResult['setup-db'] || $aCMDResult['all']) {
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Try accessing the C module, so we know early if something is wrong
|
if (!checkModulePresence()) {
|
||||||
// and can simply error out.
|
fail('error loading nominatim.so module');
|
||||||
$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);';
|
|
||||||
$oResult = $oDB->query($sSQL);
|
|
||||||
|
|
||||||
if (PEAR::isError($oResult)) {
|
|
||||||
echo "\nERROR: Failed to load nominatim module. Reason:\n";
|
|
||||||
echo $oResult->userinfo."\n\n";
|
|
||||||
exit(1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!file_exists(CONST_ExtraDataPath.'/country_osm_grid.sql.gz')) {
|
if (!file_exists(CONST_ExtraDataPath.'/country_osm_grid.sql.gz')) {
|
||||||
@@ -252,6 +243,11 @@ if ($aCMDResult['import-data'] || $aCMDResult['all']) {
|
|||||||
if ($aCMDResult['create-functions'] || $aCMDResult['all']) {
|
if ($aCMDResult['create-functions'] || $aCMDResult['all']) {
|
||||||
info('Create Functions');
|
info('Create Functions');
|
||||||
$bDidSomething = true;
|
$bDidSomething = true;
|
||||||
|
|
||||||
|
if (!checkModulePresence()) {
|
||||||
|
fail('error loading nominatim.so module');
|
||||||
|
}
|
||||||
|
|
||||||
create_sql_functions($aCMDResult);
|
create_sql_functions($aCMDResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -949,3 +945,23 @@ function create_sql_functions($aCMDResult)
|
|||||||
}
|
}
|
||||||
pgsqlRunScript($sTemplate);
|
pgsqlRunScript($sTemplate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function checkModulePresence()
|
||||||
|
{
|
||||||
|
// Try accessing the C module, so we know early if something is wrong
|
||||||
|
// and can simply error out.
|
||||||
|
$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);';
|
||||||
|
$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;
|
||||||
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ $aCMDOptions
|
|||||||
|
|
||||||
array('init-updates', '', 0, 1, 0, 0, 'bool', 'Set up database for updating'),
|
array('init-updates', '', 0, 1, 0, 0, 'bool', 'Set up database for updating'),
|
||||||
array('check-for-updates', '', 0, 1, 0, 0, 'bool', 'Check if new updates are available'),
|
array('check-for-updates', '', 0, 1, 0, 0, 'bool', 'Check if new updates are available'),
|
||||||
array('update-functions', '', 0, 1, 0, 0, 'bool', 'Update trigger functions to support differential updates'),
|
array('no-update-functions', '', 0, 1, 0, 0, 'bool', 'Do not update trigger functions to support differential updates (assuming the diff update logic is already present)'),
|
||||||
array('import-osmosis', '', 0, 1, 0, 0, 'bool', 'Import updates once'),
|
array('import-osmosis', '', 0, 1, 0, 0, 'bool', 'Import updates once'),
|
||||||
array('import-osmosis-all', '', 0, 1, 0, 0, 'bool', 'Import updates forever'),
|
array('import-osmosis-all', '', 0, 1, 0, 0, 'bool', 'Import updates forever'),
|
||||||
array('no-index', '', 0, 1, 0, 0, 'bool', 'Do not index the new data'),
|
array('no-index', '', 0, 1, 0, 0, 'bool', 'Do not index the new data'),
|
||||||
@@ -98,10 +98,10 @@ if ($aResult['init-updates']) {
|
|||||||
echo "and have set up CONST_Pyosmium_Binary to point to pyosmium-get-changes.\n";
|
echo "and have set up CONST_Pyosmium_Binary to point to pyosmium-get-changes.\n";
|
||||||
fail('pyosmium-get-changes not found or not usable');
|
fail('pyosmium-get-changes not found or not usable');
|
||||||
}
|
}
|
||||||
if ($aResult['update-functions']) {
|
if (!$aResult['no-update-functions']) {
|
||||||
$sSetup = CONST_InstallPath.'/utils/setup.php';
|
$sSetup = CONST_InstallPath.'/utils/setup.php';
|
||||||
$iRet = -1;
|
$iRet = -1;
|
||||||
passthru($argv[0].' '.$sSetup.' --create-functions --enable-diff-updates', $iRet);
|
passthru($sSetup.' --create-functions --enable-diff-updates', $iRet);
|
||||||
if ($iRet != 0) {
|
if ($iRet != 0) {
|
||||||
fail('Error running setup script');
|
fail('Error running setup script');
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user