Re: Anonymous code block with parameters
Hannu Krosing <hannu@2ndquadrant.com>
From: Hannu Krosing <hannu@2ndQuadrant.com>
To: Pavel Stehule <pavel.stehule@gmail.com>,
Andres Freund <andres@2ndquadrant.com>
Cc: Vik Fearing <vik.fearing@dalibo.com>,
Heikki Linnakangas <hlinnakangas@vmware.com>,
Craig Ringer <craig@2ndquadrant.com>,
Kalyanov Dmitry <kalyanov.dmitry@gmail.com>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2014-09-18T20:16:30Z
Lists: pgsql-hackers
On 09/18/2014 02:37 PM, Pavel Stehule wrote: > > if we would to need a "single use" function, then we should to > implement it, and we should not to rape some different objects. Some, > what has behave like function should be function. > > After some thinking, probably CTE design can be only one frame, where > we can do it > > WITH > FUNCTION f1(a int) RETURNS int AS $$ .. $$ LANGUAGE plpgsql, > FUNCTION f2(a int) RETURNS SETOF int AS $$ .. $$ LANGUAGE > plpgsql, > SELECT f1(x) FROM f2(z) LATERAL .... > > We can generalize WITH clause, so there SEQENCES, VIEWS, .. can be > defined for "single usage" +2 I just proposed the same thing in another branch of this discussion before reading this :) I guess it proves (a little) that WITH is the right place to do these kind of things ... Cheers -- Hannu Krosing PostgreSQL Consultant Performance, Scalability and High Availability 2ndQuadrant Nordic OÜ