Sunday, August 17, 2008

Re: [GENERAL] How to execute 'set session role' from plpgsql function?

Just a suggestion:

EXECUTE 'SET SESSION ROLE wishedrole';

won't help?


2008/8/17 Oleg Vasylenko <pulp@mail.ru>
Hi,everybody!

I wish to have a function with code above, but compiller generate
syntactic error at the line "SET SESSION ROLE wishedrole;".

How to pass the wishedrole value to the structure?

CREATE OR REPLACE FUNCTION f_switch_role(INOUT text,INOUT boolean) AS
 $BODY$
 DECLARE
  wishedrole ALIAS FOR $1;
  resetrole ALIAS FOR $2;
 BEGIN
  if resetrole=true then
           RESET ROLE;
           RETURN;
  end if;

>>>>ERROR OCURS AT THE NEXT LINE <<<<<<
  SET SESSION ROLE wishedrole;
  RETURN;

 END;
 $BODY$
 LANGUAGE 'plpgsql' VOLATILE

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

No comments: