powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / post_event вне зависимости от транзакции
15 сообщений из 15, страница 1 из 1
post_event вне зависимости от транзакции
    #39873048
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте! Есть клиент, написанный на delphi другим человеком. Доступа у меня к исправлению исходников нет. Хочу в триггере after update делать post_event, а после него exception, чтобы не было апдейта. Все эксепшены программы-клиента пишутся в лог, а эвенты выводятся в диалоговых окошках. Изменить это я не могу - не моя кухня. Мне надо не просто вывести в лог exception из триггера,а послать post_event вне зависимости будет транзакция завершена через commit или rollback. post_event работает только после того, как сделан commit.
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873056
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873058
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873070
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
autonomous тогда уж, а лучше не выпендриваться с гуглем, а сразу посылать в LangRef.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873074
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

да! Прорушка на старушку! В третий раз не стал править!
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873085
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873171
evgen29
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут есть ещё одна проблемка - firebird 2.1.3 и переход на 2.5 в ближайшее время не планируется.
про автономные транзакции в 2.5 в курсе.
Попробую через udf чтоли
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873221
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
08.10.2019 9:52, evgen29 пишет:
> Попробую через udf чтоли

под этот велосипед соломку подкладывать бесполезно...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873311
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уж лучше апдетебл вью замутить на месте искомой таблички, которой требуется обломать апдейт, зло куда меньшее. Пусть клиент думает, что проапдейтил, все закоммитит, а запись чутка хитрее подрулить триггерами.

Только все едино костыли.
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873424
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В TRIGGER BEFORE INSERT: Rdb$Set_Context('USER_SESSION', 'Event', 'some event');
В TRIGGER TRANSACTION COMMIT/TRANSACTION ROLLBACK проверять Rdb$Get_Context('USER_SESSION', 'Event') и делать PostEvent ?

*Не проверено.
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873460
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

fb 2.1 же ж.
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873463
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2В TRIGGER TRANSACTION COMMIT/TRANSACTION ROLLBACK проверять
транзакционные триггеры крайне не рекомендуется использовать для любых целей, кроме отладки.
Потому что в результате будут тормоза на любой старт-коммит-роллбэк транзакции.
В триггере на роллбэк опять же пост-евент работать не будет, потому что эвенты отсылаются только при коммите.

Вот тут - про 2.5, про автономные транзакции, и триггеры на транзакции.
https:// youtu.be/n35L7gdw51Q?t=1736
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873546
Василий 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvтранзакционные триггеры крайне не рекомендуется использовать для любых целей, кроме отладки.
Потому что в результате будут тормоза на любой старт-коммит-роллбэк транзакции.
В триггере на роллбэк опять же пост-евент работать не будет, потому что эвенты отсылаются только при коммите.

Вот тут - про 2.5, про автономные транзакции, и триггеры на транзакции.
https:// youtu.be/n35L7gdw51Q?t=1736
По описанию ТС у него в любом случае костыльный костыль.
А вообще действительно подменить вьюху может сработать, если только прога не подтягивает метаданные таблицы (ключи или индексы, например).
А цель просто отменить апдейт? TRIGGER AFTER UPDATE, где (псевдокод) NEW.* := OLD.* не поможет?
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873549
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
08.10.2019 18:04, Василий 2 пишет:
> TRIGGER AFTER UPDATE, где (псевдокод) NEW.* := OLD.* не поможет?

запрещено.
ибо.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
post_event вне зависимости от транзакции
    #39873603
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Василий 2,

в коде приложений, триггерах или процедурах,
.* = 5 ударов розгами (или линейкой) по пальцам, независимо от места указания.

В интерактивных запросах, "прямщас" - можно, не возбраняется.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / post_event вне зависимости от транзакции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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