]> git.openstreetmap.org Git - nominatim.git/commitdiff
fix loading of data without wikipedia files
authorSarah Hoffmann <lonvia@denofr.de>
Sun, 17 Nov 2019 22:58:43 +0000 (23:58 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Sun, 17 Nov 2019 22:58:43 +0000 (23:58 +0100)
Also removes unused place_boundingbox table.

lib/setup/SetupClass.php
sql/functions.sql
sql/tables.sql

index 1c4547e3a9c6f85fd689568234758c2f7121fc13..2fdb3926d59ecc23d2f26ecc75e94776f3b81ca8 100755 (executable)
@@ -160,13 +160,6 @@ class SetupFunctions
         if ($this->bNoPartitions) {
             $this->pgsqlRunScript('update country_name set partition = 0');
         }
-
-        // the following will be needed by createFunctions later but
-        // is only defined in the subsequently called createTables
-        // Create dummies here that will be overwritten by the proper
-        // versions in create-tables.
-        $this->pgsqlRunScript('CREATE TABLE IF NOT EXISTS place_boundingbox ()');
-        $this->pgsqlRunScript('CREATE TYPE wikipedia_article_match AS ()', false);
     }
 
     public function importData($sOSMFile)
@@ -323,11 +316,11 @@ class SetupFunctions
 
     public function importWikipediaArticles()
     {
-        $this->pgExec('DROP TABLE wikipedia_article');
-        $this->pgExec('DROP TABLE wikipedia_redirect');
         $sWikiArticlesFile = CONST_Wikipedia_Data_Path.'/wikimedia-importance.sql.gz';
         if (file_exists($sWikiArticlesFile)) {
             info('Importing wikipedia articles and redirects');
+            $this->pgExec('DROP TABLE IF EXISTS wikipedia_article');
+            $this->pgExec('DROP TABLE IF EXISTS wikipedia_redirect');
             $this->pgsqlRunScriptFile($sWikiArticlesFile);
         } else {
             warn('wikipedia importance dump file not found - places will have default importance');
@@ -346,8 +339,6 @@ class SetupFunctions
         echo '.';
         $this->pgExec('TRUNCATE place_addressline');
         echo '.';
-        $this->pgExec('TRUNCATE place_boundingbox');
-        echo '.';
         $this->pgExec('TRUNCATE location_area');
         echo '.';
         if (!$this->dbReverseOnly()) {
index 9a78887be3f4c1cbe984087bc9c005729c599666..ad2007cb2165bc86a9782122dff7dcdb40dc1b14 100644 (file)
@@ -2622,7 +2622,7 @@ END;
 $$
 LANGUAGE plpgsql IMMUTABLE;
 
-DROP TYPE wikipedia_article_match CASCADE;
+DROP TYPE IF EXISTS wikipedia_article_match CASCADE;
 create type wikipedia_article_match as (
   language TEXT,
   title TEXT,
index 0559abd4a869342a4860a3a94e09cb153cb9954e..0245e3c30f19bd7dd8893ce155490b0d3c7ef49f 100644 (file)
@@ -268,7 +268,9 @@ CREATE TABLE wikipedia_article (
     lon double precision,
     importance double precision,
     osm_type character(1),
-    osm_id bigint
+    osm_id bigint,
+    wd_page_title text,
+    instance_of text
 );
 ALTER TABLE ONLY wikipedia_article ADD CONSTRAINT wikipedia_article_pkey PRIMARY KEY (language, title);
 CREATE INDEX idx_wikipedia_article_osm_id ON wikipedia_article USING btree (osm_type, osm_id);