Mr.Combet Webshell
Your IP :
216.73.216.136
Server IP :
103.233.58.157
Server :
Windows NT WIN-4PGF72KEHKB 10.0 build 17763 (Windows Server 2016) AMD64
Server Software :
Microsoft-IIS/10.0
PHP Version :
7.3.25
Add File :
Submit
Add Directory :
Submit
Dir :
C:
/
Program Files
/
PostgreSQL
/
14
/
share
/
extension
/
Edit File Name :
sfcgal_upgrade.sql
-- PostGIS - Spatial Types for PostgreSQL -- http://postgis.net -- -- Copyright (C) 2020 Regina Obe <lr@pcorp.us> -- This is free software; you can redistribute and/or modify it under -- the terms of the GNU General Public Licence. See the COPYING file. -- -- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- These are functions that need to be dropped beforehand -- where the argument names may have changed -- -- so have to be dropped before upgrade can happen -- -- argument names changed -- -- -- UPGRADE SCRIPT TO PostGIS 3.4.2 -- LOAD '$libdir/postgis_sfcgal-3'; DO $$ DECLARE old_scripts text; new_scripts text; old_ver_int int[]; new_ver_int int[]; old_maj text; new_maj text; postgis_upgrade_info RECORD; postgis_upgrade_info_func_code TEXT; BEGIN old_scripts := postgis_scripts_installed(); new_scripts := '3.4.2'; BEGIN new_ver_int := pg_catalog.string_to_array( pg_catalog.regexp_replace( new_scripts, '[^\d.].*', '' ), '.' )::int[]; EXCEPTION WHEN OTHERS THEN RAISE EXCEPTION 'Cannot parse new version % into integers', new_scripts; END; BEGIN old_ver_int := pg_catalog.string_to_array( pg_catalog.regexp_replace( old_scripts, '[^\d.].*', '' ), '.' )::int[]; EXCEPTION WHEN OTHERS THEN RAISE EXCEPTION 'Cannot parse old version % into integers', old_scripts; END; -- Guard against downgrade IF new_ver_int < old_ver_int THEN RAISE EXCEPTION 'Downgrade of postgis from version % to version % is forbidden', old_scripts, new_scripts; END IF; -- Check for hard-upgrade being required SELECT into old_maj pg_catalog.substring(old_scripts, 1, 1); SELECT into new_maj pg_catalog.substring(new_scripts, 1, 1); -- 2.x to 3.x was upgrade-compatible, see -- https://trac.osgeo.org/postgis/ticket/4170#comment:1 IF new_maj = '3' AND old_maj = '2' THEN old_maj = '3'; -- let's pretend old major = new major END IF; IF old_maj != new_maj THEN RAISE EXCEPTION 'Upgrade of postgis from version % to version % requires a dump/reload. See PostGIS manual for instructions', old_scripts, new_scripts; END IF; WITH versions AS ( SELECT '3.4.2'::text as upgraded, postgis_scripts_installed() as installed ) SELECT upgraded as scripts_upgraded, installed as scripts_installed, pg_catalog.substring(upgraded, '([0-9]+)\.')::int * 100 + pg_catalog.substring(upgraded, '[0-9]+\.([0-9]+)(\.|$)')::int as version_to_num, pg_catalog.substring(installed, '([0-9]+)\.')::int * 100 + pg_catalog.substring(installed, '[0-9]+\.([0-9]+)(\.|$)')::int as version_from_num, installed ~ 'dev|alpha|beta' as version_from_isdev FROM versions INTO postgis_upgrade_info ; postgis_upgrade_info_func_code := pg_catalog.format($func_code$ CREATE FUNCTION _postgis_upgrade_info(OUT scripts_upgraded TEXT, OUT scripts_installed TEXT, OUT version_to_num INT, OUT version_from_num INT, OUT version_from_isdev BOOLEAN) AS $postgis_upgrade_info$ BEGIN scripts_upgraded := %L :: TEXT; scripts_installed := %L :: TEXT; version_to_num := %L :: INT; version_from_num := %L :: INT; version_from_isdev := %L :: BOOLEAN; RETURN; END $postgis_upgrade_info$ LANGUAGE 'plpgsql' IMMUTABLE; $func_code$, postgis_upgrade_info.scripts_upgraded, postgis_upgrade_info.scripts_installed, postgis_upgrade_info.version_to_num, postgis_upgrade_info.version_from_num, postgis_upgrade_info.version_from_isdev); RAISE DEBUG 'Creating function %', postgis_upgrade_info_func_code; EXECUTE postgis_upgrade_info_func_code; END $$ LANGUAGE 'plpgsql'; CREATE OR REPLACE FUNCTION postgis_sfcgal_scripts_installed() RETURNS text AS $$ SELECT trim('3.4.2'::text || $rev$ 3.4.2 $rev$) AS version $$ LANGUAGE 'sql' IMMUTABLE; CREATE OR REPLACE FUNCTION postgis_sfcgal_version() RETURNS text AS '$libdir/postgis_sfcgal-3' LANGUAGE 'c' IMMUTABLE; CREATE OR REPLACE FUNCTION postgis_sfcgal_full_version() RETURNS text AS '$libdir/postgis_sfcgal-3' LANGUAGE 'c' IMMUTABLE; CREATE OR REPLACE FUNCTION postgis_sfcgal_noop(geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3', 'postgis_sfcgal_noop' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 1; CREATE OR REPLACE FUNCTION ST_3DIntersection(geom1 geometry, geom2 geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3','sfcgal_intersection3D' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_3DDifference(geom1 geometry, geom2 geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3','sfcgal_difference3D' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_3DUnion(geom1 geometry, geom2 geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3','sfcgal_union3D' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; -- Aggregate ST_3DUnion(geometry) -- LastUpdated: 303 DO LANGUAGE 'plpgsql' $postgis_proc_upgrade$ BEGIN IF pg_catalog.current_setting('server_version_num')::integer >= 120000 THEN EXECUTE $postgis_proc_upgrade_parsed_def$ CREATE OR REPLACE AGGREGATE ST_3DUnion(geometry) ( sfunc = ST_3DUnion, stype = geometry, parallel = safe ); $postgis_proc_upgrade_parsed_def$; ELSIF 303 > version_from_num OR ( 303 = version_from_num AND version_from_isdev ) FROM _postgis_upgrade_info() THEN EXECUTE 'DROP AGGREGATE IF EXISTS ST_3DUnion(geometry)'; EXECUTE $postgis_proc_upgrade_parsed_def$ CREATE AGGREGATE ST_3DUnion(geometry) ( sfunc = ST_3DUnion, stype = geometry, parallel = safe ); $postgis_proc_upgrade_parsed_def$; END IF; END $postgis_proc_upgrade$; CREATE OR REPLACE FUNCTION ST_Tesselate(geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3','sfcgal_tesselate' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_3DArea(geometry) RETURNS FLOAT8 AS '$libdir/postgis_sfcgal-3','sfcgal_area3D' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_Extrude(geometry, float8, float8, float8) RETURNS geometry AS '$libdir/postgis_sfcgal-3','sfcgal_extrude' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_ForceLHR(geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3','sfcgal_force_lhr' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_Orientation(geometry) RETURNS INT4 AS '$libdir/postgis_sfcgal-3','sfcgal_orientation' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_MinkowskiSum(geometry, geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3','sfcgal_minkowski_sum' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_StraightSkeleton(geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3','sfcgal_straight_skeleton' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_ApproximateMedialAxis(geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3','sfcgal_approximate_medial_axis' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_IsPlanar(geometry) RETURNS boolean AS '$libdir/postgis_sfcgal-3','sfcgal_is_planar' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_Volume(geometry) RETURNS FLOAT8 AS '$libdir/postgis_sfcgal-3','sfcgal_volume' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_MakeSolid(geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3','sfcgal_make_solid' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_IsSolid(geometry) RETURNS boolean AS '$libdir/postgis_sfcgal-3','sfcgal_is_solid' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_ConstrainedDelaunayTriangles(geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3', 'ST_ConstrainedDelaunayTriangles' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_3DConvexHull(geometry) RETURNS geometry AS '$libdir/postgis_sfcgal-3', 'sfcgal_convexhull3D' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_AlphaShape(g1 geometry, alpha float8 DEFAULT 1.0, allow_holes boolean DEFAULT false) RETURNS geometry AS '$libdir/postgis_sfcgal-3', 'sfcgal_alphashape' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; CREATE OR REPLACE FUNCTION ST_OptimalAlphaShape(g1 geometry, allow_holes boolean DEFAULT false, nb_components int DEFAULT 1) RETURNS geometry AS '$libdir/postgis_sfcgal-3', 'sfcgal_optimalalphashape' LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE COST 100; DROP FUNCTION _postgis_upgrade_info(); -- PostGIS - Spatial Types for PostgreSQL -- http://postgis.net -- -- Copyright (C) 2020 Regina Obe <lr@pcorp.us> -- This is free software; you can redistribute and/or modify it under -- the terms of the GNU General Public Licence. See the COPYING file. -- -- -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- These are reserved for functions that are changed to use default args -- This is installed after the new functions are installed -- We don't have any of these yet for sfcgal -- The reason we put these after install is -- you can't drop a function that is used by sql functions -- without forcing a drop on those as well which may cause issues with user functions. -- This allows us to CREATE OR REPLACE those in general sfcgal.sql.in -- without dropping them.
Save