Use custom enum type
This commit is contained in:
parent
0df15c613e
commit
ab80b2212e
@ -1,13 +1,13 @@
|
|||||||
CREATE OR REPLACE FUNCTION layer_city(bbox geometry, zoom_level int, pixel_width numeric)
|
CREATE OR REPLACE FUNCTION layer_city(bbox geometry, zoom_level int, pixel_width numeric)
|
||||||
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, place text, scalerank int) AS $$
|
RETURNS TABLE(osm_id bigint, geometry geometry, name text, name_en text, place text, scalerank int) AS $$
|
||||||
SELECT osm_id, geometry, name, name_en, place, scalerank
|
SELECT osm_id, geometry, name, name_en, place::text, scalerank
|
||||||
FROM osm_place_point
|
FROM osm_place_point
|
||||||
WHERE geometry && bbox
|
WHERE geometry && bbox
|
||||||
AND ((zoom_level = 2 AND scalerank = 0)
|
AND ((zoom_level = 2 AND scalerank = 0)
|
||||||
OR (zoom_level BETWEEN 3 AND 7 AND scalerank < zoom_level)
|
OR (zoom_level BETWEEN 3 AND 7 AND scalerank < zoom_level)
|
||||||
)
|
)
|
||||||
UNION ALL
|
UNION ALL
|
||||||
SELECT osm_id, geometry, name, name_en, place, scalerank FROM (
|
SELECT osm_id, geometry, name, name_en, place::text, scalerank FROM (
|
||||||
SELECT osm_id, geometry, name, name_en, place, scalerank,
|
SELECT osm_id, geometry, name, name_en, place, scalerank,
|
||||||
row_number() OVER (
|
row_number() OVER (
|
||||||
PARTITION BY LabelGrid(geometry, 150 * pixel_width)
|
PARTITION BY LabelGrid(geometry, 150 * pixel_width)
|
||||||
|
|||||||
@ -5,3 +5,5 @@ BEGIN
|
|||||||
END IF;
|
END IF;
|
||||||
END
|
END
|
||||||
$$;
|
$$;
|
||||||
|
|
||||||
|
ALTER TABLE osm_place_point ALTER COLUMN place TYPE place_subclass USING place::place_subclass;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user