class ActiveRecord::ConnectionAdapters::QueryCache::QueryCacheRegistry

:nodoc:

def clear

def clear
  @map.synchronize do
    @map.clear
  end
end

def compute_if_absent(context)

def compute_if_absent(context)
  @map[context] || @mutex.synchronize do
    @map[context] ||= yield
  end
end

def initialize

:nodoc:
def initialize
  @mutex = Mutex.new
  @map = ConnectionPool::WeakThreadKeyMap.new
end