X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/a86563cfb1843cd186184dec4028b8d442925323..1fb847a5ad75fd0641bdc9bf7a6a8ce7db9e74c4:/sql/tables.sql diff --git a/sql/tables.sql b/sql/tables.sql index 49338c4a..19398eb5 100644 --- a/sql/tables.sql +++ b/sql/tables.sql @@ -13,29 +13,6 @@ CREATE TABLE import_osmosis_log ( event text ); -drop table if exists import_npi_log; -CREATE TABLE import_npi_log ( - npiid integer, - batchend timestamp, - batchsize integer, - starttime timestamp, - endtime timestamp, - event text - ); - ---drop table IF EXISTS query_log; -CREATE TABLE query_log ( - starttime timestamp, - query text, - ipaddress text, - endtime timestamp, - results integer - ); -CREATE INDEX idx_query_log ON query_log USING BTREE (starttime); -GRANT SELECT ON query_log TO "{www-user}" ; -GRANT INSERT ON query_log TO "{www-user}" ; -GRANT UPDATE ON query_log TO "{www-user}" ; - CREATE TABLE new_query_log ( type text, starttime timestamp, @@ -43,6 +20,7 @@ CREATE TABLE new_query_log ( useragent text, language text, query text, + searchterm text, endtime timestamp, results integer, format text, @@ -56,9 +34,6 @@ GRANT SELECT ON new_query_log TO "{www-user}" ; GRANT SELECT ON TABLE country_name TO "{www-user}"; GRANT SELECT ON TABLE gb_postcode TO "{www-user}"; -create view vw_search_query_log as SELECT substr(query, 1, 50) AS query, starttime, endtime - starttime AS duration, substr(useragent, 1, 20) as -useragent, language, results, ipaddress FROM new_query_log WHERE type = 'search' ORDER BY starttime DESC; - drop table IF EXISTS word; CREATE TABLE word ( word_id INTEGER, @@ -100,6 +75,37 @@ CREATE TABLE location_property ( ); SELECT AddGeometryColumn('location_property', 'centroid', 4326, 'POINT', 2); +CREATE TABLE location_property_aux () INHERITS (location_property); +CREATE INDEX idx_location_property_aux_place_id ON location_property_aux USING BTREE (place_id); +CREATE INDEX idx_location_property_aux_parent_place_id ON location_property_aux USING BTREE (parent_place_id); +CREATE INDEX idx_location_property_aux_housenumber_parent_place_id ON location_property_aux USING BTREE (parent_place_id, housenumber); +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, @@ -158,13 +164,15 @@ 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(); -- 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