Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных / 21 сообщений из 21, страница 1 из 1
04.02.2015, 08:08
    #38870966
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Насколько правильно добавлять триггеры в таблицы в которых идут изменения? Триггеры логирования, т.е. фиксируют изменения в таблице. Задал вопрос Таблоиду,он меня послал... протестировать и заявить о результате общественности.
...
Рейтинг: 0 / 0
04.02.2015, 08:19
    #38870976
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Надо логировать, логируй. Проблема-то в чем?
У нас, например, логирующих триггеров на каждый чих, не считая реплицирующих.
...
Рейтинг: 0 / 0
04.02.2015, 08:22
    #38870979
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Ivan_Pisarevsky, не корректно поставил вопрос. Насколько корректно добавлять триггер на таблицу,в которой в данный момент идут изменения?
...
Рейтинг: 0 / 0
04.02.2015, 08:30
    #38870984
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Ну ты ж не маленький, доку читал, там задокументировано: изменение метаданных должно идти монопольно. Остальное на свой страх и риск. Если добавил "на горчую", то изменения клиенты ощутят после реконнекта (каждый своего).
...
Рейтинг: 0 / 0
04.02.2015, 08:31
    #38870986
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Gallemarон меня послал... протестировать и заявить о результате общественностиа ты вместо простого тестика на коленке, который сбацать можно за 2 минуты, задаёшь тот же вопрос ! нехорошо лентяйничать!.. ;-)
...
Рейтинг: 0 / 0
04.02.2015, 08:36
    #38870988
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Таблоид,проверю,но позже. Хочется знать чужое мнение.
...
Рейтинг: 0 / 0
04.02.2015, 09:31
    #38871039
pastor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
GallemarТаблоид,проверю,но позже. Хочется знать чужое мнение.

В 2001 году изменение триггеров на 5.1 (или 5.6) породило мем "апдейт всему".

С тех пор и плююсь (с) Догма
...
Рейтинг: 0 / 0
04.02.2015, 09:44
    #38871053
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Gallemar,

если триггер логирующий, то в принципе можно, хоть и нежелательно. Если же в этом триггере прописана бизнес логика, то нельзя. Иначе получишь бардак, где новые подключения будут пользоваться новым триггером, а старые нет.
...
Рейтинг: 0 / 0
04.02.2015, 09:46
    #38871056
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Симонов ДенисGallemar,

если триггер логирующий, то в принципе можно, хоть и нежелательно. Если же в этом триггере прописана бизнес логика, то нельзя. Иначе получишь бардак, где новые подключения будут пользоваться новым триггером, а старые нет.
вот бардак и страшит, т.к. это триггеры программы репликатора, если у кого то не отработает триггер, то потом при сливке дельты будет "Ай"
...
Рейтинг: 0 / 0
04.02.2015, 10:07
    #38871080
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Gallemar,

ну вот ты и ответил на свой вопрос
...
Рейтинг: 0 / 0
04.02.2015, 11:51
    #38871185
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Gallemarвот бардак и страшит, т.к. это триггеры программы репликатора, если у кого
то не отработает триггер, то потом при сливке дельты будет "Ай"
А ты рассмотри альтернативу: если ты НЕ создашь эти триггера, то они не отработают вообще
ни у кого и в результате - тот же "Ай". Так в чём вопрос-то?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.02.2015, 17:27
    #38871653
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Ivan_PisarevskyУ нас, например, логирующих триггеров на каждый чих, не считая реплицирующих.
Дурацкий вопрос можно? Допустим при изменении данных в таблице нужно выполнять некие действия. Логично на каждое действие создавать отдельный триггер, так проще будет потом разбираться что к чему. Однако в этих триггеров часто встречаются однотипные выборки, ведь для выполнения этих самых действий нужно иногда дергать и другие таблицы. В итоге получаются лишние операции, что не есть хорошо. Можно, конечно, все запихнуть в один триггер, но разбираться в этом потом будет сложнее. Ко всему этому можно прислонить костыли в виде rdb$get/set_context, но это будет как-то уж через задницу. Что скажет на это коллективный разум? Вариант что нефиг цеплять столько логики на триггеры не рассматриваем. Хочется возможности объявления переменных, видимых разными однотипными триггерами.
...
Рейтинг: 0 / 0
04.02.2015, 17:33
    #38871658
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
сами вы бредятинав этих триггеров часто встречаются однотипные выборки, ведь для
выполнения этих самых действий нужно иногда дергать и другие таблицы.
Это у вас какие-то странные триггера.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.02.2015, 17:45
    #38871667
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Dimitry SibiryakovGallemarвот бардак и страшит, т.к. это триггеры программы репликатора, если у кого
то не отработает триггер, то потом при сливке дельты будет "Ай"
А ты рассмотри альтернативу: если ты НЕ создашь эти триггера, то они не отработают вообще
ни у кого и в результате - тот же "Ай". Так в чём вопрос-то?..

