mirror of
https://github.com/osm-search/Nominatim.git
synced 2024-11-27 10:43:02 +03:00
avoid unnecessary SQL when rechecking rank restrictions
This commit is contained in:
parent
0d4c1e8460
commit
e7e7ae0104
@ -1739,20 +1739,19 @@ class Geocode
|
|||||||
if ($this->aAddressRankList) {
|
if ($this->aAddressRankList) {
|
||||||
$sSQL .= " OR placex.rank_address in (".join(',', $this->aAddressRankList).")";
|
$sSQL .= " OR placex.rank_address in (".join(',', $this->aAddressRankList).")";
|
||||||
}
|
}
|
||||||
if (CONST_Use_US_Tiger_Data) {
|
$sSQL .= " ) ";
|
||||||
$sSQL .= " ) ";
|
if (CONST_Use_US_Tiger_Data && $this->iMaxAddressRank == 30) {
|
||||||
$sSQL .= "UNION ";
|
$sSQL .= "UNION ";
|
||||||
$sSQL .= " SELECT place_id ";
|
$sSQL .= " SELECT place_id ";
|
||||||
$sSQL .= " FROM location_property_tiger ";
|
$sSQL .= " FROM location_property_tiger ";
|
||||||
$sSQL .= " WHERE place_id in (".join(',', array_keys($aResultPlaceIDs)).") ";
|
$sSQL .= " WHERE place_id in (".join(',', array_keys($aResultPlaceIDs)).") ";
|
||||||
$sSQL .= " AND (30 between $this->iMinAddressRank and $this->iMaxAddressRank ";
|
|
||||||
if ($this->aAddressRankList) $sSQL .= " OR 30 in (".join(',', $this->aAddressRankList).")";
|
|
||||||
}
|
}
|
||||||
$sSQL .= ") UNION ";
|
if ($this->iMaxAddressRank == 30) {
|
||||||
$sSQL .= " SELECT place_id ";
|
$sSQL .= "UNION ";
|
||||||
$sSQL .= " FROM location_property_osmline ";
|
$sSQL .= " SELECT place_id ";
|
||||||
$sSQL .= " WHERE place_id in (".join(',', array_keys($aResultPlaceIDs)).")";
|
$sSQL .= " FROM location_property_osmline ";
|
||||||
$sSQL .= " AND startnumber is not NULL AND (30 between $this->iMinAddressRank and $this->iMaxAddressRank)";
|
$sSQL .= " WHERE place_id in (".join(',', array_keys($aResultPlaceIDs)).")";
|
||||||
|
}
|
||||||
if (CONST_Debug) var_dump($sSQL);
|
if (CONST_Debug) var_dump($sSQL);
|
||||||
$aFilteredPlaceIDs = chksql($this->oDB->getCol($sSQL));
|
$aFilteredPlaceIDs = chksql($this->oDB->getCol($sSQL));
|
||||||
$tempIDs = array();
|
$tempIDs = array();
|
||||||
|
Loading…
Reference in New Issue
Block a user