Как отследить и сбросить все подключения к виду?
Добавлено: 05 мар 2007, 14:46
FB 2.0.1.
Юзверям поставляется программа из двух частей - клиент и сервер. Сервер получает и отправляет информацию от сервера нашей фирмы, клиент работает с просмотром и редактированием. Просмотр, в основном, осуществляется через виды.
Когда на серверную часть программы приходит команда дропнуть вид ввиду удаления и создания заново какой-либо из соединяемых в нем таблиц, он через POST_EVENT сообщает всем подключенным клиентам о необходимости отключиться от этого Вида, после чего пытается дропнуть его снова. Но ввиду проблемы с событиями у FB (иногда они не ловятся "клиентом") клиент может не получить уведомления о необходимости отключения, и начинаются неприятности. Для сервера все попытки выполнить запрос типа DROP VIEW заканчиваются ошибкой, что, мол, вид используется, а клиент его не закрывает, пока юзверю на том клиенте не придет в голову блажь закрыть окошко...
Возникает вопрос: можно как-то отследить и принудительно отключить все транзакции, использующие заданный вид?
Юзверям поставляется программа из двух частей - клиент и сервер. Сервер получает и отправляет информацию от сервера нашей фирмы, клиент работает с просмотром и редактированием. Просмотр, в основном, осуществляется через виды.
Когда на серверную часть программы приходит команда дропнуть вид ввиду удаления и создания заново какой-либо из соединяемых в нем таблиц, он через POST_EVENT сообщает всем подключенным клиентам о необходимости отключиться от этого Вида, после чего пытается дропнуть его снова. Но ввиду проблемы с событиями у FB (иногда они не ловятся "клиентом") клиент может не получить уведомления о необходимости отключения, и начинаются неприятности. Для сервера все попытки выполнить запрос типа DROP VIEW заканчиваются ошибкой, что, мол, вид используется, а клиент его не закрывает, пока юзверю на том клиенте не придет в голову блажь закрыть окошко...
Возникает вопрос: можно как-то отследить и принудительно отключить все транзакции, использующие заданный вид?