From: Bborie Park Date: Thu, 26 May 2011 23:32:20 +0000 (+0000) Subject: Added default parameter values for ST_Quantile functions X-Git-Tag: 2.0.0alpha1~1551 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3cc104ea4f97749a7de2357c33e94807d4b28e0d;p=postgis Added default parameter values for ST_Quantile functions git-svn-id: http://svn.osgeo.org/postgis/trunk@7263 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/raster/rt_pg/rtpostgis.sql.in.c b/raster/rt_pg/rtpostgis.sql.in.c index c00976918..19a35ef3f 100644 --- a/raster/rt_pg/rtpostgis.sql.in.c +++ b/raster/rt_pg/rtpostgis.sql.in.c @@ -806,42 +806,28 @@ CREATE TYPE quantile AS ( value double precision ); --- Cannot be strict as "quantile" can be NULL -CREATE OR REPLACE FUNCTION _st_quantile(rast raster, nband int, hasnodata boolean, sample_percent double precision, quantiles double precision[]) +-- Cannot be strict as "quantiles" can be NULL +CREATE OR REPLACE FUNCTION _st_quantile(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 1, quantiles double precision[] DEFAULT NULL) RETURNS SETOF quantile AS 'MODULE_PATHNAME','RASTER_quantile' LANGUAGE 'C' IMMUTABLE; -CREATE OR REPLACE FUNCTION st_quantile(rast raster, nband int, hasnodata boolean, quantiles double precision[]) +-- Cannot be strict as "quantiles" can be NULL +CREATE OR REPLACE FUNCTION st_quantile(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, quantiles double precision[] DEFAULT NULL) RETURNS SETOF quantile AS $$ SELECT quantile, value FROM _st_quantile($1, $2, $3, 1, $4) $$ - LANGUAGE 'sql' IMMUTABLE STRICT; + LANGUAGE 'sql' IMMUTABLE; CREATE OR REPLACE FUNCTION st_quantile(rast raster, nband int, quantiles double precision[]) RETURNS SETOF quantile AS $$ SELECT quantile, value FROM _st_quantile($1, $2, TRUE, 1, $3) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_quantile(rast raster, nband int, hasnodata boolean) - RETURNS SETOF quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, $2, $3, 1, NULL) $$ - LANGUAGE 'sql' IMMUTABLE STRICT; - -CREATE OR REPLACE FUNCTION st_quantile(rast raster, nband int) - RETURNS SETOF quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, $2, TRUE, 1, NULL) $$ - LANGUAGE 'sql' IMMUTABLE STRICT; - CREATE OR REPLACE FUNCTION st_quantile(rast raster, quantiles double precision[]) RETURNS SETOF quantile AS $$ SELECT quantile, value FROM _st_quantile($1, 1, TRUE, 1, $2) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_quantile(rast raster) - RETURNS SETOF quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, 1, TRUE, 1, NULL) $$ - 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[]) $$ @@ -852,56 +838,40 @@ CREATE OR REPLACE FUNCTION st_quantile(rast raster, nband int, quantile double p AS $$ SELECT quantile, value FROM _st_quantile($1, $2, TRUE, 1, ARRAY[$3]::double precision[]) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_quantile(rast raster, hasnodata boolean, quantile double precision) +-- 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[]) $$ - LANGUAGE 'sql' IMMUTABLE STRICT; + 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[]) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, nband int, hasnodata boolean, sample_percent double precision, quantiles double precision[]) +-- Cannot be strict as "quantiles" can be NULL +CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, nband int DEFAULT 1, hasnodata boolean DEFAULT TRUE, sample_percent double precision DEFAULT 0.1, quantiles double precision[] DEFAULT NULL) RETURNS SETOF quantile AS $$ SELECT quantile, value FROM _st_quantile($1, $2, $3, $4, $5) $$ - LANGUAGE 'sql' IMMUTABLE STRICT; + LANGUAGE 'sql' IMMUTABLE; -CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, nband int, sample_percent double precision, quantiles double precision[]) +-- Cannot be strict as "quantiles" can be NULL +CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, nband int, sample_percent double precision, quantiles double precision[] DEFAULT NULL) RETURNS SETOF quantile AS $$ SELECT quantile, value FROM _st_quantile($1, $2, TRUE, $3, $4) $$ - LANGUAGE 'sql' IMMUTABLE STRICT; - -CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, nband int, sample_percent double precision) - RETURNS SETOF quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, $2, TRUE, $3, NULL) $$ - LANGUAGE 'sql' IMMUTABLE STRICT; + LANGUAGE 'sql' IMMUTABLE; -CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, sample_percent double precision, quantiles double precision[]) +-- Cannot be strict as "quantiles" can be NULL +CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, sample_percent double precision, quantiles double precision[] DEFAULT NULL) RETURNS SETOF quantile AS $$ SELECT quantile, value FROM _st_quantile($1, 1, TRUE, $2, $3) $$ - LANGUAGE 'sql' IMMUTABLE STRICT; - -CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, sample_percent double precision) - RETURNS SETOF quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, 1, TRUE, $2, NULL) $$ - LANGUAGE 'sql' IMMUTABLE STRICT; + LANGUAGE 'sql' IMMUTABLE; CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, quantiles double precision[]) RETURNS SETOF quantile AS $$ SELECT quantile, value FROM _st_quantile($1, 1, TRUE, 0.1, $2) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, nband int) - RETURNS SETOF quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, $2, TRUE, 0.1, NULL) $$ - LANGUAGE 'sql' IMMUTABLE STRICT; - -CREATE OR REPLACE FUNCTION st_approxquantile(rast raster) - RETURNS SETOF quantile - AS $$ SELECT quantile, value FROM _st_quantile($1, 1, TRUE, 0.1, NULL) $$ - 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[]) $$ @@ -917,10 +887,16 @@ CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, sample_percent double AS $$ SELECT quantile, value FROM _st_quantile($1, 1, TRUE, $2, ARRAY[$3]::double precision[]) $$ LANGUAGE 'sql' IMMUTABLE STRICT; -CREATE OR REPLACE FUNCTION st_approxquantile(rast raster, hasnodata boolean, quantile double precision) +-- 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[]) $$ - LANGUAGE 'sql' IMMUTABLE STRICT; + 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[]) $$ + LANGUAGE 'sql' IMMUTABLE; ----------------------------------------------------------------------- -- ST_ValueCount and ST_ValuePercent