]> granicus.if.org Git - postgis/commitdiff
schema qualify geography functions (including ST_Buffer)
authorRegina Obe <lr@pcorp.us>
Fri, 23 Mar 2018 00:09:53 +0000 (00:09 +0000)
committerRegina Obe <lr@pcorp.us>
Fri, 23 Mar 2018 00:09:53 +0000 (00:09 +0000)
References #4052 for PostGIS 2.4.4

git-svn-id: http://svn.osgeo.org/postgis/branches/2.4@16482 b70326c6-7e19-0410-871a-916f4a2858ee

NEWS
postgis/geography.sql.in

diff --git a/NEWS b/NEWS
index b03cdbda9c7140ab637d103a5de340bc2aa2bebb..c2e3fb5d9864645e07251a8887d5d5b182c0e269 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -11,7 +11,8 @@ PostGIS 2.4.4dev
            (Björn Esser)
   - #4025, Incorrect answers for temporally "amost overlapping" ranges
   - #4017, lwgeom lexer memory corruption (Peter E)
-
+  - #4052, schema qualify several functions in geography
+  
  * Enhancements *
     - #3992, Use PKG_PROG_PKG_CONFIG macro from pkg.m4 to detect pkg-config
              (Bas Couwenberg)
index 2de82cb31c3f6c163913f7b64ceac8b114efecd1..06183716cfe2c795f0027f8a1cb81c6f8c923d82 100644 (file)
@@ -23,7 +23,7 @@ CREATE OR REPLACE FUNCTION geography_typmod_out(integer)
        RETURNS cstring
        AS 'MODULE_PATHNAME','postgis_typmod_out'
        LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
-       
+
 -- Availability: 1.5.0
 CREATE OR REPLACE FUNCTION geography_in(cstring, oid, integer)
        RETURNS geography
