Do insensitive case compare using lower() and not ILIKE (#961)

* Replace ILIKE by lower() for insensitive case compare

* Refactoring SQL insensitive case compare
This commit is contained in:
Frédéric Rodrigo
2020-08-06 09:14:47 +02:00
committed by GitHub
parent 6a512af90f
commit 232379b3ca
2 changed files with 4 additions and 14 deletions

View File

@@ -20,16 +20,8 @@ BEGIN
osm_city_point AS osm
WHERE (
(osm.tags ? 'wikidata' AND osm.tags->'wikidata' = ne.wikidataid) OR
ne.name ILIKE osm.name OR
ne.name ILIKE osm.name_en OR
ne.namealt ILIKE osm.name OR
ne.namealt ILIKE osm.name_en OR
ne.meganame ILIKE osm.name OR
ne.meganame ILIKE osm.name_en OR
ne.gn_ascii ILIKE osm.name OR
ne.gn_ascii ILIKE osm.name_en OR
ne.nameascii ILIKE osm.name OR
ne.nameascii ILIKE osm.name_en OR
lower(osm.name) IN (lower(ne.name), lower(ne.namealt), lower(ne.meganame), lower(ne.gn_ascii), lower(ne.nameascii)) OR
lower(osm.name_en) IN (lower(ne.name), lower(ne.namealt), lower(ne.meganame), lower(ne.gn_ascii), lower(ne.nameascii)) OR
ne.name = unaccent(osm.name)
)
AND osm.place IN ('city', 'town', 'village')