aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations
diff options
context:
space:
mode:
authorRaimonds Simanovskis <raimonds.simanovskis@gmail.com>2011-01-04 17:06:33 +0200
committerRaimonds Simanovskis <raimonds.simanovskis@gmail.com>2011-01-04 17:06:33 +0200
commit9c1c551f25577c01624b23bc53139c60a4fc451b (patch)
tree5b2fc58fb944f3e84ba1cd6923361573c0f8f274 /activerecord/lib/active_record/associations
parent40afcade0dc1450e765a91fc15a6ac6d442c9826 (diff)
downloadrails-9c1c551f25577c01624b23bc53139c60a4fc451b.tar.gz
rails-9c1c551f25577c01624b23bc53139c60a4fc451b.tar.bz2
rails-9c1c551f25577c01624b23bc53139c60a4fc451b.zip
Explicitly select * from has_and_belongs_to_many association tables, simplify exists? query
Previous version (after commit 3103296a61709e808aa89c3d37cf22bcdbc5a675) was generating wrong SQL for Oracle when calling exists? method on HABTM association.
Diffstat (limited to 'activerecord/lib/active_record/associations')
-rw-r--r--activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb b/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb
index 1c237eda33..a4194defc2 100644
--- a/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb
+++ b/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb
@@ -83,7 +83,8 @@ module ActiveRecord
super.merge(
:joins => construct_joins,
:readonly => ambiguous_select?(@reflection.options[:select]),
- :select => @reflection.options[:select] || Arel.star
+ :select => @reflection.options[:select] ||
+ Arel.sql("#{@reflection.quoted_table_name}.*, #{@owner.connection.quote_table_name @reflection.options[:join_table]}.*")
)
end