Fix #4979 against 3-2-stable - delete_all raise an error if a limit is provided

This commit is contained in:
Francesco Rodriguez
2012-05-02 17:26:26 -05:00
parent 86559bebf2
commit 4657dba60e
2 changed files with 6 additions and 0 deletions

View File

@@ -403,6 +403,8 @@ module ActiveRecord
# If you need to destroy dependent associations or call your <tt>before_*</tt> or
# +after_destroy+ callbacks, use the +destroy_all+ method instead.
def delete_all(conditions = nil)
raise ActiveRecordError.new("delete_all doesn't support limit scope") if self.limit_value
IdentityMap.repository[symbolized_base_class] = {} if IdentityMap.enabled?
if conditions
where(conditions).delete_all

View File

@@ -643,6 +643,10 @@ class RelationTest < ActiveRecord::TestCase
assert davids.loaded?
end
def test_delete_all_limit_error
assert_raises(ActiveRecord::ActiveRecordError) { Author.limit(10).delete_all }
end
def test_select_argument_error
assert_raises(ArgumentError) { Developer.select }
end