module ActiveRecord::ConnectionAdapters::SQLServerRealTransaction

Attributes

starting_isolation_level[R]

Public Class Methods

new(connection, isolation: nil, joinable: true, run_commit_callbacks: false) click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/transaction.rb, line 32
def initialize(connection, isolation: nil, joinable: true, run_commit_callbacks: false)
  @connection = connection
  @starting_isolation_level = current_isolation_level if isolation
  super
end

Public Instance Methods

commit() click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/transaction.rb, line 38
def commit
  super
  reset_starting_isolation_level
end
rollback() click to toggle source
Calls superclass method
# File lib/active_record/connection_adapters/sqlserver/transaction.rb, line 43
def rollback
  super
  reset_starting_isolation_level
end

Private Instance Methods

reset_starting_isolation_level() click to toggle source
# File lib/active_record/connection_adapters/sqlserver/transaction.rb, line 50
def reset_starting_isolation_level
  if connection_sqlserver? && starting_isolation_level
    connection.set_transaction_isolation_level(starting_isolation_level)
  end
end