Re: dynamic field names in a function.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Soma Interesting <dfunct(at)telus(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: dynamic field names in a function.
Date: 2001-03-31 05:42:29
Message-ID: 22181.986017349@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Soma Interesting <dfunct(at)telus(dot)net> writes:
> In the following, is there something I can do so that postgres will
> evaluate NEW.qty to NEW.name, treating qty as a variable and evaluating it
> before evaluating the field reference?

Plain PLSQL will not do this --- it wants to know field names when the
query is first compiled. (This is a feature, not a bug, since it
implies that the query can be optimized during compilation.)

You could use PLTCL or PLPERL instead. Both of them treat queries
as plain strings that you assemble out of whatever parts you please
and then pass to the query engine. Of course you pay the cost of
re-planning the query from scratch every time --- there's no free lunch.

In 7.1, PLSQL can do that trick too, via its new EXECUTE statement.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2001-03-31 05:54:42 Re: Stupid Access-Question
Previous Message Tom Lane 2001-03-31 04:56:26 Re: Consistent pg_dump's