SQLRU.net
Разработка приложений баз данных

Начало » Использование СУБД » Firebird, HQbird, InterBase » in autonomous transaction в 5-ой версии
in autonomous transaction в 5-ой версии [сообщение #6276] Thu, 22 January 2026 21:26 Переход к следующему сообщению
ggreggory в настоящее время в онлайне  ggreggory
Сообщений: 86
Зарегистрирован: July 2022
Member
Приветствую знатоков и разработчиков!

Пробую 5-ую версию, натолкнулся на непонятки.

WI-V5.0.3.1683 Firebird 5.0

Имеется табличка:
CREATE TABLE TEST (
 ID  INTEGER NOT NULL
);
ALTER TABLE TEST ADD CONSTRAINT PK_TEST PRIMARY KEY (ID);

Пробую делать:
execute block
returns (i integer)
as
begin
  in autonomous transaction do
    insert into test(id) values(1);
  select id from test into :i;
  suspend;
end
Транзакция:

isc_tpb_read_committed
isc_tpb_rec_version
isc_tpb_nowait

Возвращает NULL. Ну ведь по логике автономная транзакция должна быть подтверждена и следующая команда должна увидеть вставленную запись, разве не так?

В общем, пока в конфиг сервера не добавил ReadConsistency = 0 и не перезапустил службу, продолжало возвращать NULL. С параметром уже возвращает 1, что в общем-то соответствует текущей документации.

Такое поведение корректно ?
Re: in autonomous transaction в 5-ой версии [сообщение #6277 является ответом на сообщение #6276] Fri, 23 January 2026 01:25 Переход к предыдущему сообщению
SD в настоящее время в онлайне  SD
Сообщений: 459
Зарегистрирован: August 2022
Senior Member
Да. Именно это и написано в "текущей документации" по read consistency.
Предыдущая тема: Пишущая (изменяющая) процедура Firebird 5
Следующая тема: Полнотекстовый поиск для Firebird
Переход к форуму:
  


Текущее время: Fri Jan 23 16:48:13 GMT+3 2026

Общее время, затраченное на создание страницы: 0.00657 секунд