From ab6ad7fcaf7eaa488f2ee431f9c2e5ff586784e7 Mon Sep 17 00:00:00 2001 From: Bborie Park Date: Fri, 27 May 2011 23:35:07 +0000 Subject: [PATCH] - remove OUT parameters on those functions that only return a single value. - updated regression tests that made use of those functions returning single values with OUT parameters git-svn-id: http://svn.osgeo.org/postgis/trunk@7277 b70326c6-7e19-0410-871a-916f4a2858ee --- raster/rt_pg/rtpostgis.sql.in.c | 156 +++++++++++------------ raster/test/regress/rt_count.sql | 32 +++-- raster/test/regress/rt_count_expected | 2 + raster/test/regress/rt_mean.sql | 36 ++++-- raster/test/regress/rt_mean_expected | 2 + raster/test/regress/rt_quantile.sql | 108 ++++++++-------- raster/test/regress/rt_quantile_expected | 8 +- raster/test/regress/rt_stddev.sql | 36 ++++-- raster/test/regress/rt_stddev_expected | 2 + raster/test/regress/rt_sum.sql | 37 ++++-- raster/test/regress/rt_sum_expected | 2 + raster/test/regress/rt_valuecount.sql | 48 +++---- raster/test/regress/rt_valuepercent.sql | 34 ++--- 13 files changed, 286 insertions(+), 217 deletions(-) diff --git a/raster/rt_pg/rtpostgis.sql.in.c b/raster/rt_pg/rtpostgis.sql.in.c index 8fff7b461..3ed8fd819 100644 --- a/raster/rt_pg/rtpostgis.sql.in.c +++ b/raster/rt_pg/rtpostgis.sql.in.c @@ -416,62 +416,62 @@ CREATE OR REPLACE FUNCTION st_approxsummarystats(rastertable text, rastercolumn ----------------------------------------------------------------------- -- ST_Count and ST_ApproxCount ----------------------------------------------------------------------- -CREATE OR REPLACE FUNCTION st_count(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, OUT count bigint) +CREATE OR REPLACE FUNCTION st_count(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, $2, $3, 1) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_count(rast raster, hasnodata boolean, OUT count bigint) +CREATE OR REPLACE FUNCTION st_count(rast raster, hasnodata boolean) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, 1, $2, 1) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxcount(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1, OUT count bigint) +CREATE OR REPLACE FUNCTION st_approxcount(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, $2, $3, $4) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxcount(rast raster, nband int, sample_percent double precision, OUT count bigint) +CREATE OR REPLACE FUNCTION st_approxcount(rast raster, nband int, sample_percent double precision) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, $2, TRUE, $3) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxcount(rast raster, hasnodata boolean, sample_percent double precision DEFAULT 0.1, OUT count bigint) +CREATE OR REPLACE FUNCTION st_approxcount(rast raster, hasnodata boolean, sample_percent double precision DEFAULT 0.1) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, 1, $2, $3) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxcount(rast raster, sample_percent double precision, OUT count bigint) +CREATE OR REPLACE FUNCTION st_approxcount(rast raster, sample_percent double precision) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, 1, TRUE, $2) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_count(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, OUT count bigint) +CREATE OR REPLACE FUNCTION st_count(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, $2, $3, $4, 1) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_count(rastertable text, rastercolumn text, hasnodata boolean, OUT count bigint) +CREATE OR REPLACE FUNCTION st_count(rastertable text, rastercolumn text, hasnodata boolean) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, $2, 1, $3, 1) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxcount(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1, OUT count bigint) +CREATE OR REPLACE FUNCTION st_approxcount(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, $2, $3, $4, $5) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxcount(rastertable text, rastercolumn text, nband int, sample_percent double precision, OUT count bigint) +CREATE OR REPLACE FUNCTION st_approxcount(rastertable text, rastercolumn text, nband int, sample_percent double precision) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, $2, $3, TRUE, $4) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxcount(rastertable text, rastercolumn text, hasnodata boolean, sample_percent double precision DEFAULT 0.1, OUT count bigint) +CREATE OR REPLACE FUNCTION st_approxcount(rastertable text, rastercolumn text, hasnodata boolean, sample_percent double precision DEFAULT 0.1) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, $2, 1, $3, $4) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxcount(rastertable text, rastercolumn text, sample_percent double precision, OUT count bigint) +CREATE OR REPLACE FUNCTION st_approxcount(rastertable text, rastercolumn text, sample_percent double precision) RETURNS bigint AS $$ SELECT count FROM st_summarystats($1, $2, 1, TRUE, $3) $$ LANGUAGE 'SQL' STABLE STRICT; @@ -479,62 +479,62 @@ CREATE OR REPLACE FUNCTION st_approxcount(rastertable text, rastercolumn text, s ----------------------------------------------------------------------- -- ST_Sum and ST_ApproxSum ----------------------------------------------------------------------- -CREATE OR REPLACE FUNCTION st_sum(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_sum(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, $2, $3, 1) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_sum(rast raster, hasnodata boolean, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_sum(rast raster, hasnodata boolean) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, 1, $2, 1) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxsum(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_approxsum(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, $2, $3, $4) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxsum(rast raster, nband int, sample_percent double precision, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_approxsum(rast raster, nband int, sample_percent double precision) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, $2, TRUE, $3) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxsum(rast raster, hasnodata boolean, sample_percent double precision DEFAULT 0.1, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_approxsum(rast raster, hasnodata boolean, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, 1, $2, $3) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxsum(rast raster, sample_percent double precision, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_approxsum(rast raster, sample_percent double precision) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, 1, TRUE, $2) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_sum(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_sum(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, $2, $3, $4, 1) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_sum(rastertable text, rastercolumn text, hasnodata boolean, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_sum(rastertable text, rastercolumn text, hasnodata boolean) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, $2, 1, $3, 1) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxsum(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_approxsum(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, $2, $3, $4, $5) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxsum(rastertable text, rastercolumn text, nband int, sample_percent double precision, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_approxsum(rastertable text, rastercolumn text, nband int, sample_percent double precision) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, $2, $3, TRUE, $4) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxsum(rastertable text, rastercolumn text, hasnodata boolean, sample_percent double precision DEFAULT 0.1, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_approxsum(rastertable text, rastercolumn text, hasnodata boolean, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, $2, 1, $3, $4) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxsum(rastertable text, rastercolumn text, sample_percent double precision, OUT sum double precision) +CREATE OR REPLACE FUNCTION st_approxsum(rastertable text, rastercolumn text, sample_percent double precision) RETURNS double precision AS $$ SELECT sum FROM st_summarystats($1, $2, 1, TRUE, $3) $$ LANGUAGE 'SQL' STABLE STRICT; @@ -542,62 +542,62 @@ CREATE OR REPLACE FUNCTION st_approxsum(rastertable text, rastercolumn text, sam ----------------------------------------------------------------------- -- ST_Mean and ST_ApproxMean ----------------------------------------------------------------------- -CREATE OR REPLACE FUNCTION st_mean(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_mean(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, $2, $3, 1) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_mean(rast raster, hasnodata boolean, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_mean(rast raster, hasnodata boolean) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, 1, $2, 1) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxmean(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_approxmean(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, $2, $3, $4) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxmean(rast raster, nband int, sample_percent double precision, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_approxmean(rast raster, nband int, sample_percent double precision) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, $2, TRUE, $3) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxmean(rast raster, hasnodata boolean, sample_percent double precision DEFAULT 0.1, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_approxmean(rast raster, hasnodata boolean, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, 1, $2, $3) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxmean(rast raster, sample_percent double precision, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_approxmean(rast raster, sample_percent double precision) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, 1, TRUE, $2) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_mean(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_mean(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, $2, $3, $4, 1) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_mean(rastertable text, rastercolumn text, hasnodata boolean, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_mean(rastertable text, rastercolumn text, hasnodata boolean) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, $2, 1, $3, 1) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxmean(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_approxmean(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, $2, $3, $4, $5) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxmean(rastertable text, rastercolumn text, nband int, sample_percent double precision, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_approxmean(rastertable text, rastercolumn text, nband int, sample_percent double precision) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, $2, $3, TRUE, $4) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxmean(rastertable text, rastercolumn text, hasnodata boolean, sample_percent double precision DEFAULT 0.1, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_approxmean(rastertable text, rastercolumn text, hasnodata boolean, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, $2, 1, $3, $4) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxmean(rastertable text, rastercolumn text, sample_percent double precision, OUT mean double precision) +CREATE OR REPLACE FUNCTION st_approxmean(rastertable text, rastercolumn text, sample_percent double precision) RETURNS double precision AS $$ SELECT mean FROM st_summarystats($1, $2, 1, TRUE, $3) $$ LANGUAGE 'SQL' STABLE STRICT; @@ -605,62 +605,62 @@ CREATE OR REPLACE FUNCTION st_approxmean(rastertable text, rastercolumn text, sa ----------------------------------------------------------------------- -- ST_StdDev and ST_ApproxStdDev ----------------------------------------------------------------------- -CREATE OR REPLACE FUNCTION st_stddev(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_stddev(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, $2, $3, 1) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_stddev(rast raster, hasnodata boolean, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_stddev(rast raster, hasnodata boolean) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, 1, $2, 1) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxstddev(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_approxstddev(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, $2, $3, $4) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxstddev(rast raster, nband int, sample_percent double precision, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_approxstddev(rast raster, nband int, sample_percent double precision) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, $2, TRUE, $3) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxstddev(rast raster, hasnodata boolean, sample_percent double precision DEFAULT 0.1, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_approxstddev(rast raster, hasnodata boolean, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, 1, $2, $3) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxstddev(rast raster, sample_percent double precision, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_approxstddev(rast raster, sample_percent double precision) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, 1, TRUE, $2) $$ LANGUAGE 'SQL' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_stddev(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_stddev(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, $2, $3, $4, 1) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_stddev(rastertable text, rastercolumn text, hasnodata boolean, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_stddev(rastertable text, rastercolumn text, hasnodata boolean) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, $2, 1, $3, 1) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxstddev(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_approxstddev(rastertable text, rastercolumn text, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, $2, $3, $4, $5) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxstddev(rastertable text, rastercolumn text, nband int, sample_percent double precision, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_approxstddev(rastertable text, rastercolumn text, nband int, sample_percent double precision) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, $2, $3, TRUE, $4) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxstddev(rastertable text, rastercolumn text, hasnodata boolean, sample_percent double precision DEFAULT 0.1, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_approxstddev(rastertable text, rastercolumn text, hasnodata boolean, sample_percent double precision DEFAULT 0.1) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, $2, 1, $3, $4) $$ LANGUAGE 'SQL' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxstddev(rastertable text, rastercolumn text, sample_percent double precision, OUT stddev double precision) +CREATE OR REPLACE FUNCTION st_approxstddev(rastertable text, rastercolumn text, sample_percent double precision) RETURNS double precision AS $$ SELECT stddev FROM st_summarystats($1, $2, 1, TRUE, $3) $$ LANGUAGE 'SQL' STABLE STRICT; @@ -829,24 +829,24 @@ CREATE OR REPLACE FUNCTION st_quantile(rast raster, quantiles double precision[] LANGUAGE 'sql' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION st_quantile(rast raster, nband int, hasnodata boolean, quantile double precision) - RETURNS quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, $2, $3, 1, ARRAY[$4]::double precision[]) $$ + RETURNS double precision + AS $$ SELECT value FROM _st_quantile($1, $2, $3, 1, ARRAY[$4]::double precision[]) $$ LANGUAGE 'sql' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION st_quantile(rast raster, nband int, quantile double precision) - RETURNS quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, $2, TRUE, 1, ARRAY[$3]::double precision[]) $$ + RETURNS double precision + AS $$ SELECT value FROM _st_quantile($1, $2, TRUE, 1, ARRAY[$3]::double precision[]) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -- Cannot be strict as "quantile" can be NULL CREATE OR REPLACE FUNCTION st_quantile(rast raster, hasnodata boolean, quantile double precision DEFAULT NULL) - RETURNS quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, 1, $2, 1, ARRAY[$3]::double precision[]) $$ + RETURNS double precision + AS $$ SELECT value FROM _st_quantile($1, 1, $2, 1, ARRAY[$3]::double precision[]) $$ LANGUAGE 'sql' IMMUTABLE; CREATE OR REPLACE FUNCTION st_quantile(rast raster, quantile double precision) - RETURNS quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, 1, TRUE, 1, ARRAY[$2]::double precision[]) $$ + RETURNS double precision + AS $$ SELECT value FROM _st_quantile($1, 1, TRUE, 1, ARRAY[$2]::double precision[]) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -- Cannot be strict as "quantiles" can be NULL @@ -873,29 +873,29 @@ CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, quantiles double preci LANGUAGE 'sql' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, nband int, hasnodata boolean, sample_percent double precision, quantile double precision) - RETURNS quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, $2, $3, $4, ARRAY[$5]::double precision[]) $$ + RETURNS double precision + AS $$ SELECT value FROM _st_quantile($1, $2, $3, $4, ARRAY[$5]::double precision[]) $$ LANGUAGE 'sql' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, nband int, sample_percent double precision, quantile double precision) - RETURNS quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, $2, TRUE, $3, ARRAY[$4]::double precision[]) $$ + RETURNS double precision + AS $$ SELECT value FROM _st_quantile($1, $2, TRUE, $3, ARRAY[$4]::double precision[]) $$ LANGUAGE 'sql' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, sample_percent double precision, quantile double precision) - RETURNS quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, 1, TRUE, $2, ARRAY[$3]::double precision[]) $$ + RETURNS double precision + AS $$ SELECT value FROM _st_quantile($1, 1, TRUE, $2, ARRAY[$3]::double precision[]) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -- Cannot be strict as "quantile" can be NULL CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, hasnodata boolean, quantile double precision DEFAULT NULL) - RETURNS quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, 1, $2, 1, ARRAY[$3]::double precision[]) $$ + RETURNS double precision + AS $$ SELECT value FROM _st_quantile($1, 1, $2, 1, ARRAY[$3]::double precision[]) $$ LANGUAGE 'sql' IMMUTABLE; CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, quantile double precision) - RETURNS quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, 1, TRUE, 1, ARRAY[$2]::double precision[]) $$ + RETURNS double precision + AS $$ SELECT value FROM _st_quantile($1, 1, TRUE, 1, ARRAY[$2]::double precision[]) $$ LANGUAGE 'sql' IMMUTABLE; ----------------------------------------------------------------------- @@ -930,17 +930,17 @@ CREATE OR REPLACE FUNCTION st_valuecount(rast raster, searchvalues double precis AS $$ SELECT value, count FROM _st_valuecount($1, 1, TRUE, $2, $3) $$ LANGUAGE 'sql' IMMUTABLE; -CREATE OR REPLACE FUNCTION st_valuecount(rast raster, nband integer, hasnodata boolean, searchvalue double precision, roundto double precision DEFAULT 0, OUT count integer) +CREATE OR REPLACE FUNCTION st_valuecount(rast raster, nband integer, hasnodata boolean, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS integer AS $$ SELECT count FROM _st_valuecount($1, $2, $3, ARRAY[$4]::double precision[], $5) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_valuecount(rast raster, nband integer, searchvalue double precision, roundto double precision DEFAULT 0, OUT count integer) +CREATE OR REPLACE FUNCTION st_valuecount(rast raster, nband integer, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS integer AS $$ SELECT count FROM _st_valuecount($1, $2, TRUE, ARRAY[$3]::double precision[], $4) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_valuecount(rast raster, searchvalue double precision, roundto double precision DEFAULT 0, OUT count integer) +CREATE OR REPLACE FUNCTION st_valuecount(rast raster, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS integer AS $$ SELECT count FROM _st_valuecount($1, 1, TRUE, ARRAY[$2]::double precision[], $3) $$ LANGUAGE 'sql' IMMUTABLE STRICT; @@ -1026,17 +1026,17 @@ CREATE OR REPLACE FUNCTION st_valuecount(rastertable text, rastercolumn text, se AS $$ SELECT value, count FROM st_valuecount($1, $2, 1, TRUE, $3, $4) $$ LANGUAGE 'sql' STABLE; -CREATE OR REPLACE FUNCTION st_valuecount(rastertable text, rastercolumn text, nband integer, hasnodata boolean, searchvalue double precision, roundto double precision DEFAULT 0, OUT count bigint) +CREATE OR REPLACE FUNCTION st_valuecount(rastertable text, rastercolumn text, nband integer, hasnodata boolean, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS bigint AS $$ SELECT count FROM st_valuecount($1, $2, $3, $4, ARRAY[$5]::double precision[], $6) $$ LANGUAGE 'sql' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_valuecount(rastertable text, rastercolumn text, nband integer, searchvalue double precision, roundto double precision DEFAULT 0, OUT count bigint) +CREATE OR REPLACE FUNCTION st_valuecount(rastertable text, rastercolumn text, nband integer, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS bigint AS $$ SELECT count FROM st_valuecount($1, $2, $3, TRUE, ARRAY[$4]::double precision[], $5) $$ LANGUAGE 'sql' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_valuecount(rastertable text, rastercolumn text, searchvalue double precision, roundto double precision DEFAULT 0, OUT count bigint) +CREATE OR REPLACE FUNCTION st_valuecount(rastertable text, rastercolumn text, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS bigint AS $$ SELECT count FROM st_valuecount($1, $2, 1, TRUE, ARRAY[$3]::double precision[], $4) $$ LANGUAGE 'sql' STABLE STRICT; @@ -1056,17 +1056,17 @@ CREATE OR REPLACE FUNCTION st_valuepercent(rast raster, searchvalues double prec AS $$ SELECT value, percent FROM _st_valuecount($1, 1, TRUE, $2, $3) $$ LANGUAGE 'sql' IMMUTABLE; -CREATE OR REPLACE FUNCTION st_valuepercent(rast raster, nband integer, hasnodata boolean, searchvalue double precision, roundto double precision DEFAULT 0, OUT percent double precision) +CREATE OR REPLACE FUNCTION st_valuepercent(rast raster, nband integer, hasnodata boolean, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS double precision AS $$ SELECT percent FROM _st_valuecount($1, $2, $3, ARRAY[$4]::double precision[], $5) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_valuepercent(rast raster, nband integer, searchvalue double precision, roundto double precision DEFAULT 0, OUT percent double precision) +CREATE OR REPLACE FUNCTION st_valuepercent(rast raster, nband integer, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS double precision AS $$ SELECT percent FROM _st_valuecount($1, $2, TRUE, ARRAY[$3]::double precision[], $4) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_valuepercent(rast raster, searchvalue double precision, roundto double precision DEFAULT 0, OUT percent double precision) +CREATE OR REPLACE FUNCTION st_valuepercent(rast raster, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS double precision AS $$ SELECT percent FROM _st_valuecount($1, 1, TRUE, ARRAY[$2]::double precision[], $3) $$ LANGUAGE 'sql' IMMUTABLE STRICT; @@ -1102,17 +1102,17 @@ CREATE OR REPLACE FUNCTION st_valuepercent(rastertable text, rastercolumn text, AS $$ SELECT value, percent FROM st_valuepercent($1, $2, 1, TRUE, $3, $4) $$ LANGUAGE 'sql' STABLE; -CREATE OR REPLACE FUNCTION st_valuepercent(rastertable text, rastercolumn text, nband integer, hasnodata boolean, searchvalue double precision, roundto double precision DEFAULT 0, OUT percent double precision) +CREATE OR REPLACE FUNCTION st_valuepercent(rastertable text, rastercolumn text, nband integer, hasnodata boolean, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS double precision AS $$ SELECT percent FROM st_valuepercent($1, $2, $3, $4, ARRAY[$5]::double precision[], $6) $$ LANGUAGE 'sql' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_valuepercent(rastertable text, rastercolumn text, nband integer, searchvalue double precision, roundto double precision DEFAULT 0, OUT percent double precision) +CREATE OR REPLACE FUNCTION st_valuepercent(rastertable text, rastercolumn text, nband integer, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS double precision AS $$ SELECT percent FROM st_valuepercent($1, $2, $3, TRUE, ARRAY[$4]::double precision[], $5) $$ LANGUAGE 'sql' STABLE STRICT; -CREATE OR REPLACE FUNCTION st_valuepercent(rastertable text, rastercolumn text, searchvalue double precision, roundto double precision DEFAULT 0, OUT percent double precision) +CREATE OR REPLACE FUNCTION st_valuepercent(rastertable text, rastercolumn text, searchvalue double precision, roundto double precision DEFAULT 0) RETURNS double precision AS $$ SELECT percent FROM st_valuepercent($1, $2, 1, TRUE, ARRAY[$3]::double precision[], $4) $$ LANGUAGE 'sql' STABLE STRICT; diff --git a/raster/test/regress/rt_count.sql b/raster/test/regress/rt_count.sql index e24960f87..ef5779c7b 100644 --- a/raster/test/regress/rt_count.sql +++ b/raster/test/regress/rt_count.sql @@ -12,9 +12,9 @@ SELECT ST_Count( ) , 1, 5, 5, 3.14159 ) - , TRUE + , 1, TRUE ); -SELECT count FROM ST_Count( +SELECT ST_Count( ST_SetValue( ST_SetValue( ST_SetValue( @@ -28,9 +28,9 @@ SELECT count FROM ST_Count( ) , 1, 5, 5, 3.14159 ) - , TRUE + , 1 ); -SELECT count FROM ST_Count( +SELECT ST_Count( ST_SetValue( ST_SetValue( ST_SetValue( @@ -46,6 +46,21 @@ SELECT count FROM ST_Count( ) , FALSE ); +SELECT ST_Count( + ST_SetValue( + ST_SetValue( + ST_SetValue( + ST_AddBand( + ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) + , 1, '64BF', 0, 0 + ) + , 1, 1, 1, -10 + ) + , 1, 5, 4, 0 + ) + , 1, 5, 5, 3.14159 + ) +); BEGIN; CREATE TEMP TABLE test ON COMMIT DROP AS @@ -70,9 +85,10 @@ CREATE TEMP TABLE test SELECT generate_series(1, 10) AS id ) AS id ON 1 = 1; -SELECT count FROM ST_Count('test', 'rast', 1, TRUE); -SELECT count FROM ST_Count('test', 'rast', 1, FALSE); -SELECT count FROM ST_Count('test', 'rast', 1); -SELECT count FROM ST_Count('test', 'rast'); +SELECT ST_Count('test', 'rast', 1, TRUE); +SELECT ST_Count('test', 'rast', 1, FALSE); +SELECT ST_Count('test', 'rast', 1); +SELECT ST_Count('test', 'rast', FALSE); +SELECT ST_Count('test', 'rast'); ROLLBACK; diff --git a/raster/test/regress/rt_count_expected b/raster/test/regress/rt_count_expected index 9d2487756..5e8f6c689 100644 --- a/raster/test/regress/rt_count_expected +++ b/raster/test/regress/rt_count_expected @@ -1,9 +1,11 @@ 2 2 100 +2 BEGIN 20 1000 20 +1000 20 COMMIT diff --git a/raster/test/regress/rt_mean.sql b/raster/test/regress/rt_mean.sql index 6edd9a998..0186738d0 100644 --- a/raster/test/regress/rt_mean.sql +++ b/raster/test/regress/rt_mean.sql @@ -12,9 +12,9 @@ SELECT round(ST_Mean( ) , 1, 5, 5, 3.14159 ) - , TRUE + , 1, TRUE )::numeric, 3); -SELECT round(mean::numeric, 3) FROM ST_Mean( +SELECT round(ST_Mean( ST_SetValue( ST_SetValue( ST_SetValue( @@ -28,9 +28,9 @@ SELECT round(mean::numeric, 3) FROM ST_Mean( ) , 1, 5, 5, 3.14159 ) - , TRUE -); -SELECT round(mean::numeric, 3) FROM ST_Mean( + , 1 +)::numeric, 3); +SELECT round(ST_Mean( ST_SetValue( ST_SetValue( ST_SetValue( @@ -45,7 +45,22 @@ SELECT round(mean::numeric, 3) FROM ST_Mean( , 1, 5, 5, 3.14159 ) , FALSE -); +)::numeric, 3); +SELECT round(ST_Mean( + ST_SetValue( + ST_SetValue( + ST_SetValue( + ST_AddBand( + ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) + , 1, '64BF', 0, 0 + ) + , 1, 1, 1, -10 + ) + , 1, 5, 4, 0 + ) + , 1, 5, 5, 3.14159 + ) +)::numeric, 3); BEGIN; CREATE TEMP TABLE test ON COMMIT DROP AS @@ -70,9 +85,10 @@ CREATE TEMP TABLE test SELECT generate_series(1, 10) AS id ) AS id ON 1 = 1; -SELECT round(mean::numeric, 3) FROM ST_Mean('test', 'rast', 1, TRUE); -SELECT round(mean::numeric, 3) FROM ST_Mean('test', 'rast', 1, FALSE); -SELECT round(mean::numeric, 3) FROM ST_Mean('test', 'rast', 1); -SELECT round(mean::numeric, 3) FROM ST_Mean('test', 'rast'); +SELECT round(ST_Mean('test', 'rast', 1, TRUE)::numeric, 3); +SELECT round(ST_Mean('test', 'rast', 1, FALSE)::numeric, 3); +SELECT round(ST_Mean('test', 'rast', 1)::numeric, 3); +SELECT round(ST_Mean('test', 'rast', FALSE)::numeric, 3); +SELECT round(ST_Mean('test', 'rast')::numeric, 3); ROLLBACK; diff --git a/raster/test/regress/rt_mean_expected b/raster/test/regress/rt_mean_expected index 1731829d4..f8e2229f7 100644 --- a/raster/test/regress/rt_mean_expected +++ b/raster/test/regress/rt_mean_expected @@ -1,9 +1,11 @@ -3.429 -3.429 -0.069 +-3.429 BEGIN -3.429 -0.069 -3.429 +-0.069 -3.429 COMMIT diff --git a/raster/test/regress/rt_quantile.sql b/raster/test/regress/rt_quantile.sql index 4be5dc9b0..461d47ce0 100644 --- a/raster/test/regress/rt_quantile.sql +++ b/raster/test/regress/rt_quantile.sql @@ -111,79 +111,75 @@ FROM ST_Quantile( , 1, 5, 5, 3.14159 ) ); -SELECT - round(quantile::numeric, 3), - round(value::numeric, 3) -FROM ST_Quantile( - ST_SetValue( +SELECT round( + ST_Quantile( ST_SetValue( ST_SetValue( - ST_AddBand( - ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) - , 1, '64BF', 0, 0 + ST_SetValue( + ST_AddBand( + ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) + , 1, '64BF', 0, 0 + ) + , 1, 1, 1, -10 ) - , 1, 1, 1, -10 + , 1, 5, 4, 0 ) - , 1, 5, 4, 0 - ) - , 1, 5, 5, 3.14159 - ), - 1, FALSE, 0.05 + , 1, 5, 5, 3.14159 + ), + 1, FALSE, 0.05 + )::numeric, 3 ); -SELECT - round(quantile::numeric, 3), - round(value::numeric, 3) -FROM ST_Quantile( - ST_SetValue( +SELECT round( + ST_Quantile( ST_SetValue( ST_SetValue( - ST_AddBand( - ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) - , 1, '64BF', 0, 0 + ST_SetValue( + ST_AddBand( + ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) + , 1, '64BF', 0, 0 + ) + , 1, 1, 1, -10 ) - , 1, 1, 1, -10 + , 1, 5, 4, 0 ) - , 1, 5, 4, 0 - ) - , 1, 5, 5, 3.14159 - ), - 1, 0.95 + , 1, 5, 5, 3.14159 + ), + 1, 0.95 + )::numeric, 3 ); -SELECT - round(quantile::numeric, 3), - round(value::numeric, 3) -FROM ST_Quantile( - ST_SetValue( +SELECT round( + ST_Quantile( ST_SetValue( ST_SetValue( - ST_AddBand( - ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) - , 1, '64BF', 0, 0 + ST_SetValue( + ST_AddBand( + ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) + , 1, '64BF', 0, 0 + ) + , 1, 1, 1, -10 ) - , 1, 1, 1, -10 + , 1, 5, 4, 0 ) - , 1, 5, 4, 0 - ) - , 1, 5, 5, 3.14159 - ), - FALSE, 0.7 + , 1, 5, 5, 3.14159 + ), + FALSE, 0.7 + )::numeric, 3 ); -SELECT - round(quantile::numeric, 3), - round(value::numeric, 3) -FROM ST_Quantile( - ST_SetValue( +SELECT round( + ST_Quantile( ST_SetValue( ST_SetValue( - ST_AddBand( - ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) - , 1, '64BF', 0, 0 + ST_SetValue( + ST_AddBand( + ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) + , 1, '64BF', 0, 0 + ) + , 1, 1, 1, -10 ) - , 1, 1, 1, -10 + , 1, 5, 4, 0 ) - , 1, 5, 4, 0 - ) - , 1, 5, 5, 3.14159 - ), - 0.45 + , 1, 5, 5, 3.14159 + ), + 0.45 + )::numeric, 3 ); diff --git a/raster/test/regress/rt_quantile_expected b/raster/test/regress/rt_quantile_expected index d6235076a..a67e2fcff 100644 --- a/raster/test/regress/rt_quantile_expected +++ b/raster/test/regress/rt_quantile_expected @@ -37,7 +37,7 @@ 0.500|-3.429 0.750|-0.144 1.000|3.142 -0.050|0.000 -0.950|2.485 -0.700|0.000 -0.450|-4.086 +0.000 +2.485 +0.000 +-4.086 diff --git a/raster/test/regress/rt_stddev.sql b/raster/test/regress/rt_stddev.sql index 0bb408e6b..68fbe0fad 100644 --- a/raster/test/regress/rt_stddev.sql +++ b/raster/test/regress/rt_stddev.sql @@ -12,9 +12,9 @@ SELECT round(ST_StdDev( ) , 1, 5, 5, 3.14159 ) - , TRUE + , 1, TRUE )::numeric, 3); -SELECT round(stddev::numeric, 3) FROM ST_StdDev( +SELECT round(ST_StdDev( ST_SetValue( ST_SetValue( ST_SetValue( @@ -28,9 +28,9 @@ SELECT round(stddev::numeric, 3) FROM ST_StdDev( ) , 1, 5, 5, 3.14159 ) - , TRUE -); -SELECT round(stddev::numeric, 3) FROM ST_StdDev( + , 1 +)::numeric, 3); +SELECT round(ST_StdDev( ST_SetValue( ST_SetValue( ST_SetValue( @@ -45,7 +45,22 @@ SELECT round(stddev::numeric, 3) FROM ST_StdDev( , 1, 5, 5, 3.14159 ) , FALSE -); +)::numeric, 3); +SELECT round(ST_StdDev( + ST_SetValue( + ST_SetValue( + ST_SetValue( + ST_AddBand( + ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) + , 1, '64BF', 0, 0 + ) + , 1, 1, 1, -10 + ) + , 1, 5, 4, 0 + ) + , 1, 5, 5, 3.14159 + ) +)::numeric, 3); BEGIN; CREATE TEMP TABLE test ON COMMIT DROP AS @@ -70,8 +85,9 @@ CREATE TEMP TABLE test SELECT generate_series(1, 10) AS id ) AS id ON 1 = 1; -SELECT round(stddev::numeric, 3) FROM ST_StdDev('test', 'rast', 1, TRUE); -SELECT round(stddev::numeric, 3) FROM ST_StdDev('test', 'rast', 1, FALSE); -SELECT round(stddev::numeric, 3) FROM ST_StdDev('test', 'rast', 1); -SELECT round(stddev::numeric, 3) FROM ST_StdDev('test', 'rast'); +SELECT round(ST_StdDev('test', 'rast', 1, TRUE)::numeric, 3); +SELECT round(ST_StdDev('test', 'rast', 1, FALSE)::numeric, 3); +SELECT round(ST_StdDev('test', 'rast', 1)::numeric, 3); +SELECT round(ST_StdDev('test', 'rast', FALSE)::numeric, 3); +SELECT round(ST_StdDev('test', 'rast')::numeric, 3); ROLLBACK; diff --git a/raster/test/regress/rt_stddev_expected b/raster/test/regress/rt_stddev_expected index ef302a8f4..a129db2ed 100644 --- a/raster/test/regress/rt_stddev_expected +++ b/raster/test/regress/rt_stddev_expected @@ -1,9 +1,11 @@ 6.571 6.571 1.046 +6.571 BEGIN 6.571 1.046 6.571 +1.046 6.571 COMMIT diff --git a/raster/test/regress/rt_sum.sql b/raster/test/regress/rt_sum.sql index 5a7873af5..33e46af7a 100644 --- a/raster/test/regress/rt_sum.sql +++ b/raster/test/regress/rt_sum.sql @@ -12,9 +12,9 @@ SELECT round(ST_Sum( ) , 1, 5, 5, 3.14159 ) - , TRUE + , 1, TRUE )::numeric, 3); -SELECT round(sum::numeric, 3) FROM ST_Sum( +SELECT round(ST_Sum( ST_SetValue( ST_SetValue( ST_SetValue( @@ -28,9 +28,9 @@ SELECT round(sum::numeric, 3) FROM ST_Sum( ) , 1, 5, 5, 3.14159 ) - , TRUE -); -SELECT round(sum::numeric, 3) FROM ST_Sum( + , 1 +)::numeric, 3); +SELECT round(ST_Sum( ST_SetValue( ST_SetValue( ST_SetValue( @@ -45,7 +45,23 @@ SELECT round(sum::numeric, 3) FROM ST_Sum( , 1, 5, 5, 3.14159 ) , FALSE -); +)::numeric, 3); +SELECT round(ST_Sum( + ST_SetValue( + ST_SetValue( + ST_SetValue( + ST_AddBand( + ST_MakeEmptyRaster(10, 10, 10, 10, 2, 2, 0, 0,-1) + , 1, '64BF', 0, 0 + ) + , 1, 1, 1, -10 + ) + , 1, 5, 4, 0 + ) + , 1, 5, 5, 3.14159 + ) +)::numeric, 3); + BEGIN; CREATE TEMP TABLE test ON COMMIT DROP AS @@ -70,9 +86,10 @@ CREATE TEMP TABLE test SELECT generate_series(1, 10) AS id ) AS id ON 1 = 1; -SELECT round(sum::numeric, 3) FROM ST_Sum('test', 'rast', 1, TRUE); -SELECT round(sum::numeric, 3) FROM ST_Sum('test', 'rast', 1, FALSE); -SELECT round(sum::numeric, 3) FROM ST_Sum('test', 'rast', 1); -SELECT round(sum::numeric, 3) FROM ST_Sum('test', 'rast'); +SELECT round(ST_Sum('test', 'rast', 1, TRUE)::numeric, 3); +SELECT round(ST_Sum('test', 'rast', 1, FALSE)::numeric, 3); +SELECT round(ST_Sum('test', 'rast', 1)::numeric, 3); +SELECT round(ST_Sum('test', 'rast', TRUE)::numeric, 3); +SELECT round(ST_Sum('test', 'rast')::numeric, 3); ROLLBACK; diff --git a/raster/test/regress/rt_sum_expected b/raster/test/regress/rt_sum_expected index cdf1219fa..a3e8f387a 100644 --- a/raster/test/regress/rt_sum_expected +++ b/raster/test/regress/rt_sum_expected @@ -1,9 +1,11 @@ -6.858 -6.858 -6.858 +-6.858 BEGIN -6.858 -6.858 -6.858 -6.858 +-6.858 COMMIT diff --git a/raster/test/regress/rt_valuecount.sql b/raster/test/regress/rt_valuecount.sql index 7b4102fdd..92b8c3769 100644 --- a/raster/test/regress/rt_valuecount.sql +++ b/raster/test/regress/rt_valuecount.sql @@ -1,4 +1,4 @@ -SELECT round(value::numeric, 3), count FROM st_valuecount( +SELECT round(value::numeric, 3), count FROM ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -13,7 +13,7 @@ SELECT round(value::numeric, 3), count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , 1, TRUE, ARRAY[]::double precision[], 0); -SELECT round(value::numeric, 3), count FROM st_valuecount( +SELECT round(value::numeric, 3), count FROM ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -28,7 +28,7 @@ SELECT round(value::numeric, 3), count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , 1, TRUE, NULL::double precision[], 0); -SELECT round(value::numeric, 3), count FROM st_valuecount( +SELECT round(value::numeric, 3), count FROM ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -43,7 +43,7 @@ SELECT round(value::numeric, 3), count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , 1, FALSE, NULL::double precision[], 0); -SELECT round(value::numeric, 3), count FROM st_valuecount( +SELECT round(value::numeric, 3), count FROM ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -58,7 +58,7 @@ SELECT round(value::numeric, 3), count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , 1, TRUE, NULL::double precision[], 0.1); -SELECT round(value::numeric, 3), count FROM st_valuecount( +SELECT round(value::numeric, 3), count FROM ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -73,7 +73,7 @@ SELECT round(value::numeric, 3), count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , 1, ARRAY[3.1], 0.1); -SELECT round(value::numeric, 3), count FROM st_valuecount( +SELECT round(value::numeric, 3), count FROM ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -88,7 +88,7 @@ SELECT round(value::numeric, 3), count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , 1, ARRAY[-10]); -SELECT round(value::numeric, 3), count FROM st_valuecount( +SELECT round(value::numeric, 3), count FROM ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -103,7 +103,7 @@ SELECT round(value::numeric, 3), count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , ARRAY[-10], 0); -SELECT round(value::numeric, 3), count FROM st_valuecount( +SELECT round(value::numeric, 3), count FROM ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -118,7 +118,7 @@ SELECT round(value::numeric, 3), count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , ARRAY[-10, 3]); -SELECT count FROM st_valuecount( +SELECT ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -133,7 +133,7 @@ SELECT count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , 1, TRUE, 3.14, 0.19); -SELECT count FROM st_valuecount( +SELECT ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -148,7 +148,7 @@ SELECT count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , 1, FALSE, 3.14, 0.01); -SELECT count FROM st_valuecount( +SELECT ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -163,7 +163,7 @@ SELECT count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , 1, -10, 0.1); -SELECT count FROM st_valuecount( +SELECT ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -178,7 +178,7 @@ SELECT count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , 1, -10); -SELECT count FROM st_valuecount( +SELECT ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -193,7 +193,7 @@ SELECT count FROM st_valuecount( , 1, 5, 5, 3.14159 ) , -10., 10); -SELECT count FROM st_valuecount( +SELECT ST_ValueCount( ST_SetValue( ST_SetValue( ST_SetValue( @@ -232,15 +232,15 @@ CREATE TEMP TABLE test SELECT generate_series(1, 10) AS id ) AS id ON 1 = 1; -SELECT round(value::numeric, 3), count FROM st_valuecount('test', 'rast', 1, FALSE, NULL::double precision[], 0); -SELECT round(value::numeric, 3), count FROM st_valuecount('test', 'rast', 1, ARRAY[-10]::double precision[], 0); -SELECT round(value::numeric, 3), count FROM st_valuecount('test', 'rast', 1, ARRAY[1]::double precision[]); -SELECT round(value::numeric, 3), count FROM st_valuecount('test', 'rast', NULL::double precision[], 0.1); -SELECT round(value::numeric, 3), count FROM st_valuecount('test', 'rast', ARRAY[-1, 3.1]::double precision[], 0.1); +SELECT round(value::numeric, 3), count FROM ST_ValueCount('test', 'rast', 1, FALSE, NULL::double precision[], 0); +SELECT round(value::numeric, 3), count FROM ST_ValueCount('test', 'rast', 1, ARRAY[-10]::double precision[], 0); +SELECT round(value::numeric, 3), count FROM ST_ValueCount('test', 'rast', 1, ARRAY[1]::double precision[]); +SELECT round(value::numeric, 3), count FROM ST_ValueCount('test', 'rast', NULL::double precision[], 0.1); +SELECT round(value::numeric, 3), count FROM ST_ValueCount('test', 'rast', ARRAY[-1, 3.1]::double precision[], 0.1); -SELECT count FROM st_valuecount('test', 'rast', 1, TRUE, NULL::double precision, 0); -SELECT count FROM st_valuecount('test', 'rast', 1, 3.14, 1); -SELECT count FROM st_valuecount('test', 'rast', 1, -1); -SELECT count FROM st_valuecount('test', 'rast', 3.1, 0.1); -SELECT count FROM st_valuecount('test', 'rast', -9.); +SELECT ST_ValueCount('test', 'rast', 1, TRUE, NULL::double precision, 0); +SELECT ST_ValueCount('test', 'rast', 1, 3.14, 1); +SELECT ST_ValueCount('test', 'rast', 1, -1); +SELECT ST_ValueCount('test', 'rast', 3.1, 0.1); +SELECT ST_ValueCount('test', 'rast', -9.); ROLLBACK; diff --git a/raster/test/regress/rt_valuepercent.sql b/raster/test/regress/rt_valuepercent.sql index a13e8bb4b..a7fd2716f 100644 --- a/raster/test/regress/rt_valuepercent.sql +++ b/raster/test/regress/rt_valuepercent.sql @@ -118,7 +118,7 @@ SELECT round(value::numeric, 3), round(percent::numeric, 3) FROM ST_ValuePercent , 1, 5, 5, 3.14159 ) , ARRAY[-10, 3]); -SELECT round(percent::numeric, 3) FROM ST_ValuePercent( +SELECT round(ST_ValuePercent( ST_SetValue( ST_SetValue( ST_SetValue( @@ -132,8 +132,8 @@ SELECT round(percent::numeric, 3) FROM ST_ValuePercent( ) , 1, 5, 5, 3.14159 ) -, 1, TRUE, 3.14, 0.19); -SELECT round(percent::numeric, 3) FROM ST_ValuePercent( +, 1, TRUE, 3.14, 0.19)::numeric, 3); +SELECT round(ST_ValuePercent( ST_SetValue( ST_SetValue( ST_SetValue( @@ -147,8 +147,8 @@ SELECT round(percent::numeric, 3) FROM ST_ValuePercent( ) , 1, 5, 5, 3.14159 ) -, 1, FALSE, 3.14, 0.01); -SELECT round(percent::numeric, 3) FROM ST_ValuePercent( +, 1, FALSE, 3.14, 0.01)::numeric, 3); +SELECT round(ST_ValuePercent( ST_SetValue( ST_SetValue( ST_SetValue( @@ -162,8 +162,8 @@ SELECT round(percent::numeric, 3) FROM ST_ValuePercent( ) , 1, 5, 5, 3.14159 ) -, 1, -10, 0.1); -SELECT round(percent::numeric, 3) FROM ST_ValuePercent( +, 1, -10, 0.1)::numeric, 3); +SELECT round(ST_ValuePercent( ST_SetValue( ST_SetValue( ST_SetValue( @@ -177,8 +177,8 @@ SELECT round(percent::numeric, 3) FROM ST_ValuePercent( ) , 1, 5, 5, 3.14159 ) -, 1, -10); -SELECT round(percent::numeric, 3) FROM ST_ValuePercent( +, 1, -10)::numeric, 3); +SELECT round(ST_ValuePercent( ST_SetValue( ST_SetValue( ST_SetValue( @@ -192,8 +192,8 @@ SELECT round(percent::numeric, 3) FROM ST_ValuePercent( ) , 1, 5, 5, 3.14159 ) -, -10., 10); -SELECT round(percent::numeric, 3) FROM ST_ValuePercent( +, -10., 10)::numeric, 3); +SELECT round(ST_ValuePercent( ST_SetValue( ST_SetValue( ST_SetValue( @@ -207,7 +207,7 @@ SELECT round(percent::numeric, 3) FROM ST_ValuePercent( ) , 1, 5, 5, 3.14159 ) -, 3.14159); +, 3.14159)::numeric, 3); BEGIN; CREATE TEMP TABLE test ON COMMIT DROP AS @@ -238,9 +238,9 @@ SELECT round(value::numeric, 3), round(percent::numeric, 3) FROM ST_ValuePercent SELECT round(value::numeric, 3), round(percent::numeric, 3) FROM ST_ValuePercent('test', 'rast', NULL::double precision[], 0.1); SELECT round(value::numeric, 3), round(percent::numeric, 3) FROM ST_ValuePercent('test', 'rast', ARRAY[-1, 3.1]::double precision[], 0.1); -SELECT round(percent::numeric, 3) FROM ST_ValuePercent('test', 'rast', 1, TRUE, NULL::double precision, 0); -SELECT round(percent::numeric, 3) FROM ST_ValuePercent('test', 'rast', 1, 3.14, 1); -SELECT round(percent::numeric, 3) FROM ST_ValuePercent('test', 'rast', 1, -1); -SELECT round(percent::numeric, 3) FROM ST_ValuePercent('test', 'rast', 3.1, 0.1); -SELECT round(percent::numeric, 3) FROM ST_ValuePercent('test', 'rast', -9.); +SELECT round(ST_ValuePercent('test', 'rast', 1, TRUE, NULL::double precision, 0)::numeric, 3); +SELECT round(ST_ValuePercent('test', 'rast', 1, 3.14, 1)::numeric, 3); +SELECT round(ST_ValuePercent('test', 'rast', 1, -1)::numeric, 3); +SELECT round(ST_ValuePercent('test', 'rast', 3.1, 0.1)::numeric, 3); +SELECT round(ST_ValuePercent('test', 'rast', -9.)::numeric, 3); ROLLBACK; -- 2.50.1