mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-11-26 13:27:52 +03:00
PR review changes
This commit is contained in:
parent
1d81c17335
commit
c1beefd543
@ -159,17 +159,8 @@ if ($aCMDResult['setup-db'] || $aCMDResult['all']) {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// 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);
|
||||
|
||||
if (PEAR::isError($oResult)) {
|
||||
echo "\nERROR: Failed to load nominatim module. Reason:\n";
|
||||
echo $oResult->userinfo."\n\n";
|
||||
exit(1);
|
||||
if (!checkModulePresence()) {
|
||||
fail('error loading nominatim.so module');
|
||||
}
|
||||
|
||||
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']) {
|
||||
info('Create Functions');
|
||||
$bDidSomething = true;
|
||||
|
||||
if (!checkModulePresence()) {
|
||||
fail('error loading nominatim.so module');
|
||||
}
|
||||
|
||||
create_sql_functions($aCMDResult);
|
||||
}
|
||||
|
||||
@ -949,3 +945,23 @@ function create_sql_functions($aCMDResult)
|
||||
}
|
||||
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('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-all', '', 0, 1, 0, 0, 'bool', 'Import updates forever'),
|
||||
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";
|
||||
fail('pyosmium-get-changes not found or not usable');
|
||||
}
|
||||
if ($aResult['update-functions']) {
|
||||
if (!$aResult['no-update-functions']) {
|
||||
$sSetup = CONST_InstallPath.'/utils/setup.php';
|
||||
$iRet = -1;
|
||||
passthru($argv[0].' '.$sSetup.' --create-functions --enable-diff-updates', $iRet);
|
||||
passthru($sSetup.' --create-functions --enable-diff-updates', $iRet);
|
||||
if ($iRet != 0) {
|
||||
fail('Error running setup script');
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user