mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
make classtype table update work when special schemas are used
patch from https://trac.openstreetmap.org/ticket/5037
This commit is contained in:
@@ -1245,7 +1245,7 @@ BEGIN
|
|||||||
-- Note: won't work on initial import because the classtype tables
|
-- Note: won't work on initial import because the classtype tables
|
||||||
-- do not yet exist. It won't hurt either.
|
-- do not yet exist. It won't hurt either.
|
||||||
classtable := 'place_classtype_' || NEW.class || '_' || NEW.type;
|
classtable := 'place_classtype_' || NEW.class || '_' || NEW.type;
|
||||||
SELECT count(*)>0 FROM pg_tables WHERE tablename = classtable INTO result;
|
SELECT count(*)>0 FROM pg_tables WHERE tablename = classtable and schemaname = current_schema() INTO result;
|
||||||
IF result THEN
|
IF result THEN
|
||||||
EXECUTE 'INSERT INTO ' || classtable::regclass || ' (place_id, centroid) VALUES ($1,$2)'
|
EXECUTE 'INSERT INTO ' || classtable::regclass || ' (place_id, centroid) VALUES ($1,$2)'
|
||||||
USING NEW.place_id, ST_Centroid(NEW.geometry);
|
USING NEW.place_id, ST_Centroid(NEW.geometry);
|
||||||
@@ -1987,7 +1987,7 @@ BEGIN
|
|||||||
|
|
||||||
-- remove from tables for special search
|
-- remove from tables for special search
|
||||||
classtable := 'place_classtype_' || OLD.class || '_' || OLD.type;
|
classtable := 'place_classtype_' || OLD.class || '_' || OLD.type;
|
||||||
SELECT count(*)>0 FROM pg_tables WHERE tablename = classtable INTO b;
|
SELECT count(*)>0 FROM pg_tables WHERE tablename = classtable and schemaname = current_schema() INTO b;
|
||||||
IF b THEN
|
IF b THEN
|
||||||
EXECUTE 'DELETE FROM ' || classtable::regclass || ' WHERE place_id = $1' USING OLD.place_id;
|
EXECUTE 'DELETE FROM ' || classtable::regclass || ' WHERE place_id = $1' USING OLD.place_id;
|
||||||
END IF;
|
END IF;
|
||||||
|
|||||||
Reference in New Issue
Block a user