diff options
author | Ben Woosley <ben.woosley@gmail.com> | 2012-05-28 12:23:37 -0700 |
---|---|---|
committer | Ben Woosley <ben.woosley@gmail.com> | 2013-05-10 16:13:46 +0200 |
commit | 15d6e4dce7126fe24bce5cdb91d2ffee68648420 (patch) | |
tree | dd482d3d61b0b68aba9a085a8bd7929eda45feae /actionpack/lib/action_dispatch/journey.rb | |
parent | 0593c00dfbdab221116e49d3b0a7c57605160fe2 (diff) | |
download | rails-15d6e4dce7126fe24bce5cdb91d2ffee68648420.tar.gz rails-15d6e4dce7126fe24bce5cdb91d2ffee68648420.tar.bz2 rails-15d6e4dce7126fe24bce5cdb91d2ffee68648420.zip |
Fix that #exists? can produce invalid SQL: "SELECT DISTINCT DISTINCT"
The combination of a :uniq => true association and the #distinct call
in #construct_limited_ids_condition combine to create invalid SQL, because
we're explicitly selecting DISTINCT, and also sending #distinct on to AREL,
via the relation#distinct_value.
Rather than build a select distinct clause in #construct_limited_ids_condition,
I set #distinct! and pass just the columns into the select statement.
This requires introducing a #columns_for_distinct method to return the
select columns but not the statement itself.
Diffstat (limited to 'actionpack/lib/action_dispatch/journey.rb')
0 files changed, 0 insertions, 0 deletions