X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/009882999f1226f2e03f951f76006a19c024daab..924d3a8d6e9d5557f5d0d7b0f22f49a0d524a768:/sql/tables.sql diff --git a/sql/tables.sql b/sql/tables.sql index f99e78f5..8cc2c831 100644 --- a/sql/tables.sql +++ b/sql/tables.sql @@ -84,6 +84,28 @@ GRANT SELECT ON location_property_aux TO "{www-user}"; CREATE TABLE location_property_tiger (linegeo GEOMETRY, place_id BIGINT, partition INTEGER, parent_place_id BIGINT, startnumber INTEGER, endnumber INTEGER, interpolationtype TEXT, postcode TEXT); GRANT SELECT ON location_property_tiger TO "{www-user}"; +drop table if exists location_property_osmline; +CREATE TABLE location_property_osmline ( + linegeo GEOMETRY, + place_id BIGINT NOT NULL, + partition INTEGER, + osm_id BIGINT, + parent_place_id BIGINT, + startnumber INTEGER, + endnumber INTEGER, + interpolationtype TEXT, + street TEXT, + addr_place TEXT, + postcode TEXT, + calculated_country_code VARCHAR(2), + geometry_sector INTEGER, + indexed_status INTEGER, + indexed_date TIMESTAMP){ts:search-data}; +CREATE UNIQUE INDEX idx_osmline_place_id ON location_property_osmline USING BTREE (place_id) {ts:search-index}; +CREATE INDEX idx_osmline_geometry_sector ON location_property_osmline USING BTREE (geometry_sector) {ts:address-index}; +CREATE INDEX idx_osmline_linegeo ON location_property_osmline USING GIST (linegeo) {ts:search-index}; +GRANT SELECT ON location_property_osmline TO "{www-user}"; + drop table IF EXISTS search_name; CREATE TABLE search_name ( place_id BIGINT, @@ -142,13 +164,17 @@ GRANT SELECT ON planet_osm_ways to "{www-user}" ; GRANT SELECT ON planet_osm_rels to "{www-user}" ; GRANT SELECT on location_area to "{www-user}" ; --- insert creates the location tagbles, creates location indexes if indexed == true +-- insert creates the location tables, creates location indexes if indexed == true CREATE TRIGGER placex_before_insert BEFORE INSERT ON placex FOR EACH ROW EXECUTE PROCEDURE placex_insert(); +CREATE TRIGGER osmline_before_insert BEFORE INSERT ON location_property_osmline + FOR EACH ROW EXECUTE PROCEDURE osmline_insert(); -- update insert creates the location tables CREATE TRIGGER placex_before_update BEFORE UPDATE ON placex FOR EACH ROW EXECUTE PROCEDURE placex_update(); +CREATE TRIGGER osmline_before_update BEFORE UPDATE ON location_property_osmline + FOR EACH ROW EXECUTE PROCEDURE osmline_update(); -- diff update triggers CREATE TRIGGER placex_before_delete AFTER DELETE ON placex