Dynamic binding in plpgsql function - Mailing list pgsql-general

From Pierre Racine
Subject Dynamic binding in plpgsql function
Date
Msg-id 87A96661E65C5541AB4D20721C2DD7F88DAED99030@EXCH-MBX-A.ulaval.ca
Whole thread Raw
Responses Re: Dynamic binding in plpgsql function
Re: Dynamic binding in plpgsql function
List pgsql-general
Hi,

I would like to write a generic plpgsql function with a text parameter being a callback function name so that my
generalfunction can call this callback function. e.g.: 

CREATE OR REPLACE FUNCTION ST_MyCallbackFunction(y int)
    RETURNS int AS $$
    DECLARE
    BEGIN
        RETURN someCalculationBasedOnY;
    END;
    $$ LANGUAGE 'plpgsql';

CREATE OR REPLACE FUNCTION ST_MyGeneralFunction(callback text)
    RETURNS SETOF geomval AS $$
    DECLARE
        x integer;
        y integer;
    BEGIN
        y := somecalculation;
        x := 'callback'(y);  --This is what I need
        RETURN x;
    END;
    $$ LANGUAGE 'plpgsql';

I don't want to do an EXECUTE statement since I have no table to put after the FROM clause. I want to assign the
resultingvalue directly to a variable like in my example. 

Can I/How can I achieve this?

Thanks,

Pierre


pgsql-general by date:

Previous
From: hubert depesz lubaczewski
Date:
Subject: What could cause sudden increase in "PARSE" stage of prepared statements?
Next
From: Pavel Stehule
Date:
Subject: Re: Dynamic binding in plpgsql function