in dnq-transient-store/src/main/kotlin/com/jetbrains/teamsys/dnq/database/TransientSessionImpl.kt [128:142]
fun upgradeReadonlyTransactionIfNecessary() {
val currentTxn = persistentTransactionInternal
if (!readonly && currentTxn.isReadonly) {
val persistentStore = persistentStore
if (!persistentStore.environment.environmentConfig.envIsReadonly) {
upgradeHook?.run()
val roTxn = currentTxn as ReadonlyPersistentStoreTransaction
val newTxn = roTxn.upgradedTransaction
persistentStore.registerTransaction(newTxn)
newTxn.queryCancellingPolicy = roTxn.queryCancellingPolicy
changesTracker = this.transientChangesTracker.upgrade()
txnWhichWasUpgraded = roTxn
}
}
}