Hello guys, here a simple function CREATE OR REPLACE FUNCTION bind_action( sqlstr text, hrec hstore) RETURNS text LANGUAGE 'plpgsql' COST 100 immutable PARALLEL SAFE AS $BODY$ declare _sqlstr text=sqlstr; _k text; _debug text; begin _debug= '--Start' || _sqlstr; foreach _k in array akeys(hrec) loop _debug =_debug || format($$ hstore: %s %s sqlStr:$$, _k, hrec[_k]); _sqlstr=replace(_sqlstr, ':'||_k||':', hrec[_k]); _debug =_debug || _sqlstr;
end loop; raise notice 'final %',_debug; return _sqlstr; end; $BODY$; and here a simple test do $$ declare sqlstr text=':id::bignt,:surpa:,:disfa:'; hs hstore; begin hs['id']=789; hs['disfa']='ssssssss'; raise notice '%',bind_action(sqlstr,hs); end; $$; and it works. But... When I call this function in a function called by a trigger it down't work _debug variable becomes null, also _sqlstr becomes null... I can't identify what is going to happens... any idea? thanks -- Domenico L. per stupire mezz'ora basta un libro di storia, io cercai di imparare la Treccani a memoria... [F.d.A.]