From: | Pierre Racine <Pierre(dot)Racine(at)sbf(dot)ulaval(dot)ca> |
---|---|
To: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Dynamic binding in plpgsql function |
Date: | 2011-03-01 23:01:36 |
Message-ID: | 87A96661E65C5541AB4D20721C2DD7F88DAED99030@EXCH-MBX-A.ulaval.ca |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi,
I would like to write a generic plpgsql function with a text parameter being a callback function name so that my general function 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 resulting value directly to a variable like in my example.
Can I/How can I achieve this?
Thanks,
Pierre
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2011-03-01 23:17:14 | Re: Dynamic binding in plpgsql function |
Previous Message | hubert depesz lubaczewski | 2011-03-01 22:17:17 | What could cause sudden increase in "PARSE" stage of prepared statements? |