Jorge Godoy wrote: > I have some real case examples where this could be useful, if it is needed. > I haven't pasted them here because the smallest one has 176 LOC, after > refactoring with nested functions. > > If it is not possible, are there any plans to allow this kind of thing? > (Even with a different syntax it would be good to have it.)
We don't support nested functions at present, but you can create a separate function and invoke it as you would call any external function. This is arguably better, because you may then use inner_function in any "outer function", not just the current one. Something like: CREATE FUNCTION inner_function(OUT output_day DATE) AS $_$ DECLARE output_day DATE; BEGIN -- do something to calculate output_day RETURN output_day; END $_$; CREATE FUNCTION outer_function(param1 DATE) RETURNS date AS $$ DECLARE output_day DATE; BEGIN; output_day = SELECT inner_function(params_to_create_date); -- do something in main function that uses inner function several -- times. END; $$ language plpgsql; -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend