-- \param centroid Location of the address.
--
-- \return Place ID of the parent if one was found, NULL otherwise.
--- The returned parent is always a street (rank 26/27 and a way).
CREATE OR REPLACE FUNCTION find_parent_for_address(street TEXT, place TEXT,
partition SMALLINT,
centroid GEOMETRY)
-- Note that addr:street links can only be indexed, once the street itself is indexed
word_ids := word_ids_from_name(street);
IF word_ids is not null THEN
- SELECT place_id
- FROM getNearestNamedRoadFeature(partition, centroid, word_ids)
- INTO parent_place_id;
+ parent_place_id := getNearestNamedRoadFeature(partition, centroid, word_ids);
IF parent_place_id is not null THEN
--DEBUG: RAISE WARNING 'Get parent form addr:street: %', parent.place_id;
RETURN parent_place_id;
IF place is not null THEN
word_ids := word_ids_from_name(place);
IF word_ids is not null THEN
- SELECT place_id
- FROM getNearestNamedPlaceFeature(partition, centroid, word_ids)
- INTO parent_place_id;
+ parent_place_id := getNearestNamedPlaceFeature(partition, centroid, word_ids);
IF parent_place_id is not null THEN
--DEBUG: RAISE WARNING 'Get parent form addr:place: %', parent.place_id;
RETURN parent_place_id;