Make the sql rerunnable without error

This commit is contained in:
stirringhalo
2017-01-05 12:47:10 -05:00
parent c5f05e7c3a
commit 9437a1b8d6
9 changed files with 57 additions and 16 deletions

View File

@@ -3,7 +3,7 @@ ALTER TABLE osm_state_point DROP CONSTRAINT IF EXISTS osm_state_point_rank_const
-- etldoc: ne_10m_admin_1_states_provinces_shp -> osm_state_point
-- etldoc: osm_state_point -> osm_state_point
CREATE FUNCTION update_osm_state_point() RETURNS VOID AS $$
CREATE OR REPLACE FUNCTION update_osm_state_point() RETURNS VOID AS $$
BEGIN
WITH important_state_point AS (
@@ -39,7 +39,7 @@ CREATE INDEX IF NOT EXISTS osm_state_point_rank_idx ON osm_state_point("rank");
-- Handle updates
CREATE SCHEMA place_state;
CREATE SCHEMA IF NOT EXISTS place_state;
CREATE TABLE IF NOT EXISTS place_state.updates(id serial primary key, t text, unique (t));
CREATE OR REPLACE FUNCTION place_state.flag() RETURNS trigger AS $$
@@ -60,6 +60,9 @@ CREATE OR REPLACE FUNCTION place_state.refresh() RETURNS trigger AS
$BODY$
language plpgsql;
DROP TRIGGER IF EXISTS trigger_flag ON osm_state_point;
DROP TRIGGER IF EXISTS trigger_refresh ON place_state.updates;
CREATE TRIGGER trigger_flag
AFTER INSERT OR UPDATE OR DELETE ON osm_state_point
FOR EACH STATEMENT