New files for setup

This commit is contained in:
Carla Iriberri
2015-10-19 14:45:43 +02:00
parent 85c19d0e8f
commit 59c7d6b6eb
11 changed files with 51 additions and 0 deletions

View File

@@ -0,0 +1,10 @@
-- create indexes on synonyms table
CREATE INDEX idx_admin0_synonyms_name_patt ON admin0_synonyms (name_ text_pattern_ops);
--CREATE INDEX idx_admin0_synonyms_name ON admin0_synonyms (lower(regexp_replace(name, '\W+'::text, ''::text)));
CREATE INDEX idx_admin0_synonyms_name_ ON admin0_synonyms (name_);
--CREATE INDEX idx_admin0_synonyms_nam ON admin0_synonyms (name);
CREATE INDEX idx_admin0_synonyms_rank ON admin0_synonyms (rank);
CREATE INDEX idx_admin0_synonyms_name_rank ON admin0_synonyms (name_, rank);
-- create indexes on polygon table
CREATE UNIQUE INDEX idx_ne_admin0_v3_adm0_a3 ON ne_admin0_v3 (adm0_a3);

View File

@@ -0,0 +1,4 @@
-- Response types for admin0 geocoder
CREATE TYPE geocode_admin_v1 AS (q TEXT, geom GEOMETRY, success BOOLEAN);
CREATE TYPE synonym_lookup_v1 AS (q TEXT, s TEXT);
--CREATE TYPE synonym_lookup_v1 AS (q TEXT, adm0_a3 TEXT);

View File

@@ -0,0 +1,12 @@
-- create trigger function. used in both admin0 and admin1 synonym tables
CREATE OR REPLACE FUNCTION alpha_numeric_identifiers() RETURNS trigger AS $alpha_numeric_identifiers$
BEGIN
NEW.name_ := lower(regexp_replace(NEW.name, '[^a-zA-Z\u00C0-\u00ff]+', '', 'g'));
RETURN NEW;
END;
$alpha_numeric_identifiers$ LANGUAGE plpgsql;
-- add trigger on admin0 synonym table name_ column
CREATE TRIGGER admin0_synonyms_name_update
BEFORE INSERT OR UPDATE OF name ON admin0_synonyms
FOR EACH ROW EXECUTE PROCEDURE alpha_numeric_identifiers()