@@ -75,7 +75,7 @@ CREATE TYPE geography (
 CREATE OR REPLACE FUNCTION geography(geography, integer, boolean)
        RETURNS geography
        AS 'MODULE_PATHNAME','geography_enforce_typmod'
-       LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL; 
+       LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
 
 -- Availability: 1.5.0
 CREATE CAST (geography AS geography) WITH FUNCTION geography(geography, integer, boolean) AS IMPLICIT;
@@ -103,11 +103,11 @@ CREATE OR REPLACE FUNCTION ST_AsText(geography)
        RETURNS TEXT
        AS 'MODULE_PATHNAME','LWGEOM_asText'
        LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
-       
+
 -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
 CREATE OR REPLACE FUNCTION ST_AsText(text)
        RETURNS text AS
-       $$ SELECT ST_AsText($1::@extschema@.geometry);  $$
+       $$ SELECT @extschema@.ST_AsText($1::@extschema@.geometry);  $$
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 -- Availability: 1.5.0
@@ -150,17 +150,17 @@ CREATE OR REPLACE FUNCTION postgis_typmod_type(integer)
 -- Changed: 2.4.0 Limit to only list things that are tables
 CREATE OR REPLACE VIEW geography_columns AS
        SELECT
-               current_database() AS f_table_catalog, 
-               n.nspname AS f_table_schema, 
-               c.relname AS f_table_name, 
+               current_database() AS f_table_catalog,
+               n.nspname AS f_table_schema,
+               c.relname AS f_table_name,
                a.attname AS f_geography_column,
                postgis_typmod_dims(a.atttypmod) AS coord_dimension,
                postgis_typmod_srid(a.atttypmod) AS srid,
                postgis_typmod_type(a.atttypmod) AS type
-       FROM 
-               pg_class c, 
-               pg_attribute a, 
-               pg_type t, 
+       FROM
+               pg_class c,
+               pg_attribute a,
+               pg_type t,
                pg_namespace n
        WHERE t.typname = 'geography'
                AND a.attisdropped = false
@@ -194,50 +194,50 @@ CREATE CAST (geography AS geometry) WITH FUNCTION geometry(geography) ;
 -- ---------- ---------- ---------- ---------- ---------- ---------- ----------
 
 -- Availability: 1.5.0
-CREATE OR REPLACE FUNCTION geography_gist_consistent(internal,geography,int4) 
-       RETURNS bool 
+CREATE OR REPLACE FUNCTION geography_gist_consistent(internal,geography,int4)
+       RETURNS bool
        AS 'MODULE_PATHNAME' ,'gserialized_gist_consistent'
        LANGUAGE 'c';
 
 -- Availability: 1.5.0
-CREATE OR REPLACE FUNCTION geography_gist_compress(internal) 
-       RETURNS internal 
+CREATE OR REPLACE FUNCTION geography_gist_compress(internal)
+       RETURNS internal
        AS 'MODULE_PATHNAME','gserialized_gist_compress'
        LANGUAGE 'c';
 
 -- Availability: 1.5.0
-CREATE OR REPLACE FUNCTION geography_gist_penalty(internal,internal,internal) 
-       RETURNS internal 
+CREATE OR REPLACE FUNCTION geography_gist_penalty(internal,internal,internal)
+       RETURNS internal
        AS 'MODULE_PATHNAME' ,'gserialized_gist_penalty'
        LANGUAGE 'c';
 
 -- Availability: 1.5.0
-CREATE OR REPLACE FUNCTION geography_gist_picksplit(internal, internal) 
-       RETURNS internal 
+CREATE OR REPLACE FUNCTION geography_gist_picksplit(internal, internal)
+       RETURNS internal
        AS 'MODULE_PATHNAME' ,'gserialized_gist_picksplit'
        LANGUAGE 'c';
 
 -- Availability: 1.5.0
-CREATE OR REPLACE FUNCTION geography_gist_union(bytea, internal) 
-       RETURNS internal 
+CREATE OR REPLACE FUNCTION geography_gist_union(bytea, internal)
+       RETURNS internal
        AS 'MODULE_PATHNAME' ,'gserialized_gist_union'
        LANGUAGE 'c';
 
 -- Availability: 1.5.0
-CREATE OR REPLACE FUNCTION geography_gist_same(box2d, box2d, internal) 
-       RETURNS internal 
+CREATE OR REPLACE FUNCTION geography_gist_same(box2d, box2d, internal)
+       RETURNS internal
        AS 'MODULE_PATHNAME' ,'gserialized_gist_same'
        LANGUAGE 'c';
 
 -- Availability: 1.5.0
-CREATE OR REPLACE FUNCTION geography_gist_decompress(internal) 
-       RETURNS internal 
+CREATE OR REPLACE FUNCTION geography_gist_decompress(internal)
+       RETURNS internal
        AS 'MODULE_PATHNAME' ,'gserialized_gist_decompress'
        LANGUAGE 'c';
 
 -- Availability: 1.5.0
-CREATE OR REPLACE FUNCTION geography_overlaps(geography, geography) 
-       RETURNS boolean 
+CREATE OR REPLACE FUNCTION geography_overlaps(geography, geography)
+       RETURNS boolean
        AS 'MODULE_PATHNAME' ,'gserialized_overlaps'
        LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
 
@@ -246,7 +246,7 @@ CREATE OPERATOR && (
        LEFTARG = geography, RIGHTARG = geography, PROCEDURE = geography_overlaps,
        COMMUTATOR = '&&',
        RESTRICT = gserialized_gist_sel_nd,
-       JOIN = gserialized_gist_joinsel_nd      
+       JOIN = gserialized_gist_joinsel_nd
 );
 
 -- Availability: 2.2.0
@@ -263,8 +263,8 @@ CREATE OPERATOR <-> (
 );
 
 -- Availability: 2.2.0
-CREATE OR REPLACE FUNCTION geography_gist_distance(internal, geography, int4) 
-       RETURNS float8 
+CREATE OR REPLACE FUNCTION geography_gist_distance(internal, geography, int4)
+       RETURNS float8
        AS 'MODULE_PATHNAME' ,'gserialized_gist_geog_distance'
        LANGUAGE 'c';
 
@@ -315,19 +315,19 @@ CREATE OR REPLACE FUNCTION geography_gt(geography, geography)
        AS 'MODULE_PATHNAME', 'geography_gt'
        LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
 
--- Availability: 1.5.0 
+-- Availability: 1.5.0
 CREATE OR REPLACE FUNCTION geography_ge(geography, geography)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'geography_ge'
        LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
 
--- Availability: 1.5.0 
+-- Availability: 1.5.0
 CREATE OR REPLACE FUNCTION geography_eq(geography, geography)
        RETURNS bool
        AS 'MODULE_PATHNAME', 'geography_eq'
        LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
 
--- Availability: 1.5.0 
+-- Availability: 1.5.0
 CREATE OR REPLACE FUNCTION geography_cmp(geography, geography)
        RETURNS integer
        AS 'MODULE_PATHNAME', 'geography_cmp'
@@ -398,11 +398,11 @@ CREATE OR REPLACE FUNCTION ST_AsSVG(geog geography,rel int4 DEFAULT 0,maxdecimal
        RETURNS text
        AS 'MODULE_PATHNAME','geography_as_svg'
        LANGUAGE 'c' IMMUTABLE STRICT _PARALLEL;
-       
+
 -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
 CREATE OR REPLACE FUNCTION ST_AsSVG(text)
        RETURNS text AS
-       $$ SELECT ST_AsSVG($1::@extschema@.geometry,0,15);  $$
+       $$ SELECT @extschema@.ST_AsSVG($1::@extschema@.geometry,0,15);  $$
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 --
@@ -534,11 +534,11 @@ CREATE OR REPLACE FUNCTION ST_Distance(geography, geography)
        RETURNS float8
        AS 'SELECT @extschema@._ST_Distance($1, $2, 0.0, true)'
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-       
+
 -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
 CREATE OR REPLACE FUNCTION ST_Distance(text, text)
        RETURNS float8 AS
-       $$ SELECT ST_Distance($1::@extschema@.geometry, $2::@extschema@.geometry);  $$
+       $$ SELECT @extschema@.ST_Distance($1::@extschema@.geometry, $2::@extschema@.geometry);  $$
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 -- Only expands the bounding box, the actual geometry will remain unchanged, use with care.
@@ -565,7 +565,7 @@ CREATE OR REPLACE FUNCTION ST_DWithin(geography, geography, float8)
 -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
 CREATE OR REPLACE FUNCTION ST_DWithin(text, text, float8)
        RETURNS boolean AS
-       $$ SELECT ST_DWithin($1::@extschema@.geometry, $2::@extschema@.geometry, $3);  $$
+       $$ SELECT @extschema@.ST_DWithin($1::@extschema@.geometry, $2::@extschema@.geometry, $3);  $$
        LANGUAGE 'sql' IMMUTABLE _PARALLEL;
 
 
@@ -580,7 +580,7 @@ CREATE OR REPLACE FUNCTION _ST_DistanceUnCached(geography, geography, float8, bo
        AS 'MODULE_PATHNAME','geography_distance_uncached'
        LANGUAGE 'c' IMMUTABLE STRICT
        COST 100;
-       
+
 -- Calculate the distance in geographics *without* using the caching code line or tree code
 CREATE OR REPLACE FUNCTION _ST_DistanceUnCached(geography, geography, boolean)
        RETURNS float8
@@ -593,7 +593,7 @@ CREATE OR REPLACE FUNCTION _ST_DistanceUnCached(geography, geography)
        AS 'SELECT @extschema@._ST_DistanceUnCached($1, $2, 0.0, true)'
        LANGUAGE 'sql' IMMUTABLE STRICT;
 
--- Calculate the distance in geographics using the circular tree code, but 
+-- Calculate the distance in geographics using the circular tree code, but
 -- *without* using the caching code line
 CREATE OR REPLACE FUNCTION _ST_DistanceTree(geography, geography, float8, boolean)
        RETURNS float8
@@ -601,7 +601,7 @@ CREATE OR REPLACE FUNCTION _ST_DistanceTree(geography, geography, float8, boolea
        LANGUAGE 'c' IMMUTABLE STRICT
        COST 100;
 
--- Calculate the distance in geographics using the circular tree code, but 
+-- Calculate the distance in geographics using the circular tree code, but
 -- *without* using the caching code line
 CREATE OR REPLACE FUNCTION _ST_DistanceTree(geography, geography)
        RETURNS float8
@@ -620,7 +620,7 @@ CREATE OR REPLACE FUNCTION _ST_DWithinUnCached(geography, geography, float8)
        RETURNS boolean
        AS 'SELECT $1 OPERATOR(@extschema@.&&) @extschema@._ST_Expand($2,$3) AND $2 OPERATOR(@extschema@.&&) @extschema@._ST_Expand($1,$3) AND @extschema@._ST_DWithinUnCached($1, $2, $3, true)'
        LANGUAGE 'sql' IMMUTABLE;
-       
+
 -- ---------- ---------- ---------- ---------- ---------- ---------- ----------
 
 -- Availability: 1.5.0
@@ -633,7 +633,7 @@ CREATE OR REPLACE FUNCTION ST_Area(geog geography, use_spheroid boolean DEFAULT
 -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
 CREATE OR REPLACE FUNCTION ST_Area(text)
        RETURNS float8 AS
-       $$ SELECT ST_Area($1::@extschema@.geometry);  $$
+       $$ SELECT @extschema@.ST_Area($1::@extschema@.geometry);  $$
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 -- Availability: 1.5.0
@@ -694,7 +694,7 @@ CREATE OR REPLACE FUNCTION ST_Covers(geography, geography)
 -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
 CREATE OR REPLACE FUNCTION ST_Covers(text, text)
        RETURNS boolean AS
-       $$ SELECT ST_Covers($1::@extschema@.geometry, $2::@extschema@.geometry);  $$
+       $$ SELECT @extschema@.ST_Covers($1::@extschema@.geometry, $2::@extschema@.geometry);  $$
        LANGUAGE 'sql' IMMUTABLE _PARALLEL;
 
 -- Only implemented for polygon-over-point
@@ -707,7 +707,7 @@ CREATE OR REPLACE FUNCTION ST_CoveredBy(geography, geography)
 -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
 CREATE OR REPLACE FUNCTION ST_CoveredBy(text, text)
        RETURNS boolean AS
-       $$ SELECT ST_CoveredBy($1::@extschema@.geometry, $2::@extschema@.geometry);  $$
+       $$ SELECT @extschema@.ST_CoveredBy($1::@extschema@.geometry, $2::@extschema@.geometry);  $$
        LANGUAGE 'sql' IMMUTABLE _PARALLEL;
 
 -- Availability: 2.1.0
@@ -726,7 +726,7 @@ CREATE OR REPLACE FUNCTION ST_Intersects(geography, geography)
 -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
 CREATE OR REPLACE FUNCTION ST_Intersects(text, text)
        RETURNS boolean AS
-       $$ SELECT ST_Intersects($1::@extschema@.geometry, $2::@extschema@.geometry);  $$
+       $$ SELECT @extschema@.ST_Intersects($1::@extschema@.geometry, $2::@extschema@.geometry);  $$
        LANGUAGE 'sql' IMMUTABLE _PARALLEL;
 
 -- Availability: 1.5.0
@@ -744,43 +744,43 @@ CREATE OR REPLACE FUNCTION _ST_BestSRID(geography)
 -- Availability: 1.5.0
 CREATE OR REPLACE FUNCTION ST_Buffer(geography, float8)
        RETURNS geography
-       AS 'SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), @extschema@._ST_BestSRID($1)), $2), 4326))'
+       AS 'SELECT @extschema@.geography(@extschema@.ST_Transform(@extschema@.ST_Buffer(@extschema@.ST_Transform(@extschema@.geometry($1), @extschema@._ST_BestSRID($1)), $2), 4326))'
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 -- Availability: 2.3.x
 CREATE OR REPLACE FUNCTION ST_Buffer(geography, float8, integer)
        RETURNS geography
-       AS 'SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), @extschema@._ST_BestSRID($1)), $2, $3), 4326))'
+       AS 'SELECT @extschema@.geography(@extschema@.ST_Transform(@extschema@.ST_Buffer(@extschema@.ST_Transform(@extschema@.geometry($1), @extschema@._ST_BestSRID($1)), $2, $3), 4326))'
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 -- Availability: 2.3.x
 CREATE OR REPLACE FUNCTION ST_Buffer(geography, float8, text)
        RETURNS geography
-       AS 'SELECT geography(ST_Transform(ST_Buffer(ST_Transform(geometry($1), @extschema@._ST_BestSRID($1)), $2, $3), 4326))'
+       AS 'SELECT @extschema@.geography(@extschema@.ST_Transform(@extschema@.ST_Buffer(@extschema@.ST_Transform(@extschema@.geometry($1), @extschema@._ST_BestSRID($1)), $2, $3), 4326))'
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
 CREATE OR REPLACE FUNCTION ST_Buffer(text, float8)
        RETURNS geometry AS
-       $$ SELECT ST_Buffer($1::@extschema@.geometry, $2);  $$
+       $$ SELECT @extschema@.ST_Buffer($1::@extschema@.geometry, $2);  $$
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 -- Availability: 2.3.x
 CREATE OR REPLACE FUNCTION ST_Buffer(text, float8, integer)
        RETURNS geometry AS
-       $$ SELECT ST_Buffer($1::@extschema@.geometry, $2, $3);  $$
+       $$ SELECT @extschema@.ST_Buffer($1::@extschema@.geometry, $2, $3);  $$
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 -- Availability: 2.3.x
 CREATE OR REPLACE FUNCTION ST_Buffer(text, float8, text)
        RETURNS geometry AS
-       $$ SELECT ST_Buffer($1::@extschema@.geometry, $2, $3);  $$
+       $$ SELECT @extschema@.ST_Buffer($1::@extschema@.geometry, $2, $3);  $$
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 -- Availability: 1.5.0
 CREATE OR REPLACE FUNCTION ST_Intersection(geography, geography)
        RETURNS geography
-       AS 'SELECT geography(ST_Transform(ST_Intersection(ST_Transform(geometry($1), @extschema@._ST_BestSRID($1, $2)), ST_Transform(geometry($2), @extschema@._ST_BestSRID($1, $2))), 4326))'
+       AS 'SELECT @extschema@.geography(@extschema@.ST_Transform(@extschema@.ST_Intersection(@extschema@.ST_Transform(@extschema@.geometry($1), @extschema@._ST_BestSRID($1, $2)), @extschema@.ST_Transform(@extschema@.geometry($2), @extschema@._ST_BestSRID($1, $2))), 4326))'
        LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
 
 -- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography