Class: RailsEventStoreActiveRecord::PgLinearizedEventRepository

Inherits:
EventRepository
  • Object
show all
Defined in:
lib/rails_event_store_active_record/pg_linearized_event_repository.rb

Constant Summary

Constants inherited from EventRepository

EventRepository::InvalidDatabaseSchema, EventRepository::POSITION_SHIFT, EventRepository::SERIALIZED_GLOBAL_STREAM_NAME

Instance Method Summary collapse

Methods inherited from EventRepository

#append_to_stream, #count, #delete_stream, #has_event?, #initialize, #last_stream_event, #link_to_stream, #read, #streams_of, #update_messages

Constructor Details

This class inherits a constructor from RailsEventStoreActiveRecord::EventRepository

Instance Method Details

#start_transaction(&proc) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/rails_event_store_active_record/pg_linearized_event_repository.rb', line 6

def start_transaction(&proc)
  ActiveRecord::Base.transaction(requires_new: true) do
    ActiveRecord::Base.
      connection.
      execute("SELECT pg_advisory_xact_lock(1845240511599988039) as l").
      each{}

    proc.call
  end
end