Re: Think I see a btree vacuuming bug

Поиск
Список
Период
Сортировка
От Joe Conway
Тема Re: Think I see a btree vacuuming bug
Дата
Msg-id 3D72FB07.6080904@joeconway.com
обсуждение исходный текст
Ответ на Re: Think I see a btree vacuuming bug  (Bruce Momjian <pgman@candle.pha.pa.us>)
Ответы Re: Think I see a btree vacuuming bug  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-hackers
Bruce Momjian wrote:
> Allow easy display of usernames in a group (pg_hba.conf uses groups now)

Hows this:

parts=# select * from pg_group ; groname | grosysid |    grolist
---------+----------+--------------- grp     |      100 | {100,101,102} grp2    |      101 | {102}
(2 rows)

parts=# select usename,usesysid from pg_user; usename  | usesysid
----------+---------- postgres |        1 user1    |      100 user2    |      101 user3    |      102
(4 rows)

CREATE FUNCTION show_group(text) RETURNS SETOF text AS '
DECLARE  loginname text;  low int;  high int;
BEGIN  SELECT INTO low    replace(split(array_dims(grolist),'':'',1),''['','''')::int    FROM pg_group WHERE groname =
$1; SELECT INTO high    replace(split(array_dims(grolist),'':'',2),'']'','''')::int    FROM pg_group WHERE groname =
$1;
  FOR i IN low..high LOOP    SELECT INTO loginname s.usename      FROM pg_shadow s join pg_group g on s.usesysid =
g.grolist[i];   RETURN NEXT loginname;  END LOOP;  RETURN;
 
END;
' LANGUAGE 'plpgsql';

parts=# select * from show_group('grp'); show_group
------------ user1 user2 user3
(3 rows)

parts=# select * from show_group('grp2'); show_group
------------ user1
(1 row)


--Joe



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Proposed GUC Variable
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Think I see a btree vacuuming bug