+
+ // add missing postcodes for GB (if available)
+ $sSQL = 'INSERT INTO location_postcode';
+ $sSQL .= ' (place_id, indexed_status, country_code, postcode, geometry) ';
+ $sSQL .= "SELECT nextval('seq_place'), 1, 'gb', postcode, geometry";
+ $sSQL .= ' FROM gb_postcode WHERE postcode NOT IN';
+ $sSQL .= ' (SELECT postcode FROM location_postcode';
+ $sSQL .= " WHERE country_code = 'gb')";
+ 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) as v FROM location_postcode) p';
+
+ if (!pg_query($oDB->connection, $sSQL)) {
+ fail(pg_last_error($oDB->connection));
+ }