I've written a little hack, here included, which is supposed to find
whether a user is in a group. I'd intended to do a PERFORM instead of
SELECT INTO, but PERFORM appears to set FOUND to true no matter what.
What's going on here?
The hack in question...
CREATE OR REPLACE FUNCTION in_group (text, text) RETURNS BOOLEAN AS '
the_user ALIAS FOR $1;
the_group ALIAS FOR $2;
dummy text; -- SELECT INTO dummy because PERFORM always returns true.
-- Is this a bug?
SELECT INTO dummy u.usename
, pg_group g
u.usename = the_user
AND g.groname = the_group
AND u.usesysid = ANY (g.grolist);
' LANGUAGE 'plpgsql' STRICT IMMUTABLE;
TIA for any hints, tips or pointers :)
David Fetter david(at)fetter(dot)org http://fetter.org/
phone: +1 510 893 6100 cell: +1 415 235 3778
If you don't vote, don't bitch.
pgsql-bugs by date
|Next:||From: Andrew Holm-Hansen||Date: 2003-11-21 22:39:50|
|Subject: inner query bug|
|Previous:||From: Tom Lane||Date: 2003-11-21 16:05:16|
|Subject: Re: Notes about behaviour of SIMILAR TO operator |