Показать сообщение отдельно
Старый 18.10.2019, 13:08   #1  
Perc is offline
Perc
Участник
 
193 / 47 (2) +++
Регистрация: 05.03.2005
Различия Update в Акс4 и Акс2012
Есть такой код:
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.

Последний раз редактировалось Perc; 18.10.2019 в 13:16.
За это сообщение автора поблагодарили: Logger (3).