1-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2-- 3-- 4-- PostGIS - Spatial Types for PostgreSQL 5-- http://postgis.net 6-- 7-- Copyright (C) 2011-2020 Sandro Santilli <strk@kbt.io> 8-- Copyright (C) 2010-2012 Regina Obe <lr@pcorp.us> 9-- Copyright (C) 2009 Paul Ramsey <pramsey@cleverelephant.ca> 10-- 11-- This is free software; you can redistribute and/or modify it under 12-- the terms of the GNU General Public Licence. See the COPYING file. 13-- 14-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 15-- 16-- This file contains drop commands for obsoleted items that need 17-- to be dropped _after_ upgrade of old functions. 18-- Changes to this file affect postgis_upgrade*.sql script. 19-- 20-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 21 22-- First drop old aggregates 23DROP AGGREGATE IF EXISTS memgeomunion(geometry); 24DROP AGGREGATE IF EXISTS geomunion(geometry); 25DROP AGGREGATE IF EXISTS polygonize(geometry); -- Deprecated in 1.2.3, Dropped in 2.0.0 26DROP AGGREGATE IF EXISTS collect(geometry); -- Deprecated in 1.2.3, Dropped in 2.0.0 27DROP AGGREGATE IF EXISTS st_geomunion(geometry); 28DROP AGGREGATE IF EXISTS accum_old(geometry); 29DROP AGGREGATE IF EXISTS st_accum_old(geometry); 30DROP AGGREGATE IF EXISTS st_accum(geometry); -- Dropped in 3.0.0 31DROP FUNCTION IF EXISTS pgis_geometry_accum_finalfn(internal); 32 33DROP AGGREGATE IF EXISTS st_astwkb_agg(geometry, integer); -- temporarely introduced before 2.2.0 final 34DROP AGGREGATE IF EXISTS st_astwkb_agg(geometry, integer, bigint); -- temporarely introduced before 2.2.0 final 35DROP AGGREGATE IF EXISTS st_astwkbagg(geometry, integer); -- temporarely introduced before 2.2.0 final 36DROP AGGREGATE IF EXISTS st_astwkbagg(geometry, integer, bigint); -- temporarely introduced before 2.2.0 final 37DROP AGGREGATE IF EXISTS st_astwkbagg(geometry, integer, bigint, boolean); -- temporarely introduced before 2.2.0 final 38DROP AGGREGATE IF EXISTS st_astwkbagg(geometry, integer, bigint, boolean, boolean); -- temporarely introduced before 2.2.0 final 39 40-- BEGIN Management functions that now have default param for typmod -- 41DROP FUNCTION IF EXISTS AddGeometryColumn(varchar, varchar, varchar, varchar, integer, varchar, integer); 42DROP FUNCTION IF EXISTS AddGeometryColumn(varchar, varchar, varchar, integer, varchar, integer); 43DROP FUNCTION IF EXISTS AddGeometryColumn(varchar, varchar, integer, varchar, integer); 44DROP FUNCTION IF EXISTS populate_geometry_columns(); 45DROP FUNCTION IF EXISTS populate_geometry_columns(oid); 46 47-- END Management functions now have default parameter for typmod -- 48-- Then drop old functions 49DROP FUNCTION IF EXISTS box2d_overleft(box2d, box2d); 50DROP FUNCTION IF EXISTS box2d_overright(box2d, box2d); 51DROP FUNCTION IF EXISTS box2d_left(box2d, box2d); 52DROP FUNCTION IF EXISTS box2d_right(box2d, box2d); 53DROP FUNCTION IF EXISTS box2d_contain(box2d, box2d); 54DROP FUNCTION IF EXISTS box2d_contained(box2d, box2d); 55DROP FUNCTION IF EXISTS box2d_overlap(box2d, box2d); 56DROP FUNCTION IF EXISTS box2d_same(box2d, box2d); 57DROP FUNCTION IF EXISTS box2d_intersects(box2d, box2d); 58DROP FUNCTION IF EXISTS st_area(geography); -- this one changed to use default parameters 59DROP FUNCTION IF EXISTS ST_AsGeoJson(geometry); -- this one changed to use default args 60DROP FUNCTION IF EXISTS ST_AsGeoJson(geography); -- this one changed to use default args 61DROP FUNCTION IF EXISTS ST_AsGeoJson(geometry, int4); -- this one changed to use default args 62DROP FUNCTION IF EXISTS ST_AsGeoJson(geography, int4); -- this one changed to use default args 63DROP FUNCTION IF EXISTS ST_AsGeoJson(int4, geometry); -- this one changed to use default args 64DROP FUNCTION IF EXISTS ST_AsGeoJson(int4, geography); -- this one changed to use default args 65DROP FUNCTION IF EXISTS ST_AsGeoJson(int4, geometry, int4); -- this one changed to use default args 66DROP FUNCTION IF EXISTS ST_AsGeoJson(int4, geography, int4); -- this one changed to use default args 67DROP FUNCTION IF EXISTS ST_AsGeoJson(int4, geography, int4, int4); -- dropped because the version-first signature is dumb 68DROP FUNCTION IF EXISTS _ST_AsGeoJson(int4, geometry, int4, int4); -- dropped in PostGIS-3.0 (r17300) 69DROP FUNCTION IF EXISTS _ST_AsGeoJson(int4, geography, int4, int4); -- dropped in PostGIS-3.0 (r17300) 70DROP FUNCTION IF EXISTS st_asgml(geometry); -- changed to use default args 71DROP FUNCTION IF EXISTS st_asgml(geometry, int4); -- changed to use default args 72DROP FUNCTION IF EXISTS st_asgml(int4, geometry); -- changed to use default args 73DROP FUNCTION IF EXISTS st_asgml(int4, geometry, int4); -- changed to use default args 74DROP FUNCTION IF EXISTS st_asgml(int4, geometry, int4, int4); -- changed to use default args 75DROP FUNCTION IF EXISTS st_asgml(int4, geometry, int4, int4, text); -- changed to use default args 76DROP FUNCTION IF EXISTS st_asgml(geography); -- changed to use default args 77DROP FUNCTION IF EXISTS st_asgml(geography, int4); -- changed to use default args 78DROP FUNCTION IF EXISTS st_asgml(int4, geography); -- changed to use default args 79DROP FUNCTION IF EXISTS st_asgml(int4, geography, int4); -- changed to use default args 80DROP FUNCTION IF EXISTS st_asgml(int4, geography, int4, int4); -- changed to use default args 81DROP FUNCTION IF EXISTS st_asgml(int4, geography, int4, int4, text); -- changed to use default args 82DROP FUNCTION IF EXISTS _st_asgml(int4, geometry, int4, int4, text); -- changed to use default args 83DROP FUNCTION IF EXISTS _st_asgml(int4, geography, int4, int4, text); -- changed to use default args 84DROP FUNCTION IF EXISTS _st_asgml(int4, geography, int4, int4, text, text); -- changed to use default args 85DROP FUNCTION IF EXISTS st_asgml(geography, int4, int4); 86DROP FUNCTION IF EXISTS _st_askml(int4, geography, int4, text); -- dropped in PostGIS-3.0 (r17300) 87DROP FUNCTION IF EXISTS _st_askml(int4, geometry, int4, text); -- dropped in PostGIS-3.0 (r17300) 88DROP FUNCTION IF EXISTS st_askml(geometry); -- changed to use default args 89DROP FUNCTION IF EXISTS st_askml(geography); -- changed to use default args 90DROP FUNCTION IF EXISTS st_askml(int4, geometry, int4); -- changed to use default args 91DROP FUNCTION IF EXISTS st_askml(int4, geography, int4); -- changed to use default args 92DROP FUNCTION IF EXISTS st_askml(int4, geography, int4, text); -- dropped because the version-first signature is dumb 93 94DROP FUNCTION IF EXISTS st_asx3d(geometry); -- this one changed to use default parameters so full function deals with it 95DROP FUNCTION IF EXISTS st_asx3d(geometry, int4); -- introduce variant with opts so get rid of other without ops 96DROP FUNCTION IF EXISTS st_assvg(geometry); -- changed to use default args 97DROP FUNCTION IF EXISTS st_assvg(geometry, int4); -- changed to use default args 98DROP FUNCTION IF EXISTS st_assvg(geography); -- changed to use default args 99DROP FUNCTION IF EXISTS st_assvg(geography, int4); -- changed to use default args 100DROP FUNCTION IF EXISTS st_box2d_overleft(box2d, box2d); 101DROP FUNCTION IF EXISTS st_box2d_overright(box2d, box2d); 102DROP FUNCTION IF EXISTS st_box2d_left(box2d, box2d); 103DROP FUNCTION IF EXISTS st_box2d_right(box2d, box2d); 104DROP FUNCTION IF EXISTS st_box2d_contain(box2d, box2d); 105DROP FUNCTION IF EXISTS st_box2d_contained(box2d, box2d); 106DROP FUNCTION IF EXISTS st_box2d_overlap(box2d, box2d); 107DROP FUNCTION IF EXISTS st_box2d_same(box2d, box2d); 108DROP FUNCTION IF EXISTS st_box2d_intersects(box2d, box2d); 109DROP FUNCTION IF EXISTS st_box2d_in(cstring); 110DROP FUNCTION IF EXISTS st_box2d_out(box2d); 111DROP FUNCTION IF EXISTS st_box2d(geometry); 112DROP FUNCTION IF EXISTS st_box2d(box3d); 113DROP FUNCTION IF EXISTS st_box3d(box2d); 114DROP FUNCTION IF EXISTS st_box(box3d); 115DROP FUNCTION IF EXISTS st_box3d(geometry); 116DROP FUNCTION IF EXISTS st_box(geometry); 117DROP FUNCTION IF EXISTS _st_buffer(geometry, float8, cstring); -- dropped in PostGIS-3.0 (r17300) 118DROP FUNCTION IF EXISTS ST_ConcaveHull(geometry,float); -- this one changed to use default parameters 119DROP FUNCTION IF EXISTS ST_DWithin(geography, geography, float8); -- this one changed to use default parameters 120DROP FUNCTION IF EXISTS st_text(geometry); 121DROP FUNCTION IF EXISTS st_geometry(box2d); 122DROP FUNCTION IF EXISTS st_geometry(box3d); 123DROP FUNCTION IF EXISTS st_geometry(text); 124DROP FUNCTION IF EXISTS st_geometry(bytea); 125DROP FUNCTION IF EXISTS st_bytea(geometry); 126DROP FUNCTION IF EXISTS st_addbbox(geometry); 127DROP FUNCTION IF EXISTS _st_distance(geography, geography, float8, boolean); -- dropped in PostGIS-3.0 (r17300) 128DROP FUNCTION IF EXISTS st_dropbbox(geometry); 129DROP FUNCTION IF EXISTS st_hasbbox(geometry); 130DROP FUNCTION IF EXISTS cache_bbox(); 131DROP FUNCTION IF EXISTS st_cache_bbox(); 132DROP FUNCTION IF EXISTS ST_GeoHash(geometry); -- changed to use default args 133DROP FUNCTION IF EXISTS st_length(geography); -- this one changed to use default parameters 134DROP FUNCTION IF EXISTS st_perimeter(geography); -- this one changed to use default parameters 135DROP FUNCTION IF EXISTS transform_geometry(geometry, text, text, int); 136DROP FUNCTION IF EXISTS collector(geometry, geometry); 137DROP FUNCTION IF EXISTS st_collector(geometry, geometry); 138DROP FUNCTION IF EXISTS geom_accum (geometry[],geometry); 139DROP FUNCTION IF EXISTS st_geom_accum (geometry[],geometry); 140DROP FUNCTION IF EXISTS collect_garray (geometry[]); 141DROP FUNCTION IF EXISTS st_collect_garray (geometry[]); 142DROP FUNCTION IF EXISTS geosnoop(geometry); 143DROP FUNCTION IF EXISTS jtsnoop(geometry); 144DROP FUNCTION IF EXISTS st_noop(geometry); 145DROP FUNCTION IF EXISTS st_max_distance(geometry, geometry); 146DROP FUNCTION IF EXISTS ST_MinimumBoundingCircle(geometry); --changed to use default parameters 147-- Drop internals that should never have existed -- 148DROP FUNCTION IF EXISTS st_geometry_analyze(internal); 149DROP FUNCTION IF EXISTS st_geometry_in(cstring); 150DROP FUNCTION IF EXISTS st_geometry_out(geometry); 151DROP FUNCTION IF EXISTS st_geometry_recv(internal); 152DROP FUNCTION IF EXISTS st_geometry_send(geometry); 153DROP FUNCTION IF EXISTS st_spheroid_in(cstring); 154DROP FUNCTION IF EXISTS st_spheroid_out(spheroid); 155DROP FUNCTION IF EXISTS st_geometry_lt(geometry, geometry); 156DROP FUNCTION IF EXISTS st_geometry_gt(geometry, geometry); 157DROP FUNCTION IF EXISTS st_geometry_ge(geometry, geometry); 158DROP FUNCTION IF EXISTS st_geometry_eq(geometry, geometry); 159DROP FUNCTION IF EXISTS st_geometry_cmp(geometry, geometry); 160DROP FUNCTION IF EXISTS SnapToGrid(geometry, float8, float8); 161DROP FUNCTION IF EXISTS st_removerepeatedpoints(geometry); 162DROP FUNCTION IF EXISTS st_voronoi(geometry, geometry, double precision, boolean); --temporarely introduced before 2.3.0 final 163 164DROP FUNCTION IF EXISTS geometry_gist_sel_2d (internal, oid, internal, int4); 165DROP FUNCTION IF EXISTS geometry_gist_joinsel_2d(internal, oid, internal, smallint); 166DROP FUNCTION IF EXISTS geography_gist_selectivity (internal, oid, internal, int4); 167DROP FUNCTION IF EXISTS geography_gist_join_selectivity(internal, oid, internal, smallint); 168 169DROP FUNCTION IF EXISTS ST_AsBinary(text); -- deprecated in 2.0 170DROP FUNCTION IF EXISTS postgis_uses_stats(); -- deprecated in 2.0 171DROP FUNCTION IF EXISTS ST_GeneratePoints(geometry, numeric); -- numeric -> integer 172 173-- Old accum aggregate support type, removed in 2.5.0 174-- See #4035 175DROP TYPE IF EXISTS pgis_abs CASCADE; 176 177DROP FUNCTION IF EXISTS st_astwkb(geometry, integer, bigint, bool, bool); -- temporarely introduced before 2.2.0 final 178DROP FUNCTION IF EXISTS pgis_twkb_accum_transfn(internal, geometry, integer); -- temporarely introduced before 2.2.0 final 179DROP FUNCTION IF EXISTS pgis_twkb_accum_transfn(internal, geometry, integer, bigint); -- temporarely introduced before 2.2.0 final 180DROP FUNCTION IF EXISTS pgis_twkb_accum_transfn(internal, geometry, integer, bigint, bool); -- temporarely introduced before 2.2.0 final 181DROP FUNCTION IF EXISTS pgis_twkb_accum_transfn(internal, geometry, integer, bigint, bool, bool); -- temporarely introduced before 2.2.0 final 182DROP FUNCTION IF EXISTS pgis_twkb_accum_finalfn(internal); -- temporarely introduced before 2.2.0 final 183 184DROP FUNCTION IF EXISTS st_seteffectivearea(geometry, double precision); -- temporarely introduced before 2.2.0 final 185 186DROP FUNCTION IF EXISTS geometry_distance_box_nd(geometry, geometry); -- temporarely introduced before 2.2.0 final 187 188DROP FUNCTION IF EXISTS _ST_DumpPoints(geometry, integer[]); -- removed 2.4.0, but really should have been removed 2.1.0 when ST_DumpPoints got reimpmented in C 189 190-- Temporary clean-up while we wait to return these to action in dev 191DROP FUNCTION IF EXISTS _ST_DistanceRectTree(g1 geometry, g2 geometry); 192DROP FUNCTION IF EXISTS _ST_DistanceRectTreeCached(g1 geometry, g2 geometry); 193 194-- Deplicative signatures removed 195DROP FUNCTION IF EXISTS ST_Distance(geography, geography); 196DROP FUNCTION IF EXISTS ST_Distance(geography, geography, float8, boolean); 197DROP FUNCTION IF EXISTS ST_Buffer(geometry, float8, cstring); 198DROP FUNCTION IF EXISTS ST_IsValidDetail(geometry); 199DROP FUNCTION IF EXISTS ST_AsKML(int4, geometry, int4, text); 200DROP FUNCTION IF EXISTS ST_AsKML(geometry, int4); 201DROP FUNCTION IF EXISTS ST_AsGeoJson(int4, geometry, int4, int4); 202DROP FUNCTION IF EXISTS _ST_AsGeoJson(int4, geometry, int4, int4); 203 204-- Underscore_signatures removed for CamelCase 205DROP FUNCTION IF EXISTS st_shift_longitude(geometry); 206DROP FUNCTION IF EXISTS st_estimated_extent(text,text,text); 207DROP FUNCTION IF EXISTS st_estimated_extent(text,text); 208DROP FUNCTION IF EXISTS st_find_extent(text,text,text); 209DROP FUNCTION IF EXISTS st_find_extent(text,text); 210DROP FUNCTION IF EXISTS st_mem_size(geometry); 211DROP FUNCTION IF EXISTS st_3dlength_spheroid(geometry, spheroid); 212DROP FUNCTION IF EXISTS st_length_spheroid(geometry, spheroid); 213DROP FUNCTION IF EXISTS st_length2d_spheroid(geometry, spheroid); 214DROP FUNCTION IF EXISTS st_distance_spheroid(geometry, geometry, spheroid); 215DROP FUNCTION IF EXISTS st_point_inside_circle(geometry, float8, float8, float8); 216DROP FUNCTION IF EXISTS st_force_2d(geometry); 217DROP FUNCTION IF EXISTS st_force_3dz(geometry); 218DROP FUNCTION IF EXISTS st_force_3dm(geometry); 219DROP FUNCTION IF EXISTS st_force_collection(geometry); 220DROP FUNCTION IF EXISTS st_force_4d(geometry); 221DROP FUNCTION IF EXISTS st_force_3d(geometry); 222DROP FUNCTION IF EXISTS st_line_interpolate_point(geometry, float8); 223DROP FUNCTION IF EXISTS st_line_substring(geometry, float8, float8); 224DROP FUNCTION IF EXISTS st_line_locate_point(geometry, geometry); 225DROP FUNCTION IF EXISTS st_locate_between_measures(geometry, float8, float8); 226DROP FUNCTION IF EXISTS st_locate_along_measure(geometry, float8); 227DROP FUNCTION IF EXISTS st_combine_bbox(box3d, geometry); 228DROP FUNCTION IF EXISTS st_combine_bbox(box2d, geometry); 229DROP FUNCTION IF EXISTS st_distance_sphere(geometry, geometry); 230 231-- dev function 3.0 cycle 232DROP FUNCTION IF EXISTS pgis_geometry_union_transfn(internal, geometry); 233 234-- #4394 235update pg_operator set oprcanhash = true, oprcanmerge = true where oprname = '=' and oprcode = 'geometry_eq'::regproc; 236 237 238DO language 'plpgsql' 239$$ 240BEGIN 241IF _postgis_scripts_pgsql_version()::integer >= 96 THEN 242-- mark ST_Union agg as parallel safe if it is not already 243 BEGIN 244 UPDATE pg_proc SET proparallel = 's' 245 WHERE oid = 'st_union(geometry)'::regprocedure AND proparallel = 'u'; 246 EXCEPTION WHEN OTHERS THEN 247 RAISE DEBUG 'Could not update st_union(geometry): %', SQLERRM; 248 END; 249END IF; 250END; 251$$; 252