]> git.openstreetmap.org Git - nominatim.git/blob - sql/partition-tables.src.sql
Merge pull request #1443 from lonvia/reorganize-search-name-partition-tables
[nominatim.git] / sql / partition-tables.src.sql
1 drop type if exists nearplace cascade;
2 create type nearplace as (
3   place_id BIGINT
4 );
5
6 drop type if exists nearfeature cascade;
7 create type nearfeature as (
8   place_id BIGINT,
9   keywords int[],
10   rank_address smallint,
11   rank_search smallint,
12   distance float,
13   isguess boolean
14 );
15
16 drop type if exists nearfeaturecentr cascade;
17 create type nearfeaturecentr as (
18   place_id BIGINT,
19   keywords int[],
20   rank_address smallint,
21   rank_search smallint,
22   distance float,
23   isguess boolean,
24   postcode TEXT,
25   centroid GEOMETRY
26 );
27
28 drop table IF EXISTS search_name_blank CASCADE;
29 CREATE TABLE search_name_blank (
30   place_id BIGINT,
31   search_rank smallint,
32   address_rank smallint,
33   name_vector integer[],
34   centroid GEOMETRY(Geometry, 4326)
35   );
36
37
38 -- start
39 CREATE TABLE location_area_large_-partition- () INHERITS (location_area_large) {ts:address-data};
40 CREATE INDEX idx_location_area_large_-partition-_place_id ON location_area_large_-partition- USING BTREE (place_id) {ts:address-index};
41 CREATE INDEX idx_location_area_large_-partition-_geometry ON location_area_large_-partition- USING GIST (geometry) {ts:address-index};
42
43 CREATE TABLE search_name_-partition- () INHERITS (search_name_blank) {ts:address-data};
44 CREATE INDEX idx_search_name_-partition-_place_id ON search_name_-partition- USING BTREE (place_id) {ts:address-index};
45 CREATE INDEX idx_search_name_-partition-_centroid_street ON search_name_-partition- USING GIST (centroid) {ts:address-index} where search_rank between 26 and 27;
46 CREATE INDEX idx_search_name_-partition-_centroid_place ON search_name_-partition- USING GIST (centroid) {ts:address-index} where search_rank between 2 and 25;
47
48 DROP TABLE IF EXISTS location_road_-partition-;
49 CREATE TABLE location_road_-partition- (
50   place_id BIGINT,
51   partition SMALLINT,
52   country_code VARCHAR(2),
53   geometry GEOMETRY(Geometry, 4326)
54   ) {ts:address-data};
55 CREATE INDEX idx_location_road_-partition-_geometry ON location_road_-partition- USING GIST (geometry) {ts:address-index};
56 CREATE INDEX idx_location_road_-partition-_place_id ON location_road_-partition- USING BTREE (place_id) {ts:address-index};
57
58 -- end