Ticket #10605: dont_use_find_in_exists.diff
| File dont_use_find_in_exists.diff, 0.9 kB (added by fcheung, 7 months ago) |
|---|
-
activerecord/lib/active_record/base.rb
old new 548 548 # Person.exists?(:name => "David") 549 549 # Person.exists?(['name LIKE ?', "%#{query}%"]) 550 550 def exists?(id_or_conditions) 551 !find(:first, :select => "#{quoted_table_name}.#{primary_key}", 552 :conditions => expand_id_conditions(id_or_conditions)).nil? 551 sql = construct_finder_sql(:select => "#{quoted_table_name}.#{primary_key}", 552 :conditions => expand_id_conditions(id_or_conditions), :limit =>1) 553 connection.select_all(sanitize_sql(sql), "#{name} Exists").size > 0 553 554 end 554 555 555 556 # Creates an object (or multiple objects) and saves it to the database, if validations pass.