Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- select * from pg_stat_activity where datname='puzzle_debug' and state!='idle'
- truncate webgl.segment_temp
- ALTER TABLE webgl.segment_gen ADD geomsimp GEOMETRY;
- UPDATE webgl.segment_gen SET geomsimp = topogeometry::geometry;
- INSERT INTO webgl.segment_temp (segment_id, geometry)
- (SELECT id, COALESCE(geomsimp, geometry) AS geometry FROM webgl.segment_gen)
- with latest as (
- select
- s.stable_id as stable_segment_id,
- ws.*
- from
- webgl.segment ws
- join
- segment s
- on
- s.id = ws.segment_id and s.id = get_latest_segment_id_not_equal_version(s.stable_id, 10000000000, 'production')
- where
- ws.deleted = false
- ),
- new as (
- select
- wst.*,
- s.stable_id as stable_segment_id
- from
- webgl.segment_temp wst
- join
- segment s
- on
- s.id = wst.segment_id
- ),
- updated as (
- select
- new.*,
- st_astext(new.geometry) as new_geometry,
- st_astext(latest.geometry) as old_geometry,
- latest.segment_id is not null as latest_present,
- ST_Equals(new.geometry, latest.geometry) as geometry_equals,
- new.warning_type = latest.warning_type as we,
- new.package_info = latest.package_info as pe,
- new.intersected_region_names = latest.intersected_region_names as irne
- from
- new
- left join
- latest
- on
- new.stable_segment_id = latest.stable_segment_id
- where
- latest.segment_id is null or (
- not ST_Equals(new.geometry, latest.geometry)
- or new.package_info <> latest.package_info
- or new.warning_type <> latest.warning_type
- or new.intersected_region_names <> latest.intersected_region_names)
- ),
- removed as (
- select
- latest.*
- from
- latest
- left join
- new
- on
- new.stable_segment_id = latest.stable_segment_id
- where
- new.segment_id is null
- )
- select latest_present, new_geometry, old_geometry, geometry_equals, we, pe, irne from updated limit 10
- --select segment_id, geometry, package_info, warning_type, intersected_region_names, version, false from updated
- -- UNION
- select segment_id, geometry, package_info, warning_type, intersected_region_names, 1000000000000, true from removed
- insert into webgl.segment(segment_id, geometry, package_info, warning_type, intersected_region_names, version, deleted) (
- select segment_id, geometry, package_info, warning_type, intersected_region_names, version, false from completelyNew
- UNION
- select segment_id, geometry, package_info, warning_type, intersected_region_names, 1000000000000, true from notPresentInLastVersion
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement