poi and housenumber triggers

pull/131/head
stirringhalo 2017-01-04 17:54:15 -05:00
rodzic f1ee63e4bb
commit 8b4777fd79
2 zmienionych plików z 67 dodań i 0 usunięć

Wyświetl plik

@ -7,3 +7,37 @@ END;
$$ LANGUAGE plpgsql;
SELECT convert_housenumber_point();
-- Handle updates
CREATE SCHEMA housenumber;
CREATE TABLE IF NOT EXISTS housenumber.updates(id serial primary key, t text, unique (t));
CREATE OR REPLACE FUNCTION housenumber.flag() RETURNS trigger AS $$
BEGIN
INSERT INTO housenumber.updates(t) VALUES ('y') ON CONFLICT(t) DO NOTHING;
RETURN null;
END;
$$ language plpgsql;
CREATE OR REPLACE FUNCTION housenumber.refresh() RETURNS trigger AS
$BODY$
BEGIN
RAISE LOG 'Refresh housenumber';
SELECT convert_housenumber_point();
DELETE FROM housenumber.updates;
RETURN null;
END;
$BODY$
language plpgsql;
CREATE TRIGGER trigger_flag
AFTER INSERT OR UPDATE OR DELETE ON osm_housenumber_point
FOR EACH STATEMENT
EXECUTE PROCEDURE housenumber.flag();
CREATE CONSTRAINT TRIGGER trigger_refresh
AFTER INSERT ON housenumber.updates
INITIALLY DEFERRED
FOR EACH ROW
EXECUTE PROCEDURE housenumber.refresh();

Wyświetl plik

@ -9,3 +9,36 @@ $$ LANGUAGE plpgsql;
SELECT convert_poi_point();
-- Handle updates
CREATE SCHEMA poi;
CREATE TABLE IF NOT EXISTS poi.updates(id serial primary key, t text, unique (t));
CREATE OR REPLACE FUNCTION poi.flag() RETURNS trigger AS $$
BEGIN
INSERT INTO poi.updates(t) VALUES ('y') ON CONFLICT(t) DO NOTHING;
RETURN null;
END;
$$ language plpgsql;
CREATE OR REPLACE FUNCTION poi.refresh() RETURNS trigger AS
$BODY$
BEGIN
RAISE LOG 'Refresh poi';
SELECT convert_poi_point();
DELETE FROM poi.updates;
RETURN null;
END;
$BODY$
language plpgsql;
CREATE TRIGGER trigger_flag
AFTER INSERT OR UPDATE OR DELETE ON osm_poi_polygon
FOR EACH STATEMENT
EXECUTE PROCEDURE poi.flag();
CREATE CONSTRAINT TRIGGER trigger_refresh
AFTER INSERT ON poi.updates
INITIALLY DEFERRED
FOR EACH ROW
EXECUTE PROCEDURE poi.refresh();