method
build_count_subquery
v3.2.1 -
Show latest stable
- Class:
ActiveRecord::Calculations
build_count_subquery(relation, column_name, distinct)private
No documentation available.
# File activerecord/lib/active_record/relation/calculations.rb, line 341
def build_count_subquery(relation, column_name, distinct)
column_alias = Arel.sql('count_column')
subquery_alias = Arel.sql('subquery_for_count')
aliased_column = aggregate_column(column_name == :all ? 1 : column_name).as(column_alias)
relation.select_values = [aliased_column]
subquery = relation.arel.as(subquery_alias)
sm = Arel::SelectManager.new relation.engine
select_value = operation_over_aggregate_column(column_alias, 'count', distinct)
sm.project(select_value).from(subquery)
end