class ActiveRecord::AsynchronousQueriesTracker

:nodoc:

def complete(asynchronous_queries_tracker)

def complete(asynchronous_queries_tracker)
  asynchronous_queries_tracker.finalize_session
end

def current_session

def current_session
  @stack.last or raise ActiveRecordError, "Can't perform asynchronous queries without a query session"
end

def finalize_session(wait = false)

def finalize_session(wait = false)
  session = @stack.pop
  session&.finalize(wait)
  self
end

def initialize

def initialize
  @stack = []
end

def install_executor_hooks(executor = ActiveSupport::Executor)

def install_executor_hooks(executor = ActiveSupport::Executor)
  executor.register_hook(self)
end

def run

def run
  ActiveRecord::Base.asynchronous_queries_tracker.tap(&:start_session)
end

def start_session

def start_session
  session = Session.new
  @stack << session
end