X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/bb1c3f23abe70a618851bdda27e8410b59ab7faf..c80637b05cb7789c4e361ff1ef4ebf895b0f89d3:/utils/update.php diff --git a/utils/update.php b/utils/update.php index 232a23c9..d8ac134a 100755 --- a/utils/update.php +++ b/utils/update.php @@ -156,16 +156,25 @@ if ($bHaveDiff) { } if ($aResult['deduplicate']) { - // - if (getPostgresVersion() < 9.3) { + $oDB =& getDB(); + + if (getPostgresVersion($oDB) < 9.3) { fail("ERROR: deduplicate is only currently supported in postgresql 9.3"); } - $oDB =& getDB(); $sSQL = 'select partition from country_name order by country_code'; $aPartitions = chksql($oDB->getCol($sSQL)); $aPartitions[] = 0; + // we don't care about empty search_name_* artitions, they can't contain mentions of duplicates + foreach ($aPartitions as $i => $sPartition) { + $sSQL = "select count(*) from search_name_".$sPartition; + $nEntries = chksql($oDB->getOne($sSQL)); + if ($nEntries == 0) { + unset($aPartitions[$i]); + } + } + $sSQL = "select word_token,count(*) from word where substr(word_token, 1, 1) = ' '"; $sSQL .= " and class is null and type is null and country_code is null"; $sSQL .= " group by word_token having count(*) > 1 order by word_token";