X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2c6b17f772fec2db0a8a8bac7462efecef92337e..a83424fee50c6837bcadad44ae374de98e4bb1f1:/utils/update.php diff --git a/utils/update.php b/utils/update.php index 8137584c..475e5836 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";