pggeodb.nancy.inra.fr/db_cefs - db_cefs on pggeodb.nancy.inra.fr
Previous topic Chapter index Next topic

Function: _add_raster_constraint_alignment

 

 

Schema

public

 

Owner

postgres

 

Descriptions

There is no description for function _add_raster_constraint_alignment

 

Options

Option

Value

Returns

boolean

Language

plpgsql

Parameters

rastschema name

rasttable name

rastcolumn name

 

Definition

CREATE OR REPLACE FUNCTION public._add_raster_constraint_alignment (
 rastschema name,
 rasttable name,
 rastcolumn name
)
RETURNS boolean AS
$span$
DECLARE

fqtn text;
cn name;
sql text;
attr text;
BEGIN
fqtn := '';
IF length($1) > 0 THEN
fqtn := quote_ident($1) || '.';
END IF;
fqtn := fqtn || quote_ident($2);

cn := 'enforce_same_alignment_' || $3;

sql := 'SELECT st_makeemptyraster(1, 1, upperleftx, upperlefty, scalex, scaley, skewx, skewy, srid) FROM st_metadata((SELECT '
|| quote_ident($3)
|| ' FROM ' || fqtn || ' LIMIT 1))';
BEGIN
EXECUTE
sql INTO attr;
EXCEPTION WHEN OTHERS THEN
RAISE NOTICE
'Unable to get the alignment of a sample raster: % (%)',
       SQLERRM, SQLSTATE;
RETURN FALSE;
END;

sql := 'ALTER TABLE ' || fqtn ||
' ADD CONSTRAINT ' || quote_ident(cn) ||
' CHECK (st_samealignment(' || quote_ident($3) || ', ''' || attr || '''::raster))';
RETURN _add_raster_constraint(cn, sql);
END;
$span$
LANGUAGE
'plpgsql'
VOLATILE
RETURNS NULL ON NULL INPUT
SECURITY INVOKER
COST
100;

This file was generated with SQL Manager for PostgreSQL (www.pgsqlmanager.com) at 13/03/2014 13:23
Previous topic Chapter index Next topic