-----------------------------------------------------------------------
-- Raster/Raster Spatial Relationship
-----------------------------------------------------------------------
-CREATE OR REPLACE FUNCTION st_samealignment(rastA raster, rastB raster)
+CREATE OR REPLACE FUNCTION st_samealignment(rast1 raster, rast2 raster)
RETURNS boolean
AS 'MODULE_PATHNAME', 'RASTER_sameAlignment'
LANGUAGE 'C' IMMUTABLE STRICT;
AS $$ SELECT st_samealignment(st_makeemptyraster(1, 1, $1, $2, $3, $4, $5, $6), st_makeemptyraster(1, 1, $7, $8, $9, $10, $11, $12)) $$
LANGUAGE 'SQL' IMMUTABLE STRICT;
-CREATE OR REPLACE FUNCTION _st_intersects(rastA raster, nbandA integer, rastB raster, nbandB integer)
+CREATE OR REPLACE FUNCTION _st_intersects(rast1 raster, nband1 integer, rast2 raster, nband2 integer)
RETURNS boolean
AS 'MODULE_PATHNAME', 'RASTER_intersects'
LANGUAGE 'C' IMMUTABLE;
-CREATE OR REPLACE FUNCTION st_intersects(rastA raster, nbandA integer, rastB raster, nbandB integer)
+CREATE OR REPLACE FUNCTION st_intersects(rast1 raster, nband1 integer, rast2 raster, nband2 integer)
RETURNS boolean
AS $$ SELECT $1 && $3 AND _st_intersects($1, $2, $3, $4) $$
LANGUAGE 'SQL' IMMUTABLE;
-CREATE OR REPLACE FUNCTION st_intersects(rastA raster, rastB raster)
+CREATE OR REPLACE FUNCTION st_intersects(rast1 raster, rast2 raster)
RETURNS boolean
AS $$ SELECT $1 && $2 AND _st_intersects($1, 1, $2, 1) $$
LANGUAGE 'SQL' IMMUTABLE STRICT;
DROP FUNCTION IF EXISTS DropRasterTable(varchar, varchar, varchar);
DROP FUNCTION IF EXISTS DropRasterTable(varchar, varchar);
DROP FUNCTION IF EXISTS DropRasterTable(varchar);
+
+-- function parameters renamed
+DROP FUNCTION IF EXISTS _drop_st_samealignment();
+CREATE OR REPLACE FUNCTION _drop_st_samealignment()
+ RETURNS void AS $$
+ DECLARE
+ cnt int;
+ BEGIN
+ SELECT count(*) INTO cnt
+ FROM pg_proc
+ WHERE lower(proname) = 'st_samealignment'
+ AND pronargs = 2
+ AND (
+ proargnames = '{rasta,rastb}'::text[] OR
+ proargnames = '{rastA,rastB}'::text[]
+ );
+
+ IF cnt > 0 THEN
+ RAISE NOTICE 'Dropping ST_SameAlignment(raster, raster) due to parameter name changes. Unfortunately, this is a DROP ... CASCADE as the alignment raster constraint uses ST_SameAlignment(raster, raster). You will need to reapply AddRasterConstraint(''SCHEMA'', ''TABLE'', ''COLUMN'', ''alignment'') to any raster column that requires this constraint.';
+ DROP FUNCTION IF EXISTS st_samealignment(raster, raster) CASCADE;
+ END IF;
+ END;
+ $$ LANGUAGE 'plpgsql' VOLATILE;
+SELECT _drop_st_samealignment();
+DROP FUNCTION _drop_st_samealignment();
+DROP FUNCTION IF EXISTS _st_intersects(raster, integer, raster, integer);
+DROP FUNCTION IF EXISTS st_intersects(raster, integer, raster, integer);
+DROP FUNCTION IF EXISTS st_intersects(raster, raster);