From: Sarah Hoffmann Date: Sun, 16 Jul 2017 18:32:21 +0000 (+0200) Subject: move adding postcodes to word table to calculation step X-Git-Tag: v3.1.0~88^2~8 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/3c9af7f151f27c05bc5873d4671e887ad95d0181 move adding postcodes to word table to calculation step --- diff --git a/data/words.sql b/data/words.sql index b1aa6677..85578f20 100644 --- a/data/words.sql +++ b/data/words.sql @@ -29787,7 +29787,6 @@ st 5557484 -- prefill word table select count(make_keywords(v)) from (select distinct svals(name) as v from place) as w where v is not null; -select count(getorcreate_postcode_id(v)) from (select distinct address->'postcode' as v from place where address ? 'postcode' and address->'postcode' not similar to '%(,|;)%') as w where v is not null; select count(getorcreate_housenumber_id(make_standard_name(v))) from (select distinct address->'housenumber' as v from place where address ? 'housenumber') as w; -- copy the word frequencies diff --git a/utils/setup.php b/utils/setup.php index 23861201..5236a827 100755 --- a/utils/setup.php +++ b/utils/setup.php @@ -522,9 +522,6 @@ if ($aCMDResult['calculate-postcodes'] || $aCMDResult['all']) { $sSQL .= " WHERE country_code = 'us')"; if (!pg_query($oDB->connection, $sSQL)) fail(pg_last_error($oDB->connection)); - - $sSQL = "SELECT count(getorcreate_postcode_id(postcode)) FROM us_postcode"; - if (!pg_query($oDB->connection, $sSQL)) fail(pg_last_error($oDB->connection)); } // add missing postcodes for GB (if available) @@ -536,8 +533,19 @@ if ($aCMDResult['calculate-postcodes'] || $aCMDResult['all']) { $sSQL .= " WHERE country_code = 'gb')"; if (!pg_query($oDB->connection, $sSQL)) fail(pg_last_error($oDB->connection)); - $sSQL = "SELECT count(getorcreate_postcode_id(postcode)) FROM gb_postcode"; - if (!pg_query($oDB->connection, $sSQL)) fail(pg_last_error($oDB->connection)); + if (!$aCMDResult['all']) { + $sSQL = "DELETE FROM word WHERE class='place' and type='postcode'"; + $sSQL .= "and word NOT IN (SELECT postcode FROM location_postcode)"; + if (!pg_query($oDB->connection, $sSQL)) { + fail(pg_last_error($oDB->connection)); + } + } + $sSQL = "SELECT count(getorcreate_postcode_id(v)) FROM "; + $sSQL .= "(SELECT distinct(postcode) FROM location_postcode) p"; + + if (!pg_query($oDB->connection, $sSQL)) { + fail(pg_last_error($oDB->connection)); + } } if ($aCMDResult['osmosis-init']) {