extratags should become null when empty

Removing the artifical entries in the extratags may lead to
an empty hstore. Set it to null in that case.

Fixes #3055.
This commit is contained in:
Sarah Hoffmann 2024-02-08 10:21:48 +01:00
parent 1015ac40ae
commit 4c19762e33
2 changed files with 5 additions and 2 deletions

View File

@ -2,7 +2,7 @@
--
-- 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.
@ -794,6 +794,9 @@ BEGIN
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.

View File

@ -258,7 +258,7 @@ Feature: Updates of linked places
When marking for delete N1
Then placex contains
| object | extratags |
| R1 | |
| R1 | - |
Scenario: Update linked_place info when linkee type changes
Given the 0.1 grid