From: | david(at)fetter(dot)org (David Fetter) |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | PERFORM bug with FOUND? |
Date: | 2003-11-21 22:02:34 |
Message-ID: | G-KdnQUw2qLnFiOiXTWc-w@speakeasy.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
Kind people,
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 '
DECLARE
the_user ALIAS FOR $1;
the_group ALIAS FOR $2;
dummy text; -- SELECT INTO dummy because PERFORM always returns true.
-- Is this a bug?
BEGIN
SELECT INTO dummy u.usename
FROM
pg_user u
, pg_group g
WHERE
u.usename = the_user
AND g.groname = the_group
AND u.usesysid = ANY (g.grolist);
IF FOUND
THEN
RETURN true;
ELSE
RETURN false;
END IF;
END;
' LANGUAGE 'plpgsql' STRICT IMMUTABLE;
TIA for any hints, tips or pointers :)
Cheers,
D
--
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.
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Holm-Hansen | 2003-11-21 22:39:50 | inner query bug |
Previous Message | Tom Lane | 2003-11-21 16:05:16 | Re: Notes about behaviour of SIMILAR TO operator |