powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Разные gdscode при попытке конкурентного апдейта в 2.5 vs 3.0
1 сообщений из 1, страница 1 из 1
Разные gdscode при попытке конкурентного апдейта в 2.5 vs 3.0
    #38665340
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hi all

DDL:
recreate table t(id int primary key, x int); commit;
insert into t values(1, 100); commit;

Далее делаю в двух isql'ях вот такой тестик:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
rollback;
set transaction read committed no wait; -- 3.0: 335544336; 2.5: 335544345
--set transaction snapshot no wait; -- 3.0: 335544336; 2.5: 335544345
set term ^;
execute block returns(new_x int, gds_code int) as
begin
  begin
    update t set x=x*2 order by id rows 1 returning x into new_x;
    when any do
    begin
      gds_code = gdscode;
    end
  end
  suspend;
end
^ set term ;^

т.е. в каждом из них запускаю этот скрипт, и так и оставляю его, без commit'a / rollback'a.
В том окне, которое запускает его последним, вылезет ошибка блокировки.

Ну так вот: в трёшке (LI-V2.5.3.26737) это 335544336 ("deadlock"), а в 2.5 (LI-V2.5.3.26737) - 335544345 ("lock_conflict").

Это так и должно быть или в консерватории что-то скрючилось ?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Разные gdscode при попытке конкурентного апдейта в 2.5 vs 3.0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]