-#!@PHP_BIN@ -Cq
<?php
-require_once(dirname(dirname(__FILE__)).'/settings/settings.php');
require_once(CONST_BasePath.'/lib/init-cmd.php');
-// ->indirect via init-cmd.php->/lib/cmd.php for runWithEnv, getCmdOpt
-// ->indirect via init-cmd.php->/lib/init.php->db.php for &getDB()
-
require_once(CONST_BasePath.'/lib/setup/SetupClass.php');
require_once(CONST_BasePath.'/lib/setup_functions.php');
ini_set('memory_limit', '800M');
array('setup-db', '', 0, 1, 0, 0, 'bool', 'Build a blank nominatim db'),
array('import-data', '', 0, 1, 0, 0, 'bool', 'Import a osm file'),
array('osm2pgsql-cache', '', 0, 1, 1, 1, 'int', 'Cache size used by osm2pgsql'),
+ array('reverse-only', '', 0, 1, 0, 0, 'bool', 'Do not create search tables and indexes'),
array('create-functions', '', 0, 1, 0, 0, 'bool', 'Create functions'),
array('enable-diff-updates', '', 0, 1, 0, 0, 'bool', 'Turn on the code required to make diff updates work'),
array('enable-debug-statements', '', 0, 1, 0, 0, 'bool', 'Include debug warning statements in pgsql commands'),
// ******************************************************
// instantiate Setup class
-$cSetup = new SetupFunctions($aCMDResult);
+$oSetup = new SetupFunctions($aCMDResult);
// *******************************************************
// go through complete process if 'all' is selected or start selected functions
if ($aCMDResult['create-db'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->createDB();
+ $oSetup->createDB();
}
+$oSetup->connect();
+
if ($aCMDResult['setup-db'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->setupDB();
+ $oSetup->setupDB();
}
// Try accessing the C module, so we know early if something is wrong
-if (!checkModulePresence()) {
- fail('error loading nominatim.so module');
-}
+checkModulePresence(); // raises exception on failure
if ($aCMDResult['import-data'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->importData($aCMDResult['osm-file']);
+ $oSetup->importData($aCMDResult['osm-file']);
}
if ($aCMDResult['create-functions'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->createFunctions();
+ $oSetup->createFunctions();
}
if ($aCMDResult['create-tables'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->createTables();
- $cSetup->createFunctions();
+ $oSetup->createTables($aCMDResult['reverse-only']);
+ $oSetup->createFunctions();
+ $oSetup->createTableTriggers();
}
if ($aCMDResult['create-partition-tables'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->createPartitionTables();
+ $oSetup->createPartitionTables();
}
if ($aCMDResult['create-partition-functions'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->createPartitionFunctions();
+ $oSetup->createPartitionFunctions();
}
if ($aCMDResult['import-wikipedia-articles'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->importWikipediaArticles();
+ $oSetup->importWikipediaArticles();
}
if ($aCMDResult['load-data'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->loadData($aCMDResult['disable-token-precalc']);
+ $oSetup->loadData($aCMDResult['disable-token-precalc']);
}
if ($aCMDResult['import-tiger-data']) {
$bDidSomething = true;
- $cSetup->importTigerData();
+ $oSetup->importTigerData();
}
if ($aCMDResult['calculate-postcodes'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->calculatePostcodes($aCMDResult['all']);
+ $oSetup->calculatePostcodes($aCMDResult['all']);
}
if ($aCMDResult['index'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->index($aCMDResult['index-noanalyse']);
+ $oSetup->index($aCMDResult['index-noanalyse']);
}
if ($aCMDResult['create-search-indices'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->createSearchIndices();
+ $oSetup->createSearchIndices();
}
if ($aCMDResult['create-country-names'] || $aCMDResult['all']) {
$bDidSomething = true;
- $cSetup->createCountryNames($aCMDResult);
+ $oSetup->createCountryNames($aCMDResult);
}
if ($aCMDResult['drop']) {
$bDidSomething = true;
- $cSetup->drop($aCMDResult);
+ $oSetup->drop($aCMDResult);
}
// ******************************************************