Skip site navigation (1) Skip section navigation (2)

Re: Зацените т

From: "Andrey N(dot) Oktyabrski" <ano(at)antora(dot)ru>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: Зацените т
Date: 2006-07-07 14:30:26
Message-ID: 44AE7002.1060800@antora.ru (view raw or flat)
Thread:
Lists: pgsql-ru-general
Ilia Kantor wrote:
> Когда-то я делал похожую вещь.
> А именно - поле (или поля) проверки доступа.
> 
> Поле состояло из массива int[], содержащего ID нужных групп доступа.
Это довольно громоздко - массивы. Я именно хотел сделать так, чтобы
девелОперы пользовались - читай чтоб выглядело более-менее привычно, и
чтобы оверхед поменьше был.

> Проверка на доступ осуществлялась операцией @.
> Брались все группы юзера и проверялось, пересекаются ли они с полем.
> 
> Если да, то право имеет. Сам оператор пересечения @ работал через
> GIST-индекс.
> Все пахало достаточно быстро и красиво, благо групп не так много разных.
> 
> Для того, чтобы оптимизер мог сделать правильный план, пришлось писать
> собственную статистику по таким полям (т.е по int[]). 
У меня вроде оптимизёр пользуется индексом, проверял. Кстати, забыл там
в README пример создания индекса показать:
CREATE INDEX obj_acl_idx ON obj USING gist (acl gist_row_acl_ops);

> Однако, как внедрить ее в VACUUM/ANALYZE - неясно, а разработчикам на сие
> накакать, видимо (никто не помог). 
> 
> Так и перешел на Оракл ;)
Грустная история ;-)

P.S. Ответ был преднамеренно не в рассылку, или туда предназначался? В
рассылку дублировать это письмо?

pgsql-ru-general by date

Next:From: Andrey N. OktyabrskiDate: 2006-07-07 19:16:35
Subject: Re: Зацените т
Previous:From: Ilia KantorDate: 2006-07-07 13:58:17
Subject: RE: [pgsql-ru-general] Зацените типчик

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group