]> git.openstreetmap.org Git - nominatim.git/commitdiff
extratags should become null when empty
authorSarah Hoffmann <lonvia@denofr.de>
Thu, 8 Feb 2024 09:21:48 +0000 (10:21 +0100)
committerSarah Hoffmann <lonvia@denofr.de>
Thu, 8 Feb 2024 09:21:48 +0000 (10:21 +0100)
Removing the artifical entries in the extratags may lead to
an empty hstore. Set it to null in that case.

Fixes #3055.

lib-sql/functions/placex_triggers.sql
test/bdd/db/update/linked_places.feature

index 841b7fd627196718de1c9e8067afb99e868c64ed..530bf541a93182ee7607f56f69b4289c1087d256 100644 (file)
@@ -2,7 +2,7 @@
 --
 -- 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.
@@ -794,6 +794,9 @@ BEGIN
   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.
index 539d928543e5942f3d3647ded9a3be010b3df24d..9204b3bb04d08870a47c9da17fac946926adcbc2 100644 (file)
@@ -258,7 +258,7 @@ Feature: Updates of linked places
         When marking for delete N1
         Then placex contains
             | object | extratags |
         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
 
     Scenario: Update linked_place info when linkee type changes
         Given the 0.1 grid