Pavel Stehule <pavel.stehule@gmail.com> writes:
>>> WITH FUNCTION foo(param list) returns rettype language foo AS (
>>> definition here
>>> )
>>> <query using foo() here>;
>>
>> I like this idea. This gets rid of both the "how to pass parameters"
>> and the "how to return results" issues that exist with DO, as well as
>> assorted implementation problems that you hinted at by asking whether
>> DO would still be a utility command.
>
> what is use case for this statement?
It's the DO block idea turned into a query rather than a utility
command: you can now run a function that does not exists in the catalogs
*and* feed it parameters (either from the client, as literals in the
main query, or from the query itself) *and* you get a query result our
of it.
I'm not sure I can understand the difference between that and the use
case for which you want to implement DO blocks with parameters.
Regards,
--
Dimitri Fontaine
http://2ndQuadrant.fr PostgreSQL : Expertise, Formation et Support