Thread: How to get the requested columns in a rowtype PL/pgSQL function

How to get the requested columns in a rowtype PL/pgSQL function

From
Federico Pedemonte
Date:
Hi all,

Imagine  I have  a PL/pgSQL  function called  myfunction that  returns a
rowtype like this

CREATE TYPE mytype AS (a integer, b integer, c integer);

Imagine that I often need only 1 or 2 of this values, just say I need to
do query like these :

select a from myfunction()
select a,c from myfunction()
select b,c from myfunction()

and so on.

Now, since computing  a,b and c could  be expensive in term  of time, is
there a  way to  understand (from withing  the PL/pgSQL  function) which
fields where requested  in the query and then avoid  computing those who
are not needed ?

Thanks in advance for every hints !

Ciao,
Federico.