|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, а если некий ССЗБ напишет в on disconnect бесконечный цикл? Не намеренно, просто случайно вышло. Сейчас если там зависон можно сделать delete from mon$attachments и вуаля коннект срублен. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 14:32 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
hvladИли всё же о триггере на дисконнект ?О дисконнекте, хочется чтобы он вел себя логично и задокументировано. Мониторинговые таблицы тут "сбоку", нет у них событий, ну и ладно. Симонов Денисэто срубание вызвано какой-то экстренной ситуацией и триггер срабатывать не должен.Присоединюсь в ДСу, сделал запрос, получил идентификаторы коннектов, какая тут эктренность? Было бы логично иметь логику дисконнекта в одном месте, а не размазывать ее по всей БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 14:34 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
Симонов Дениса если некий ССЗБ напишет в on disconnect бесконечный цикл?Если SYSDBA стреляет себе с ногу, то сервер должен принудительно отнять у него логин? Если разработчик напишет бесконечный цикл на инсерте в базу и наинсертит пока место на диске не кончится? Что толку в пустом флуде? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 14:37 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
hvlad> Если они не успеют -шатдаун отменяется. А, сорри, я уже подзабыл... Умолкаю. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 14:43 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, это смотря как рассматривать возможность delete from mon$attachments. Лично я рассматриваю это как вырубание коннектов для нештатных ситуаций, в том числе и вырубание SYSDBA. Ivan_PisarevskyЕсли разработчик напишет бесконечный цикл на инсерте в базу и наинсертит пока место на диске не кончится? в данном случае delete from mon$attachments способен просто вырубить коннект делающий эту гадость. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 15:09 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
Симонов Денис, ... и запустить ту, что в триггере на дисконнект ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 18:06 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
WildSery, сейчас триггер на дисконнект не запускается. Вы за то чтобы он срабатывал после delete from mon$attachments Причём всегда. А я считаю что нужно право выбора запускать или нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 18:12 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
Симонов ДенисА я считаю что нужно право выбора запускать или нет.Триггер на мон табличку не навесить, см. выше. Где должен поселиться мифический выбор? Если разработчик настолько туп, что запустил бесконечный цикл на рабочей БД, то чем тут поможет сервер? Пусть тестирует тщательнее на "кошках". А аварийно остановить тестовый сервер дело плевое. Рестартанул сервер целиком и правь свои кривульки в новом коннекте. Я не пойму такой трепетной заботы о криворуком разрабе именно в этом контексте? Почему бы не запретить джойны? можно же заставить сервер набирать "бесконечный" резалтсет, "уронив" при этом сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2018, 18:20 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
hvladМне кажется разумным вызывать триггеры в таких случаях - удаление коннекта через мониторинг - шатдаун БД, вызванный сисадмином - если он не форсирован Какие будут мнения ? Согласен с этим. Но хотелось бы оставить возможность удаления коннекта без вызова триггера на отключение. Например, так: ALTER USER 'PETROV' DELETE ATTATCHMENTS; Либо через другую таблицу, которая содержит минимум информации - ID и имя пользователя, например. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 10:45 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
CyberMaxЛибо через другую таблицу, которая содержит минимум информации - ID и имя пользователя, например.Эта логика совершенно штатно делается прямо сейчас, делай триггер в нем ссылка на таблицу, если там сидит юзер то выйти из триггера без действий, инсертить в таблицу до маневров нет никакой проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 11:47 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyПрисоединюсь в ДСу, сделал запрос, получил идентификаторы коннектов, какая тут эктренность? а если не получал ? Код: sql 1.
или Код: sql 1.
с точки хрения движка во время процедуры delete над конкретной строкой-коннектом нет разницы, была ли где-то раньше сложная медленная логика или нет? PS. Кстати, если предположить, что я примерно представляю как долго "подчищает хвосты" какой коннект, то может появиться смысл срубать их отсортировать и сначала убивать самые долгие, а под конец - самые быстрые. Это так, к тезису, что в экстренной ситуации не будет предварительных запросов. Если "ток кончится" через долю секунды - то надо просто убивать сервер вместе с незаписанными на диск кэшами. А если у нас есть несколько секунд на сброс кэшей, то уж на предварительный "сделал запрос, получил идентификаторы коннектов" тем более доля секунды найдется. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 18:00 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
Симонов Денисможет быть указывать через контекстные переменные или через изменение окружения оператором типа SET MON_CONN_MODE <mode> тогда уж добавить в mon$attachment изменяемый столбец mon$db_triggers_enabled:boolean и update его в любую сторону перед delete ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2018, 18:03 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
Ariochизменяемый столбец mon$db_triggers_enabledКак-то криво. Меня тут посетила мысль, если нет триггеров на mon$attachment, то updatable view на нее навесить по идее можно, надо проверить только как она переживет b/r, и в триггер on delete прописать еще и свою логику, помимо удаления собственно записи из самой мон таблички. Далее все манипуляции производить над вьюхой. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 11:20 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, должна пережить. ХП которые используют mon$ ведь переживают ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 11:22 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
Ivan_Pisarevsky, ты забыл пункт 4 - уборщица случайно зацепила шваброй Ethernet патч-корд и произвела хардовый дисконнект. :) По правде сказать, мне тоже не понятна такая избирательность FirebirdSQL сервера в отношении разных вариантов дисконнекта... Это, как минимум, неунифицировано! ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 11:41 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
rdb_devты забыл пункт 4 - уборщица случайно зацепила шваброй Ethernet патч-корд и произвела хардовый дисконнект. :)Выше это уже обсудили, перетерли, все там нормально. И убиение клиента таск менеджером тоже. Давай по теме, хватит партизанить. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 11:45 |
|
Триггер на дисконнект. когда должен сработать?
|
|||
---|---|---|---|
#18+
Ivan_PisarevskyAriochизменяемый столбец mon$db_triggers_enabledКак-то криво. криво потому, что нет реализации изменяемых mon-таблиц. пока из них - принципиально, не в каждой таблице, а на уровне заложенного механизма - можно читать и удалять отдельные строки. реализации же изменения конкретного столбца в конкретной строке нет вообще. и городить её из-за одного единственного случая, разумеется, не хочется. но как раз концептуально это IMHO наиболее чистый вариант остальное же сведется к хаотичному набору одноразовых (ad hoc) решений ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2018, 13:46 |
|
|
start [/forum/topic.php?fid=40&msg=39631419&tid=1561153]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 340ms |
total: | 486ms |
0 / 0 |