Re: Functions as first-class values

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
>

In response to

Responses

Browse pgsql-general by date

  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