]> git.openstreetmap.org Git - nominatim.git/commitdiff
force use of geometry index for reverse polygon lookup
authorSarah Hoffmann <lonvia@denofr.de>
Sun, 20 Nov 2022 19:22:44 +0000 (20:22 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Sun, 20 Nov 2022 19:22:44 +0000 (20:22 +0100)
lib-php/ReverseGeocode.php

index 7732ffbc9f3f3687e23285cdeca78df7afff69dd..d12e4da3c8d65c4ae9ba02f10a4a0d333d1e77f6 100644 (file)
@@ -189,7 +189,8 @@ class ReverseGeocode
         $sSQL .= '(select place_id, parent_place_id, rank_address, rank_search, country_code, geometry';
         $sSQL .= ' FROM placex';
         $sSQL .= ' WHERE ST_GeometryType(geometry) in (\'ST_Polygon\', \'ST_MultiPolygon\')';
-        $sSQL .= ' AND rank_search between 5 and ' .$iMaxRank;
+        // Ensure that query planner doesn't use the index on rank_search.
+        $sSQL .= ' AND coalesce(rank_search, 0) between 5 and ' .$iMaxRank;
         $sSQL .= ' AND rank_address between 4 and 25'; // needed for index selection
         $sSQL .= ' AND geometry && '.$sPointSQL;
         $sSQL .= ' AND type != \'postcode\' ';