dynamic functions

Поиск
Список
Период
Сортировка
От Robert Wimmer
Тема dynamic functions
Дата
Msg-id BAY10-F1223F44B77E5F515A0B5AD01A0@phx.gbl
обсуждение исходный текст
Ответы Re: dynamic functions  (Sean Davis <sdavis2@mail.nih.gov>)
Список pgsql-interfaces
hi ,

is there any way to build "dynamic functions" in plpgsql ?

my problem is, i have a table defining attributes like

CREATE TABLE attribute.attribute ( name          NAME PRIMARY KEY, descr         VARCHAR(256), regex
VARCHAR(50)NOT NULL, minlen        INTEGER NOT NULL DEFAULT 0, maxlen        INTEGER NOT NULL DEFAULT 64 -- validate
NAME // not implemented );
 

and a function like

CREATE OR REPLACE FUNCTION
attribute.match(TEXT,TEXT,BOOLEAN) RETURNS INTEGER AS '

.. check the value (against the regex etc) ..

END; ' LANGUAGE plpgsql

in some cases i would like to check the values also against a function for 
example

CREATE FUNCTION attribute.check_range(TEXT) RETURNS INTEGER AS '
BEGIN IF $1 ... THEN RETURN -1; END IF; RETURN 0;
END; '
....

so that i can do the following in my match function

CREATE OR REPLACE FUNCTION
attribute.match(TEXT,TEXT,BOOLEAN) RETURNS INTEGER AS '
 .. check the value (against the regex etc) .. IF attrib.validate NOT IS NULL THEN    cmd := atrib.validate || ''('' $1
'')''||;   -- ??   -- EXECUTE ''SELECT '' || cmd; // SELECT does not work in EXECUTE   -- ??  END IF
 

END; ' LANGUAGE plpgsql

is there a way to get a result back from EXECUTE ?

i hope you can understand my description of the problem
i am using postgresQL 7.4 on debian

thanx

sepp

_________________________________________________________________
Recherchieren Sie auf eigene Faust mit der wohl besten Suchmaschine im Netz. 
http://search.msn.at/



В списке pgsql-interfaces по дате отправления:

Предыдущее
От: Scott Marlowe
Дата:
Сообщение: Re: [GENERAL] Postgre 8.0 for Linux i586
Следующее
От: Sean Davis
Дата:
Сообщение: Re: dynamic functions