Method: ActiveRecord::ConnectionAdapters::TransactionInstrumenter#start

Defined in:
activerecord/lib/active_record/connection_adapters/abstract/transaction.rb

#startObject



90
91
92
93
94
95
96
97
98
99
# File 'activerecord/lib/active_record/connection_adapters/abstract/transaction.rb', line 90

def start
  raise InstrumentationAlreadyStartedError.new("Called start on an already started transaction") if @started
  @started = true

  ActiveSupport::Notifications.instrument("start_transaction.active_record", @base_payload)

  @payload = @base_payload.dup # We dup because the payload for a given event is mutated later to add the outcome.
  @handle = ActiveSupport::Notifications.instrumenter.build_handle("transaction.active_record", @payload)
  @handle.start
end