Database Reference
In-Depth Information
Then, a little simpler one using a dictionary:
CREATE OR REPLACE FUNCTION userinfo(
INOUT username name,
OUT user_id oid,
OUT is_superuser boolean)
AS $$
u = plpy.execute("""\
select usename,usesysid,usesuper
from pg_user
where usename = '%s'""" %
username)[0]
return {'username':u['usename'],
'user_id':u['usesysid'],
'is_superuser':u['usesuper']}
$$ LANGUAGE plpythonu;
Finally, using a tuple:
CREATE OR REPLACE FUNCTION userinfo(
INOUT username name,
OUT user_id oid,
OUT is_superuser boolean)
AS $$
u = plpy.execute("""\
select usename,usesysid,usesuper
from pg_user
where usename = '%s'""" %
username)[0]
return (u['usename'], u['usesysid'],
u['usesuper'])
$$ LANGUAGE plpythonu;
Notice [0] at the end of u = plpy.execute(...)[0] in all the examples. It is
there to extract the first row of the result, as even for one-row results plpy.execute
still returns a list of results.
Search WWH ::




Custom Search