Есть такой код:
X++:
Table3 t1, t2;
;
[t1.f1, t1.f2] = ["знач1", "знач1"];
t1.doInsert();
ttsbegin;
select firstonly forUpdate t1;
t1.f1 = "знач2";
select firstonly forUpdate t2;
t2.f2 = "знач2";
t2.doUpdate();
t1.doUpdate();
ttscommit;
В Акс4 этот код со странностями, но работает. В результате в f1 и f2 соответственно "знач2", "знач2".
А вот в акс2012 этот код не работает. На втором апдейте падает с конфликтом обновления.
Вопрос. Это такое стандартное поведение акс2012? или возможно какие-то настройки СУБД или аксапты?
Везде включена оптимистическая модель обновления.
Смотрю отладчик - в акс4 на первом апдейте меняется recversion на обоих курсорах почемуто, а в акс2012 только на t2.