Изменение состояния триггера.

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
AndriyKo
Сообщения: 9
Зарегистрирован: 12 мар 2005, 02:22

Изменение состояния триггера.

Сообщение AndriyKo » 12 мар 2005, 02:55

FB 1.5. Создана роль Administrator со всевозможными правами.
В том числе, выполнен

Код: Выделить всё

Grant All On GoodsT To Administrator
Юзеру сделан

Код: Выделить всё

Grant Administrator To NameUser
При попытке выполнить с клиента DDL

Код: Выделить всё

Alter Trigger AfterInsertGoodsT Inactive
получаю
unsuccessful metadata update MODIFY TRIGGER failed
no permission for control access to TABLE GOODST
При коннекте SYSDBA эта DDL проходит, ессессно.
Что не так ? Где-то вроде проскакивало, что так делать запрещено, или мне это приснилось ? Ткните носом, плиз, в ссылку или так объясните. В "Мир Interbase", к примеру, не пишется об каких-либо ограничениях.

Лысый
Сообщения: 177
Зарегистрирован: 08 ноя 2004, 08:20

Сообщение Лысый » 12 мар 2005, 08:42

Если я не ошибаюсь, то изменять метаданные может либо владелец, либо sysdba.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 12 мар 2005, 09:49

ALL = SELECT + INSERT + UPDATE + DELETE [+ EXECUTE].
Ни одно из них к ALTER не относится.

AndriyKo
Сообщения: 9
Зарегистрирован: 12 мар 2005, 02:22

Сообщение AndriyKo » 12 мар 2005, 17:19

Т.е. выкрутиться невозможно ?

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 12 мар 2005, 20:08

Теоретически возможно. Недокументированными способами. Через танцы с бубном над системными таблицами. Но я этого советовать не буду.

AndriyKo
Сообщения: 9
Зарегистрирован: 12 мар 2005, 02:22

Сообщение AndriyKo » 14 мар 2005, 18:53

dimitr писал(а):Теоретически возможно. Недокументированными способами. Через танцы с бубном над системными таблицами. Но я этого советовать не буду.
Дим, ну пожалуйста, покажи основные па. Я буду осторооооожненько. Я понимаю, что это не очень хороший путь, но перелогинивацца под SYSDBA мне тем более не хочется.

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 14 мар 2005, 19:32

ответ отрицательный

AndriyKo
Сообщения: 9
Зарегистрирован: 12 мар 2005, 02:22

Сообщение AndriyKo » 14 мар 2005, 19:53

dimitr писал(а):ответ отрицательный
Ну что ж, делать нечего, и на том спасибо. Придётся изобретать свои танцы...

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 14 мар 2005, 20:51

а зачем вообще требуется деактивировать триггер посредством пользователя??? нельзя, что-ли, например, действия триггера сделать в if по значению некоего генератора в 0 или 1?

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 14 мар 2005, 21:01

kdv писал(а):а зачем вообще требуется деактивировать триггер посредством пользователя??? нельзя, что-ли, например, действия триггера сделать в if по значению некоего генератора в 0 или 1?
Это если требуется деактивировать для всех. А только для себя - спицияльно обученный столбец, этой самой таблицы, как неоднократно говорили большевики :)

AndriyKo
Сообщения: 9
Зарегистрирован: 12 мар 2005, 02:22

Сообщение AndriyKo » 15 мар 2005, 01:16

kdv писал(а):а зачем вообще требуется деактивировать триггер посредством пользователя??? нельзя, что-ли, например, действия триггера сделать в if по значению некоего генератора в 0 или 1?
Merlin писал(а):Это если требуется деактивировать для всех. А только для себя - спицияльно обученный столбец, этой самой таблицы, как неоднократно говорили большевики
Конечно, можно. Я ж и говорю, придётся свои танцы изобретать. Не знаю, почему, но испытываю стойкое отвращение к излишним метаданным - типа "некоего генератора" или "спицияльно обученный столбец". :)))

Ответить