Isc_database_info. Информация о транзакциях.
Re: Isc_database_info. Информация о транзакциях.
А был ли мальчик ? Что не так-то ? Я пока не видел ни одного примера "ошибочных" данных от isc_database_info
Re: Isc_database_info. Информация о транзакциях.
gstat -h возвращает:
Oldest transation - 23
Oldest active - 24
Oldest snapshot - 24
Next transaction - 25
Эти данные являются корректными. Без старта транзакции все протестированные нами компоненты возвращают те же значения. Если стартовать транзакцию то тот же самый код во всех компонентах возвращает следующие значения:
Oldest transation - 25
Oldest active - 26
Oldest snapshot - 26
Next transaction - 26 !!!
Next transaction должна стать 27, но сервер возвращает 26. Данные результаты получены для Firebird-2.5.1.26351_1_Win32 .
Oldest transation - 23
Oldest active - 24
Oldest snapshot - 24
Next transaction - 25
Эти данные являются корректными. Без старта транзакции все протестированные нами компоненты возвращают те же значения. Если стартовать транзакцию то тот же самый код во всех компонентах возвращает следующие значения:
Oldest transation - 25
Oldest active - 26
Oldest snapshot - 26
Next transaction - 26 !!!
Next transaction должна стать 27, но сервер возвращает 26. Данные результаты получены для Firebird-2.5.1.26351_1_Win32 .
Мы это знаем, IBDAC стартует транзакцию не для вызова isc_database_info.для вызова isc_database_info стартовать транзакцию не нужно
Re: Isc_database_info. Информация о транзакциях.
Кому она должна ?Devart писал(а):Если стартовать транзакцию то тот же самый код во всех компонентах возвращает следующие значения:
Oldest transation - 25
Oldest active - 26
Oldest snapshot - 26
Next transaction - 26 !!!
Next transaction должна стать 27, но сервер возвращает 26.
Старт тр-ции обновляет все счётчики, но на диск записывается только Next.
Остальные счётчики живут в переменных (до следующего обновления header page).
gstat читает счётчики с диска.
isc_database_info выдаёт состояние переменных, поэтому тут могут быть более свежие данные.
Как я уже писал выше, Next есть номер последней выданной тр-ции, а не следующей.
Так было всегда, по крайней мере в Firebird это не менялось после IB6.
Re: Isc_database_info. Информация о транзакциях.
Тогда, как мы и отвечали пользователю SyntaXErr0r, это корректное поведение Firebird.
Спасибо Вам, hvlad, за разъяснение данного вопроса.
Спасибо Вам, hvlad, за разъяснение данного вопроса.