[postgis-tickets] r17976 - Fix PLPGSQL functions missing the schema qualification
Raul
raul at rmr.ninja
Fri Oct 18 09:22:30 PDT 2019
Author: algunenano
Date: 2019-10-18 09:22:30 -0700 (Fri, 18 Oct 2019)
New Revision: 17976
Modified:
branches/3.0/NEWS
branches/3.0/postgis/geography.sql.in
branches/3.0/postgis/postgis.sql.in
branches/3.0/raster/rt_pg/rtpostgis.sql.in
Log:
Fix PLPGSQL functions missing the schema qualification
References #4546
Modified: branches/3.0/NEWS
===================================================================
--- branches/3.0/NEWS 2019-10-18 16:20:50 UTC (rev 17975)
+++ branches/3.0/NEWS 2019-10-18 16:22:30 UTC (rev 17976)
@@ -12,6 +12,7 @@
- #4537, Fix leak in WKT collection parser (Raúl Marín)
- #4535, WKB: Avoid buffer overflow (Raúl Marín)
- #4549, Fix schema qualification of internal types (Raúl Marín)
+ - #4546, Fix PLPGSQL functions missing the schema qualification (Raúl Marín)
PostGIS 3.0.0rc1
2019/10/08
Modified: branches/3.0/postgis/geography.sql.in
===================================================================
--- branches/3.0/postgis/geography.sql.in 2019-10-18 16:20:50 UTC (rev 17975)
+++ branches/3.0/postgis/geography.sql.in 2019-10-18 16:22:30 UTC (rev 17976)
@@ -583,7 +583,7 @@
-- Availability: 1.5.0 - this is just a hack to prevent unknown from causing ambiguous name because of geography
CREATE OR REPLACE FUNCTION ST_Length(text)
RETURNS float8 AS
- $$ SELECT ST_Length($1::@extschema at .geometry); $$
+ $$ SELECT @extschema at .ST_Length($1::@extschema at .geometry); $$
LANGUAGE 'sql' IMMUTABLE STRICT _PARALLEL;
-- Availability: 2.0.0
Modified: branches/3.0/postgis/postgis.sql.in
===================================================================
--- branches/3.0/postgis/postgis.sql.in 2019-10-18 16:20:50 UTC (rev 17975)
+++ branches/3.0/postgis/postgis.sql.in 2019-10-18 16:22:30 UTC (rev 17976)
@@ -2049,7 +2049,7 @@
IF upper(gc_old.type) = 'GEOMETRY' THEN
-- This is an unconstrained geometry we need to do something
-- We need to figure out what to set the type by inspecting the data
- EXECUTE 'SELECT @extschema at .ST_srid(' || quote_ident(gcs.attname) || ') As srid, GeometryType(' || quote_ident(gcs.attname) || ') As type, @extschema at .ST_NDims(' || quote_ident(gcs.attname) || ') As dims ' ||
+ EXECUTE 'SELECT @extschema at .ST_srid(' || quote_ident(gcs.attname) || ') As srid, @extschema at .GeometryType(' || quote_ident(gcs.attname) || ') As type, @extschema at .ST_NDims(' || quote_ident(gcs.attname) || ') As dims ' ||
' FROM ONLY ' || quote_ident(gcs.nspname) || '.' || quote_ident(gcs.relname) ||
' WHERE ' || quote_ident(gcs.attname) || ' IS NOT NULL LIMIT 1;'
INTO gc;
@@ -5220,7 +5220,7 @@
RETURNS geometry
AS '
SELECT CASE
- WHEN geometrytype(@extschema at .ST_GeomFromText($1, $2)) = ''GEOMETRYCOLLECTION''
+ WHEN @extschema at .geometrytype(@extschema at .ST_GeomFromText($1, $2)) = ''GEOMETRYCOLLECTION''
THEN @extschema at .ST_GeomFromText($1,$2)
ELSE NULL END
'
@@ -5558,8 +5558,8 @@
DECLARE
geomtext alias for $1;
srid alias for $2;
- mline geometry;
- geom geometry;
+ mline @extschema at .geometry;
+ geom @extschema at .geometry;
BEGIN
mline := @extschema at .ST_MultiLineStringFromText(geomtext, srid);
@@ -5570,7 +5570,7 @@
geom := @extschema at .ST_BuildArea(mline);
- IF GeometryType(geom) != 'POLYGON'
+ IF @extschema at .GeometryType(geom) != 'POLYGON'
THEN
RAISE EXCEPTION 'Input returns more then a single polygon, try using BdMPolyFromText instead';
END IF;
@@ -5600,8 +5600,8 @@
DECLARE
geomtext alias for $1;
srid alias for $2;
- mline geometry;
- geom geometry;
+ mline @extschema at .geometry;
+ geom @extschema at .geometry;
BEGIN
mline := @extschema at .ST_MultiLineStringFromText(geomtext, srid);
@@ -6001,14 +6001,14 @@
RETURNS geometry AS
$$
DECLARE
- vexhull GEOMETRY;
- var_resultgeom geometry;
- var_inputgeom geometry;
- vexring GEOMETRY;
- cavering GEOMETRY;
- cavept geometry[];
+ vexhull @extschema at .geometry;
+ var_resultgeom @extschema at .geometry;
+ var_inputgeom @extschema at .geometry;
+ vexring @extschema at .geometry;
+ cavering @extschema at .geometry;
+ cavept @extschema at .geometry[];
seglength double precision;
- var_tempgeom geometry;
+ var_tempgeom @extschema at .geometry;
scale_factor float := 1;
i integer;
BEGIN
@@ -6065,7 +6065,7 @@
-- make sure result covers original (#3638)
-- Using ST_UnaryUnion since SFCGAL doesn't replace with its own implementation
-- and SFCGAL one chokes for some reason
- var_resultgeom := @extschema at .ST_UnaryUnion(ST_Collect(param_inputgeom, var_resultgeom) );
+ var_resultgeom := @extschema at .ST_UnaryUnion(@extschema at .ST_Collect(param_inputgeom, var_resultgeom) );
RETURN var_resultgeom;
END;
@@ -6077,18 +6077,18 @@
CREATE OR REPLACE FUNCTION ST_ConcaveHull(param_geom geometry, param_pctconvex float, param_allow_holes boolean DEFAULT false) RETURNS geometry AS
$$
DECLARE
- var_convhull geometry := @extschema at .ST_ForceSFS(@extschema at .ST_ConvexHull(param_geom));
- var_param_geom geometry := @extschema at .ST_ForceSFS(param_geom);
+ var_convhull @extschema at .geometry := @extschema at .ST_ForceSFS(@extschema at .ST_ConvexHull(param_geom));
+ var_param_geom @extschema at .geometry := @extschema at .ST_ForceSFS(param_geom);
var_initarea float := @extschema at .ST_Area(var_convhull);
var_newarea float := var_initarea;
var_div integer := 6; /** this is the 1/var_div is the percent increase we will allow per geometry to keep speed decent **/
- var_tempgeom geometry;
- var_tempgeom2 geometry;
- var_cent geometry;
- var_geoms geometry[4]; /** We will cut the current geometry into 4 triangular quadrants along the centroid/extent **/
- var_enline geometry;
- var_resultgeom geometry;
- var_atempgeoms geometry[];
+ var_tempgeom @extschema at .geometry;
+ var_tempgeom2 @extschema at .geometry;
+ var_cent @extschema at .geometry;
+ var_geoms @extschema at .geometry[4]; /** We will cut the current geometry into 4 triangular quadrants along the centroid/extent **/
+ var_enline @extschema at .geometry;
+ var_resultgeom @extschema at .geometry;
+ var_atempgeoms @extschema at .geometry[];
var_buf float := 1; /** tolerance so that geometries that are right on the extent don't get accidentally clipped off **/
BEGIN
-- We start with convex hull as our base
Modified: branches/3.0/raster/rt_pg/rtpostgis.sql.in
===================================================================
--- branches/3.0/raster/rt_pg/rtpostgis.sql.in 2019-10-18 16:20:50 UTC (rev 17975)
+++ branches/3.0/raster/rt_pg/rtpostgis.sql.in 2019-10-18 16:22:30 UTC (rev 17976)
@@ -2093,7 +2093,7 @@
RETURNS bytea
AS $$
DECLARE
- rast2 raster;
+ rast2 @extschema at .raster;
num_bands int;
i int;
BEGIN
@@ -2171,7 +2171,7 @@
RETURNS bytea
AS $$
DECLARE
- rast2 raster;
+ rast2 @extschema at .raster;
num_bands int;
i int;
pt text;
@@ -2385,7 +2385,7 @@
RETURNS raster
AS $$
DECLARE
- g geometry;
+ g @extschema at .geometry;
g_srid integer;
ul_x double precision;
@@ -3900,7 +3900,7 @@
RETURNS raster
AS $$
DECLARE
- _rast raster;
+ _rast @extschema at .raster;
_nband integer;
_pixtype text;
_pixwidth double precision;
@@ -3907,7 +3907,7 @@
_pixheight double precision;
_width integer;
_height integer;
- _customextent raster;
+ _customextent @extschema at .raster;
_extenttype text;
BEGIN
_customextent := customextent;
@@ -3957,7 +3957,7 @@
scale double precision DEFAULT 1.0, interpolate_nodata boolean DEFAULT FALSE
)
RETURNS raster
- AS $$ SELECT @extschema at .ST_slope($1, $2, NULL::raster, $3, $4, $5, $6) $$
+ AS $$ SELECT @extschema at .ST_slope($1, $2, NULL::@extschema at .raster, $3, $4, $5, $6) $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-----------------------------------------------------------------------
@@ -4083,12 +4083,12 @@
RETURNS raster
AS $$
DECLARE
- _rast raster;
+ _rast @extschema at .raster;
_nband integer;
_pixtype text;
_width integer;
_height integer;
- _customextent raster;
+ _customextent @extschema at .raster;
_extenttype text;
BEGIN
_customextent := customextent;
@@ -4135,7 +4135,7 @@
interpolate_nodata boolean DEFAULT FALSE
)
RETURNS raster
- AS $$ SELECT @extschema at .ST_aspect($1, $2, NULL::raster, $3, $4, $5) $$
+ AS $$ SELECT @extschema at .ST_aspect($1, $2, NULL::@extschema at .raster, $3, $4, $5) $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-----------------------------------------------------------------------
@@ -4289,7 +4289,7 @@
RETURNS RASTER
AS $$
DECLARE
- _rast raster;
+ _rast @extschema at .raster;
_nband integer;
_pixtype text;
_pixwidth double precision;
@@ -4296,7 +4296,7 @@
_pixheight double precision;
_width integer;
_height integer;
- _customextent raster;
+ _customextent @extschema at .raster;
_extenttype text;
BEGIN
_customextent := customextent;
@@ -4349,7 +4349,7 @@
interpolate_nodata boolean DEFAULT FALSE
)
RETURNS RASTER
- AS $$ SELECT @extschema at .ST_hillshade($1, $2, NULL::raster, $3, $4, $5, $6, $7, $8) $$
+ AS $$ SELECT @extschema at .ST_hillshade($1, $2, NULL::@extschema at .raster, $3, $4, $5, $6, $7, $8) $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-----------------------------------------------------------------------
@@ -4449,7 +4449,7 @@
RETURNS raster
AS $$
DECLARE
- _rast raster;
+ _rast @extschema at .raster;
_nband integer;
_pixtype text;
_pixwidth double precision;
@@ -4456,7 +4456,7 @@
_pixheight double precision;
_width integer;
_height integer;
- _customextent raster;
+ _customextent @extschema at .raster;
_extenttype text;
BEGIN
_customextent := customextent;
@@ -4501,7 +4501,7 @@
pixeltype text DEFAULT '32BF', interpolate_nodata boolean DEFAULT FALSE
)
RETURNS RASTER
- AS $$ SELECT @extschema at .ST_tpi($1, $2, NULL::raster, $3, $4) $$
+ AS $$ SELECT @extschema at .ST_tpi($1, $2, NULL::@extschema at .raster, $3, $4) $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-----------------------------------------------------------------------
@@ -4585,7 +4585,7 @@
RETURNS raster
AS $$
DECLARE
- _rast raster;
+ _rast @extschema at .raster;
_nband integer;
_pixtype text;
_pixwidth double precision;
@@ -4592,7 +4592,7 @@
_pixheight double precision;
_width integer;
_height integer;
- _customextent raster;
+ _customextent @extschema at .raster;
_extenttype text;
BEGIN
_customextent := customextent;
@@ -4632,7 +4632,7 @@
pixeltype text DEFAULT '32BF', interpolate_nodata boolean DEFAULT FALSE
)
RETURNS RASTER
- AS $$ SELECT @extschema at .ST_roughness($1, $2, NULL::raster, $3, $4) $$
+ AS $$ SELECT @extschema at .ST_roughness($1, $2, NULL::@extschema at .raster, $3, $4) $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-----------------------------------------------------------------------
@@ -4731,7 +4731,7 @@
RETURNS raster
AS $$
DECLARE
- _rast raster;
+ _rast @extschema at .raster;
_nband integer;
_pixtype text;
_pixwidth double precision;
@@ -4738,7 +4738,7 @@
_pixheight double precision;
_width integer;
_height integer;
- _customextent raster;
+ _customextent @extschema at .raster;
_extenttype text;
BEGIN
_customextent := customextent;
@@ -4783,7 +4783,7 @@
pixeltype text DEFAULT '32BF', interpolate_nodata boolean DEFAULT FALSE
)
RETURNS RASTER
- AS $$ SELECT @extschema at .ST_tri($1, $2, NULL::raster, $3, $4) $$
+ AS $$ SELECT @extschema at .ST_tri($1, $2, NULL::@extschema at .raster, $3, $4) $$
LANGUAGE 'sql' IMMUTABLE _PARALLEL;
-----------------------------------------------------------------------
@@ -4843,7 +4843,7 @@
nrast integer;
idx integer;
- rast raster;
+ rast @extschema at .raster;
nband integer;
stats summarystats;
@@ -5232,7 +5232,7 @@
$$
DECLARE
params text[];
- rastout raster;
+ rastout @extschema at .raster;
BEGIN
IF rast IS NULL THEN
RAISE WARNING 'Cannot set georeferencing on a null raster in st_setgeoreference.';
@@ -6738,7 +6738,7 @@
RETURNS raster
AS $$
DECLARE
- rtn raster;
+ rtn @extschema at .raster;
_returnband text;
newnodata1 float8;
newnodata2 float8;
@@ -7691,8 +7691,8 @@
_tileheight integer;
_alignment boolean;
- _covextent geometry;
- _covrast raster;
+ _covextent @extschema at .geometry;
+ _covrast @extschema at .raster;
BEGIN
fqtn := '';
IF length($1) > 0 THEN
@@ -8992,7 +8992,7 @@
sql := 'UPDATE ' || fqtn ||
' SET ' || quote_ident($3) ||
' = @extschema at .ST_SetSRID(' || quote_ident($3) ||
- '::raster, ' || srid || ')';
+ '::@extschema at .raster, ' || srid || ')';
RAISE NOTICE 'sql = %', sql;
EXECUTE sql;
@@ -9044,7 +9044,7 @@
ipy FLOAT8;
tx int;
ty int;
- te GEOMETRY; -- tile extent
+ te @extschema at .GEOMETRY; -- tile extent
ncols int;
nlins int;
srid int;
@@ -9173,7 +9173,7 @@
rh int; -- raster height (may change at edges)
x int; -- x index of coverage
y int; -- y index of coverage
- template raster; -- an empty template raster, where each cell
+ template @extschema at .raster; -- an empty template raster, where each cell
-- represents a tile in the coverage
minY double precision;
maxX double precision;
More information about the postgis-tickets
mailing list