private IQueryContext OpenQueryContext(long commitId) { var sessionInfo = QueryContext.Session.SessionInfo; var transaction = Database.TransactionFactory.OpenTransactions.FindById((int)commitId); if (transaction == null) throw new InvalidOperationException(); var session = new UserSession(Database, transaction, sessionInfo); return new SessionQueryContext(session); }
protected void RollbackTransaction(int commitId) { AssertNotDisposed(); var transaction = Database.TransactionFactory.OpenTransactions.FindById(commitId); if (transaction == null) throw new InvalidOperationException(); var sessionInfo = QueryContext.Session.SessionInfo; using (var session = new UserSession(Database, transaction, sessionInfo)) { session.Rollback(); } }