Dynamic binding in plpgsql function

Поиск
Список
Период
Сортировка
От Pierre Racine
Тема Dynamic binding in plpgsql function
Дата
Msg-id 87A96661E65C5541AB4D20721C2DD7F88DAED99030@EXCH-MBX-A.ulaval.ca
обсуждение исходный текст
Ответы Re: Dynamic binding in plpgsql function  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: Dynamic binding in plpgsql function  (Vibhor Kumar <vibhor.kumar@enterprisedb.com>)
Список 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 по дате отправления:

Предыдущее
От: hubert depesz lubaczewski
Дата:
Сообщение: What could cause sudden increase in "PARSE" stage of prepared statements?
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: Dynamic binding in plpgsql function