модуль ActiveRecord::Relation::RecordFetchWarning
Публичные методы экземпляра
# File activerecord/lib/active_record/relation/record_fetch_warning.rb, line 14
def exec_queries
QueryRegistry.reset
super.tap do
if logger && warn_on_records_fetched_greater_than
if @records.length > warn_on_records_fetched_greater_than
logger.warn "Query fetched #{@records.size} #{@klass} records: #{QueryRegistry.queries.join(";")}"
end
end
end
end Когда этот модуль предварительно подключается к ActiveRecord::Relation, и `config.active_record.warn_on_records_fetched_greater_than` задан целым числом, если количество записей, возвращаемых запросом, больше значения `warn_on_records_fetched_greater_than`, выводится предупреждение. Это позволяет обнаруживать запросы, возвращающие большое количество записей, что может привести к увеличению потребления памяти.
В большинстве случаев получение большого количества записей может выполняться эффективно с помощью методов ActiveRecord::Batches. Дополнительную информацию см. в файле active_record/lib/relation/batches.rb.
Вызывает метод суперкласса
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.