Страница 1 из 1
Определение состояний транзакций в сервере Firebird
Добавлено: 28 апр 2005, 23:17
Viktor_Dnepropetrovsk
Для тех, кто что-нибудь понимает.
1.Как Firebird работает с ID_TRANSACTION ? Изменяет ли он ID после backup/restore (неужели он накапливает счетчик транзакций постоянно?)
2. Какой функций API и как узнать состояние транзаакции по её ID_TRANSACTION?
Добавлено: 29 апр 2005, 00:12
kdv
id_transaction показывает текущий номер транзакции (внутри транзакции).
все счетчики транзакций сбрасываются после restore, безусловно.
никакой функцией api узнать состояние транзакции невозможно. пока ты получаешь ее номер, она активна. когда она завершается, ты ее номер узнать уже не можешь.
Добавлено: 29 апр 2005, 00:50
Viktor_Dnepropetrovsk
kdv писал(а):id_transaction показывает текущий номер транзакции (внутри транзакции).
все счетчики транзакций сбрасываются после restore, безусловно.
никакой функцией api узнать состояние транзакции невозможно. пока ты получаешь ее номер, она активна. когда она завершается, ты ее номер узнать уже не можешь.
Как это "внутри транзакции"?
Казалось бы внутри "базы данных" (возможно до Restore). И если не сохраняется состояние транзакции до Restore, то как же происходит удаление мусора?
Задача состоит в том, что записав в некоторою таблицу параметр ID_TRANSACTION, нужно по состоянию этой транзакции в некоторый момент времени удалить эту запись (записи), если эта транзакция не находится в состоянии ACTIVE (блокировку и интим не предлагать - не проходит)
Добавлено: 29 апр 2005, 10:02
kdv
Как это "внутри транзакции"?
пока транзакция работает, в ней можно получить этот идентификатор. Как перестает работать, то все. собственно, это ж current_transaction.
И если не сохраняется состояние транзакции до Restore, то как же происходит удаление мусора?
ась? или мы вообще про что? иди-ка про транзакции прочитай. А то про какие то id_transaction....
Задача состоит в том, что записав в некоторою таблицу параметр ID_TRANSACTION, нужно по состоянию этой транзакции в некоторый момент времени удалить эту запись (записи), если эта транзакция не находится в состоянии ACTIVE (блокировку и интим не предлагать - не проходит)
я вот ничего не понял... накой это тебе? На сервере ты не видишь состояния транзакций. Серверу - серверово.