if (!pg_query($oDB->connection, $sSQL)) fail(pg_last_error($oDB->connection));
}
+
+ // 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));
+ }
}
if ($aCMDResult['osmosis-init']) {
passthruCheckReturn($sBaseCmd.' -r 26');
echo "Indexing postcodes....\n";
+ $oDB =& getDB();
$sSQL = 'UPDATE location_postcode SET indexed_status = 0';
if (!pg_query($oDB->connection, $sSQL)) fail(pg_last_error($oDB->connection));
}