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

Начало » Использование СУБД » Firebird, HQbird, InterBase » FireBird 4.0.2 непонятное поведение транзакций
FireBird 4.0.2 непонятное поведение транзакций [сообщение #2334] Tue, 23 May 2023 13:25 Переход к следующему сообщению
Orso в настоящее время не в онлайне  Orso
Сообщений: 5
Зарегистрирован: May 2023
Junior Member
Добрый день, столкнулся с таким впервые и не имею опыта работы с Firebird версии 4, перешел на него с 2.5, прошу помощи. Установлен FB4 в конфигурации Classic, работает под Astra Linux. База примерно 130GB, диалект 3. Ситуация такая открываю два IBexpert'а, подключаюсь каждым к одной и той же БД, затем в одном делаю insert-запрос в таблицу, коммичу запрос, вставленную строку в таблице вижу. Перехожу в другой IBExpert, делаю select-запрос по id-у вставленной записи - выдает пустоту, следом тут же запускаю этот же запрос повторно - выдаёт нужную запись. Удаляю тут же эту запись из таблицы, коммичу удаление - запись в таблице не вижу, удалилась. Перехожу в первый IBExpert, делаю select-запрос той же самой записи - запрос возвращает запись. Тут же запускаю запрос повторно - нет записи в таблице!
Подскажите, пожалуйста, куда копать, в какую сторону? Настройка FB или уровни изоляции транзакций, или что это вообще за поведение? Может это норма для FB4? В интернете ничего пока не нашел...

Спасибо!
Re: FireBird 4.0.2 непонятное поведение транзакций [сообщение #2335 является ответом на сообщение #2334] Tue, 23 May 2023 13:28 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 887
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
для начала отложи в сторону "оглуплятор" (IBExpert) и проделай всё тоже самое в isql с принудительным указанием уровней изоляции транзакций.
Re: FireBird 4.0.2 непонятное поведение транзакций [сообщение #2336 является ответом на сообщение #2335] Tue, 23 May 2023 13:46 Переход к предыдущему сообщениюПереход к следующему сообщению
Orso в настоящее время не в онлайне  Orso
Сообщений: 5
Зарегистрирован: May 2023
Junior Member
Делал, ISQL и ПО, работающее с БД, и IBExpert ведут себя ровно одинаково. В ISQL уровень изоляции ставил...
Re: FireBird 4.0.2 непонятное поведение транзакций [сообщение #2339 является ответом на сообщение #2336] Tue, 23 May 2023 14:09 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 887
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
Orso
. В ISQL уровень изоляции ставил...
какой?
скрипт сюда.
Re: FireBird 4.0.2 непонятное поведение транзакций [сообщение #2340 является ответом на сообщение #2339] Tue, 23 May 2023 14:32 Переход к предыдущему сообщениюПереход к следующему сообщению
Orso в настоящее время не в онлайне  Orso
Сообщений: 5
Зарегистрирован: May 2023
Junior Member
На верхнем скрине ставлю уровень транзакции, коммичу, затем делаю вставку в таблицу. Сначала попытался вставить с id-ом 7777 получил ошибку. Вставил с id-ом 8888, закоммитил. Потом в другом isql делаю запрос к этой таблице - получаю только одну запись с id-ом 7777.
  • Вложение: isql.png
    (Размер: 41.71KB, Загружено 577 раз)
Re: FireBird 4.0.2 непонятное поведение транзакций [сообщение #2341 является ответом на сообщение #2340] Tue, 23 May 2023 14:37 Переход к предыдущему сообщениюПереход к следующему сообщению
МП в настоящее время не в онлайне  МП
Сообщений: 887
Зарегистрирован: August 2022
Географическое положение: бурятский тун...
Senior Member
я не вижу в "другом" когда и как стартовала транзакция.
Re: FireBird 4.0.2 непонятное поведение транзакций [сообщение #2342 является ответом на сообщение #2341] Tue, 23 May 2023 14:42 Переход к предыдущему сообщениюПереход к следующему сообщению
Orso в настоящее время не в онлайне  Orso
Сообщений: 5
Зарегистрирован: May 2023
Junior Member
А выше ничего нет, кроме ввода имени пользователя и пароля, после сразу пишу select с дефолтным уровнем изоляции, насколько я понимаю для isql уровень изоляции по-умолчанию - SNAPSHOT
Re: FireBird 4.0.2 непонятное поведение транзакций [сообщение #2343 является ответом на сообщение #2342] Tue, 23 May 2023 14:46 Переход к предыдущему сообщениюПереход к следующему сообщению
Orso в настоящее время не в онлайне  Orso
Сообщений: 5
Зарегистрирован: May 2023
Junior Member
Да, а вот если в другом isql сделать

SET TRANSACTION READ WRITE NO WAIT READ COMMITTED RECORD_VERSION

а потом селектить, то будет совсем другое дело... Кажется стало понятнее...
Re: FireBird 4.0.2 непонятное поведение транзакций [сообщение #2347 является ответом на сообщение #2342] Tue, 23 May 2023 16:03 Переход к предыдущему сообщению
hvlad в настоящее время в онлайне  hvlad
Сообщений: 358
Зарегистрирован: August 2022
Senior Member
Orso писал(а) Tue, 23 May 2023 14:42
А выше ничего нет, кроме ввода имени пользователя и пароля, после сразу пишу select с дефолтным уровнем изоляции, насколько я понимаю для isql уровень изоляции по-умолчанию - SNAPSHOT
isql стартует свои тр-ции сразу после запуска.
И так было всегда - и в 2.5, и раньше.
Предыдущая тема: Параметры firebird_udr_plugin
Следующая тема: Изменить тип поля
Переход к форуму:
  


Текущее время: Sat Nov 23 17:32:23 GMT+3 2024

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