PL/pgSQL docs say "PL/pgSQL variables can have any SQL datatype".
but when i try:
CREATE FUNCTION foo() RETURNS NUMERIC(5,2) AS '
bar := 123.45;
' LANGUAGE 'plpgsql';
then "select foo()" gives:
NOTICE: plpgsql: ERROR during compile of foo near line 2
ERROR: parse error at or near "("
declaring bar as "FLOAT8" (for example) works as expected.
from a quick look at plpgsql/src/gram.y, the decl_dtypename rule
only allows type modifiers (decl_attypmod) on CHAR, VARCHAR or BPCHAR.
scan.l doesn't even recognise NUMERIC or DECIMAL as keywords.
(debian postgresql 7.1.3-6 package on Linux/Intel)
pgsql-bugs by date
|Next:||From: Andy Marden||Date: 2002-02-21 07:59:38|
|Subject: Re: Dates and year 2000 |
|Previous:||From: Tom Lane||Date: 2002-02-21 03:23:58|
|Subject: Re: Trying Cygwin version of PostgreSQL |