Почему логика транзакций закомментирована в baasbox DbHelper.java?

Недавно я работал с baasbox, и мне было интересно, почему логика транзакций закомментирована в файле baasbox DbHelper.java.

public static void commitTransaction(){
    ODatabaseRecordTx db = getConnection();
    if (isInTransaction()){
        if (Logger.isTraceEnabled()) Logger.trace("Commit transaction");
        //db.commit();
    }
}

Проверьте здесь полный код: https://github.com/baasbox/baasbox/blob/master/app/com/baasbox/db/DbHelper.java

Другая логика транзакций orientdb также закомментирована, например, db.begin() и db.rollback().

Разве такие функции, как delete(ORid) в NodeDao.java, не требуют такой логики транзакций? Если да, то как он работает правильно в настоящее время?

Может ли кто-нибудь дать какие-либо мысли по этому поводу?


person K.K    schedule 11.07.2014    source источник


Ответы (1)


Полное раскрытие: я инженер BaasBox.

Проект BaasBox начался, когда OrientDB была очень молода, и управление транзакциями было болезненным. Мы создали вспомогательные методы для простой поддержки транзакций в будущем. Затем мы переключили наше внимание на функции, производительность и отзывчивость.

В ближайшем будущем у нас есть план обновления ядра БД до OrientDB 1.7.x, который имеет лучшую поддержку транзакций и другие интересные функции, поэтому мы планируем «повторно активировать» логику транзакций как можно скорее, в соответствии с другими приоритетами.

person Giastfader    schedule 18.07.2014
comment
Разве не неправильно не иметь транзакций в этом кодовом пути? А что там с проблемами синхронизации? - person K.K; 19.07.2014