module ActiveRecord::Core::ClassMethods

def find(*ids) # :nodoc:

:nodoc:
def find(*ids) # :nodoc:
  # We don't have cache keys for this stuff yet
  return super unless ids.length == 1
  return super if block_given? || primary_key.nil? || scope_attributes?
  id = ids.first
  return super if StatementCache.unsupported_value?(id)
  key = primary_key
  statement = cached_find_by_statement(key) { |params|
    where(key => params.bind).limit(1)
  }
  statement.execute([id], connection).first ||
    raise(RecordNotFound.new("Couldn't find #{name} with '#{key}'=#{id}", name, key, id))
end