From 92cd8811aa3e113053a37bccb39cf5f09d9ef84d Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Mon, 31 Mar 2008 12:57:47 +0000 Subject: Ensure that validates_uniqueness_of works with with_scope. Closes #9235. [nik.wakelin, cavalle] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9168 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/lib/active_record/validations.rb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/validations.rb b/activerecord/lib/active_record/validations.rb index 5e2f710db6..72c48d1e2a 100755 --- a/activerecord/lib/active_record/validations.rb +++ b/activerecord/lib/active_record/validations.rb @@ -654,13 +654,15 @@ module ActiveRecord condition_params << record.send(:id) end - results = connection.select_all( - construct_finder_sql( - :select => "#{attr_name}", - :from => "#{finder_class.quoted_table_name}", - :conditions => [condition_sql, *condition_params] + results = finder_class.with_exclusive_scope do + connection.select_all( + construct_finder_sql( + :select => "#{attr_name}", + :from => "#{finder_class.quoted_table_name}", + :conditions => [condition_sql, *condition_params] + ) ) - ) + end unless results.length.zero? found = true -- cgit v1.2.3