fun upgradeReadonlyTransactionIfNecessary()

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
            }
        }
    }