Hi, I would like to have one function in plpgsql which is gen_func. From this function I would like to call other functions depending on the input parameters of gen_func - lets say f1 and f2. Parameters to f1 or f2 are text, refcursor and text[]. I tried to use EXECUTE but the problem is how to get refcursor and text[] to sql string. After quite some time I found that if you do DECLARE cur1 refcursor; arr1 text[]; tmp text; ... BEGIN ... tmp = cur1; tmp = arr1; END; will get the name of the cursor to tmp or format arr1 to text representation or would quote text strings. Then I could constructed the sql like sql = 'SELECT ' || f1 || '(\'' || tmp ..... and then EXECUTE sql; Is this the right way? Should I quote_ident function name f1 or f2? Is it the supposed action of tmp=arr1 to quote_literal its values? Thank you for zour replies. ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match