On 31.10.2010 20:19, Dimitri Fontaine wrote:
> Heikki Linnakangas<heikki.linnakangas@enterprisedb.com> writes:
>>> In particular, embedded and/or dynamic calls in PLs will get hairy if
>>> not turing complete and outright impossible to solve.
>>
>> Sorry, I don't follow. Got an example?
>
> Well, who's to say the following hypothetical plpgsql example should be
> forgiven only in an exception's script?
>
> v_sql := 'SELECT * FROM ' || p_fun || '()';
> FOR rec in EXECUTE v_sql
> LOOP
> …
> END LOOP;
If I understand that correctly, the idea is that p_fun holds the name of
a function that's in the same schema as the extension? You would write
that as
v_sql := 'SELECT * FROM @extschema@.' || p_fun || '()';
FOR rec in EXECUTE v_sql
LOOP …
END LOOP;
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com