internal void TransactionAfterCommit(LowLevelTransaction tx) { if (ActiveTransactions.Contains(tx) == false) { return; } using (PreventNewReadTransactions()) { ScratchBufferPool.UpdateCacheForPagerStatesOfAllScratches(); Journal.UpdateCacheForJournalSnapshots(); tx.OnAfterCommitWhenNewReadTransactionsPrevented(); if (tx.Committed && tx.FlushedToJournal) { _transactionsCounter = tx.Id; } State = tx.State; } }
internal void TransactionAfterCommit(LowLevelTransaction tx) { if (ActiveTransactions.Contains(tx) == false) { return; } using (PreventNewReadTransactions()) { Journal.Applicator.OnTransactionCommitted(tx); ScratchBufferPool.UpdateCacheForPagerStatesOfAllScratches(); Journal.UpdateCacheForJournalSnapshots(); tx.OnAfterCommitWhenNewReadTransactionsPrevented(); if (tx.Committed && tx.FlushedToJournal) { Interlocked.Exchange(ref _transactionsCounter, tx.Id); } State = tx.State; } }