Removing the artifical entries in the extratags may lead to
an empty hstore. Set it to null in that case.
Fixes #3055.
--
-- This file is part of Nominatim. (https://nominatim.org)
--
--
-- This file is part of Nominatim. (https://nominatim.org)
--
--- Copyright (C) 2022 by the Nominatim developer community.
+-- Copyright (C) 2024 by the Nominatim developer community.
-- For a full list of authors see the git log.
-- Trigger functions for the placex table.
-- For a full list of authors see the git log.
-- Trigger functions for the placex table.
result := deleteLocationArea(NEW.partition, NEW.place_id, NEW.rank_search);
NEW.extratags := NEW.extratags - 'linked_place'::TEXT;
result := deleteLocationArea(NEW.partition, NEW.place_id, NEW.rank_search);
NEW.extratags := NEW.extratags - 'linked_place'::TEXT;
+ IF NEW.extratags = ''::hstore THEN
+ NEW.extratags := NULL;
+ END IF;
-- NEW.linked_place_id contains the precomputed linkee. Save this and restore
-- the previous link status.
-- NEW.linked_place_id contains the precomputed linkee. Save this and restore
-- the previous link status.
When marking for delete N1
Then placex contains
| object | extratags |
When marking for delete N1
Then placex contains
| object | extratags |
Scenario: Update linked_place info when linkee type changes
Given the 0.1 grid
Scenario: Update linked_place info when linkee type changes
Given the 0.1 grid