WHERE make_standard_name(name->'name') = bnd_name
AND placex.rank_address = bnd.rank_address
AND placex.osm_type = 'N'
+ AND placex.rank_search < 26 -- needed to select the right index
AND st_covers(geometry, placex.geometry)
LOOP
--DEBUG: RAISE WARNING 'Found matching place node %', linkedPlacex.osm_id;
RETURN NULL;
END;
$$
-LANGUAGE plpgsql;
+LANGUAGE plpgsql STABLE;
CREATE OR REPLACE FUNCTION placex_insert()
RETURNS TRIGGER
CREATE INDEX idx_placex_linked_place_id ON placex USING BTREE (linked_place_id) {ts:address-index} WHERE linked_place_id IS NOT NULL;
CREATE INDEX idx_placex_rank_search ON placex USING BTREE (rank_search, geometry_sector) {ts:address-index};
CREATE INDEX idx_placex_geometry ON placex USING GIST (geometry) {ts:search-index};
-CREATE INDEX idx_placex_adminname on placex USING BTREE (make_standard_name(name->'name'),rank_search) {ts:address-index} WHERE osm_type='N' and rank_search < 26;
+CREATE INDEX idx_placex_adminname on placex USING BTREE (make_standard_name(name->'name')) {ts:address-index} WHERE osm_type='N' and rank_search < 26;
DROP SEQUENCE IF EXISTS seq_place;
CREATE SEQUENCE seq_place start 1;