-
- /**
- * Drop table with the given name if it exists.
- *
- * @param string $sName Name of table to remove.
- *
- * @return null
- */
- private function dropTable($sName)
- {
- if ($this->bVerbose) echo "Dropping table $sName\n";
- $this->db()->deleteTable($sName);
- }
-
- /**
- * Check if the database is in reverse-only mode.
- *
- * @return True if there is no search_name table and infrastructure.
- */
- private function dbReverseOnly()
- {
- return !($this->db()->tableExists('search_name'));
- }
-
- /**
- * Try accessing the C module, so we know early if something is wrong.
- *
- * Raises Nominatim\DatabaseError on failure
- */
- private function checkModulePresence()
- {
- $sModulePath = getSetting('DATABASE_MODULE_PATH', CONST_InstallDir.'/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);';
-
- $oDB = new \Nominatim\DB();
- $oDB->connect();
- $oDB->exec($sSQL, null, 'Database server failed to load '.$sModulePath.'/nominatim.so module');
- }