Should keep the table name qualified *
for distinct subquery
This commit is contained in:
parent
a265d4b29c
commit
0df0dfbfac
@ -388,7 +388,7 @@ def select_for_count
|
||||
def build_count_subquery(relation, column_name, distinct)
|
||||
relation.select_values = [
|
||||
if column_name == :all
|
||||
distinct ? Arel.star : Arel.sql("1")
|
||||
distinct ? table[Arel.star] : Arel.sql("1")
|
||||
else
|
||||
column_alias = Arel.sql("count_column")
|
||||
aggregate_column(column_name).as(column_alias)
|
||||
|
@ -248,6 +248,18 @@ def test_distinct_count_with_order_and_limit_and_offset
|
||||
assert_equal 4, Account.distinct.order(:firm_id).limit(4).offset(2).count
|
||||
end
|
||||
|
||||
def test_distinct_joins_count_with_order_and_limit
|
||||
assert_equal 3, Account.joins(:firm).distinct.order(:firm_id).limit(3).count
|
||||
end
|
||||
|
||||
def test_distinct_joins_count_with_order_and_offset
|
||||
assert_equal 3, Account.joins(:firm).distinct.order(:firm_id).offset(2).count
|
||||
end
|
||||
|
||||
def test_distinct_joins_count_with_order_and_limit_and_offset
|
||||
assert_equal 3, Account.joins(:firm).distinct.order(:firm_id).limit(3).offset(2).count
|
||||
end
|
||||
|
||||
def test_should_group_by_summed_field_having_condition
|
||||
c = Account.group(:firm_id).having("sum(credit_limit) > 50").sum(:credit_limit)
|
||||
assert_nil c[1]
|
||||
|
Loading…
Reference in New Issue
Block a user