|
Несколько извращенный RLS |
☑ |
0
Лодырь
31.08.12
✎
07:58
|
Задача:
Есть документ, назовем его "Документ". У него есть две табличные части "ТЧасть1" и "ТЧасть2". Пользователь должен видеть Документ в том случае если: а. "ТЧасть1" содержит элемент удолетворяющий некому критерию б. "ТЧасть1" пустая и "ТЧасть2" содержит элементы удолетворяющие некому критерию. Сложность вычисления критериев - равная.
Методы решения:
1. Сотворить 1 сложный RLS запрос с объединением, в одной части которого проверяется а, во втором б.
2. Сделать две роли с мелкими запросами без объединения и дать пользователю обе.
Как думаете что будет работать быстрее )
P.S. ничего не курил, а вот похмелье да.. присутствует.
|
|
1
ILM
гуру
31.08.12
✎
08:02
|
(0) RLS будет работать всегда медленно.
|
|
2
Ursus maritimus
31.08.12
✎
08:02
|
3. Сделать в документа реквизит "ПоказыватьПользователю", заполнять его в ПередЗаписью и ниипать мозк
|
|
3
Лодырь
31.08.12
✎
08:09
|
(2) Нееее... зае..сь создавать реквизиты под каждого юзера.
|
|
4
Ursus maritimus
31.08.12
✎
08:10
|
(3) Как бэ в реквизит не обязательно булево.
|
|
5
Лодырь
31.08.12
✎
08:10
|
(1) да вы батенька пессимист
|
|
6
Лодырь
31.08.12
✎
08:11
|
(4) Не решает той проблемы, если область видимости пользователя поменялась после записи объектов.
|
|
7
vde69
31.08.12
✎
08:20
|
у меня есть такое решение RLS (для сложных условий), реально работает вполне быстро
1. в документе делается реквизит ХЕШ (справочник)
2. делается РС с измерениями Пользватель, Хеш
3. в справочнике хеш есть ТЧ в которой лежать все критические поля которые дают искомую комбинацию открывающий доступ
4. при записи документа из самого документа ищем все критические поля и по ним ищем элемент справочника хеш (или создаем) и записываем в реквизит документа.
в моем случае критерием доступа было 4 элемента разных справочников, но когда разрабатывал считал комбинаторику при 1000 пользователей можно использовать хешь до 10 разных полей
|
|
8
ILM
гуру
31.08.12
✎
08:39
|
(5) Нет, я увы реалист. Пока база маленькая все просто летает, но когда вырастает размер в разы, начинаются отчеты, отборы и т.д.
"-А что тогда происходит? А наступает счастье!" ((с) Е.Гришковец)
|
|
9
vde69
31.08.12
✎
08:44
|
(8) ты самого главного не понял, автор выбирает между одним большим RLS и двумя более простыми.
в обоих случаях RLS будет :)
|
|
10
Лодырь
31.08.12
✎
09:56
|
(7) Тоже обдумывал нечто подобное. Надо будет проработать.
|
|