On Wed, Apr 6, 2011 at 9:10 AM, Pavel Stehule <pavel.stehule@xxxxxxxxx> wrote: > Hello > > 2011/4/6 Jon Smark <jon.smark@xxxxxxxxx>: >> Hi, >> >> Is there support in PL/pgSQL for treating functions as first-class values? >> Consider the pseudo-code simple example below, which illustrates how this >> feature can be useful. I reckon that this behaviour can be emulated using >> EXECUTE, but I suspect there are serious performance penalties. >> Your thoughts? >> >> Thanks in advance! >> Jon >> >> >> CREATE FUNCTION f1 (int) RETURNS boolean ... >> CREATE FUNCTION f2 (int) RETURNS boolean ... >> CREATE FUNCTION f3 (int) RETURNS boolean ... >> >> CREATE FUNCTION do_stuff ... >> BEGIN >> CASE cond >> WHEN 'a' THEN func := f1; >> WHEN 'b' THEN func := f2; >> WHEN 'c' THEN func := f3; >> END CASE >> >> SELECT * FROM foobar WHERE func (foobar.age); >> END; >> > > no it isn't possible. it can be done with a small C wrapper though. see archives. merlin -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general