Вопрос - смогу ли я запустить твою чудо-программу на ходу,а не останавливая базу на час. Ты лучше других знаешь как мой колхоз устроен (база в 300 с лишним гигов и т.п.)
...
Рейтинг: 0 / 0
04.02.2015, 17:57
    #38871674
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Gallemarсмогу ли я запустить твою чудо-программу на ходу,а не останавливая базу на
час
Я абсолютно уверен, что мои триггера создаются гораздо быстрее.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.02.2015, 19:49
    #38871737
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
сами вы бредятинаДурацкий вопрос можно?Задать-то можно, только я в этом потоке сознания нихрена не понял.
сами вы бредятинаХочется возможности объявления переменных, видимых разными однотипными триггерами.Я тебе открою страшную тайну, вся база данных это и есть море переменных! В виде двумерных массивов, некоторые могут жить меньшее время (GTT).
...
Рейтинг: 0 / 0
04.02.2015, 20:26
    #38871752
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
сами вы бредятинаВариант что нефиг цеплять столько логики на триггеры не рассматриваем.Напрасно: зло - оно http://tkyte.blogspot.ru/2006/09/classic-example-of-why-i-despise.html] везде зло . Применительно к ФБ - их невозможно отладить, они "гасят" фактом своего выполнения возможность получения на стороне сервера стека вызовов, их нельзя вызвать при изменении только N заданных полей из общего сонма M.

Оставьте этим шака видам db-объектов только дёргание генераторов, логирование и, может, какие-то проверки, не меняющие
ничего принципиального в базе.
...
Рейтинг: 0 / 0
04.02.2015, 21:44
    #38871776
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
сами вы бредятина Можно, конечно, все запихнуть в один триггер, но разбираться в этом потом будет сложнее.
Если эти действия так хорошо разбиваются на несколько триггеров, то они так-же хорошо войдут в один триггер и при этом сложность "разбирательства" как мне кажется не должна возрасти.

Ну чем может усложниться разбирательство простого объединения их в один
с разбивкой просто строкой комментария
Ну типа
-- Первый
...
...
-- Второй
...
...
-- Третий
...
...

И не надо извращаться с контекстными переменными, придумывать переменные видимые однотипными триггерами и т.д. и т.п
...
Рейтинг: 0 / 0
05.02.2015, 03:01
    #38871841
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Dimitry SibiryakovGallemarсмогу ли я запустить твою чудо-программу на ходу,а не останавливая базу на
час
Я абсолютно уверен, что мои триггера создаются гораздо быстрее.

Я тоже. Вопрос в другом. Я собственно эту тему повесил в ожидании тебя. Полностью это так:

Вчера вылезла проблема с репликой, после обновления триггер перешел в active и в лог соответственно полезла всякая хрень,
дело было позднее,так что снес системные объекты. Сегодня косяк свой нашел и огорчился. Вопрос такой возник - а смогу ли я запустить реплику без остановки работы усеров?
Т.е.
1. Создаем системные объекты в разгар рабочего дня
2. Делаем копию базы через nbackup 0
3. Шаманим копию, так чтобы её можно было юзать как сурс (отключаю триггеры)
4. Профит (или как вариант по ебалу)

Насколько жизнеспособная эта схема? вообще много раз слышал,что создавать триггеры на юзаемых таблицах совсем не тру и руки за это отрывать надо....
...
Рейтинг: 0 / 0
05.02.2015, 10:49
    #38871979
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
GallemarНасколько жизнеспособная эта схема?
Скорее всего нинасколько. Хотя бы на минуту, но пользователей надо остановить.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.02.2015, 11:05
    #38871991
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных
Dimitry Sibiryakov, обидно
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Добавление триггеров в таблицы в которых идет добавление/изменение/удаление данных / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]