Re: [SQL] Question about PL/pgSQL

From: Kovacs Zoltan Sandor <tip(at)pc10(dot)radnoti-szeged(dot)sulinet(dot)hu>
To: Vladimir Terziev <vlady(at)school(dot)digsys(dot)bg>
Cc: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] Question about PL/pgSQL
Date: 2000-02-17 12:26:52
Message-ID: Pine.LNX.4.05.10002171314540.22987-100000@pc10.radnoti-szeged.sulinet.hu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

> Can anybody help me how to declare and use an text array in PL/pgSQL
This plpgsql function answers the question whether a user (from
pg_shadow) is a member of the groups (pg_group), reading the array column
of pg_group. Unfortunately, I could not change any array item nor append
the array. I am afraid it is impossible, remembering Peter Eisentraut's
advice.

You might find something similar in contrib/array/.

Regards,
Zoltan

CREATE FUNCTION is_a_group_member (int4,varchar) RETURNS bool AS'
declare
rename $1 to userno;
rename $2 to group;
groupno integer;
listelement int4;
i integer;
b bool;
yesno bool;
begin
select into groupno grosysid from pg_group where group = groname;
if not found then
raise exception ''Non-existing group'';
end if;
i = 0; b = ''t''; yesno = ''f'';
while b loop
i = i + 1;
select into listelement pg_group.grolist[i]
from pg_group where groupno = grosysid;
if listelement is null then
b = ''f'';
end if;
if b and userno = listelement then
yesno = ''t'';
end if;
end loop;
return yesno;
end;

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Mohit Marwaha 2000-02-18 13:28:50 Kindly stop sending please !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
Previous Message Vladimir Terziev 2000-02-17 09:52:48 Question about PL/pgSQL