From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Jon Smark <jon(dot)smark(at)yahoo(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Functions as first-class values |
Date: | 2011-04-06 14:10:19 |
Message-ID: | BANLkTimQrFHifQ9=th6HMp85Vhy4dd6Oug@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello
2011/4/6 Jon Smark <jon(dot)smark(at)yahoo(dot)com>:
> 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.
Regards
Pavel Stehule
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>
From | Date | Subject | |
---|---|---|---|
Next Message | Davenport, Julie | 2011-04-06 14:12:55 | temp tables not dropping at end of script |
Previous Message | Andrew Sullivan | 2011-04-06 14:02:44 | Re: forums.postgresql.com.au |