here is a case that does not work:
CREATE or REPLACE FUNCTION public.test_func9(out firstname varchar,out
lastname varchar)
RETURNS SETOF pg_catalog.record AS
$BODY$
Declare
row record56;
BEGIN
for $0 in select '',description from common.common_groups
loop
-- firstname = row.description;
-- lastname = '';
RETURN NEXT;
end loop;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
notice the for in select, it's for sure wrong, but it raises no errors
until I execute the function
also note the declaration for row, there is no record56 type, but it
raises no errors at create.
here is my version string:
PostgreSQL 8.1beta1 on i686-pc-linux-gnu, compiled by GCC
i686-pc-linux-gnu-gcc (GCC) 3.3.5-20050130 (Gentoo Linux
3.3.5.20050130-r1, ssp-3.3.5.20050130-1, pie-8.7.7.1)
Alvaro Herrera wrote:
On Wed, Aug 31, 2005 at 11:39:48AM -0500, Tony Caduto wrote:
I saw in the release notes that 8.1 is supposed to do function syntax
checking at create rather than run time, but with the first beta this
does not seem to work. check function bodies is on by default in the
postgresql.conf file. Is there a setting that didn't make it into the
conf file?
It works for me; care to submit an test case?
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend