<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1453,7 +1453,7 @@ module ActiveRecord
             dependent_conditions &lt;&lt; sanitize_sql(reflection.options[:conditions]) if reflection.options[:conditions]
             dependent_conditions &lt;&lt; extra_conditions if extra_conditions
             dependent_conditions = dependent_conditions.collect {|where| &quot;(#{where})&quot; }.join(&quot; AND &quot;)
-
+            dependent_conditions = dependent_conditions.gsub('@', '\@')
             case reflection.options[:dependent]
               when :destroy
                 method_name = &quot;has_many_dependent_destroy_for_#{reflection.name}&quot;.to_sym
@@ -1467,7 +1467,7 @@ module ActiveRecord
                     delete_all_has_many_dependencies(record,
                       &quot;#{reflection.name}&quot;,
                       #{reflection.class_name},
-                      &quot;#{dependent_conditions}&quot;)
+                      %@#{dependent_conditions}@)
                   end
                 }
               when :nullify
@@ -1477,7 +1477,7 @@ module ActiveRecord
                       &quot;#{reflection.name}&quot;,
                       #{reflection.class_name},
                       &quot;#{reflection.primary_key_name}&quot;,
-                      &quot;#{dependent_conditions}&quot;)
+                      %@#{dependent_conditions}@)
                   end
                 }
               else</diff>
      <filename>activerecord/lib/active_record/associations.rb</filename>
    </modified>
    <modified>
      <diff>@@ -665,6 +665,19 @@ class HasManyAssociationsTest &lt; ActiveRecord::TestCase
     assert_equal 1, Client.find_all_by_client_of(firm.id).size
   end
 
+  def test_dependent_association_respects_optional_hash_conditions_on_delete
+    firm = companies(:odegy)
+    Client.create(:client_of =&gt; firm.id, :name =&gt; &quot;BigShot Inc.&quot;)
+    Client.create(:client_of =&gt; firm.id, :name =&gt; &quot;SmallTime Inc.&quot;)
+    # only one of two clients is included in the association due to the :conditions key
+    assert_equal 2, Client.find_all_by_client_of(firm.id).size
+    assert_equal 1, firm.dependent_sanitized_conditional_clients_of_firm.size
+    firm.destroy
+    # only the correctly associated client should have been deleted
+    assert_equal 1, Client.find_all_by_client_of(firm.id).size
+  end
+
+
   def test_creation_respects_hash_condition
     ms_client = companies(:first_firm).clients_like_ms_with_hash_conditions.build
 </diff>
      <filename>activerecord/test/cases/associations/has_many_associations_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -80,6 +80,7 @@ class ExclusivelyDependentFirm &lt; Company
   has_one :account, :foreign_key =&gt; &quot;firm_id&quot;, :dependent =&gt; :delete
   has_many :dependent_sanitized_conditional_clients_of_firm, :foreign_key =&gt; &quot;client_of&quot;, :class_name =&gt; &quot;Client&quot;, :order =&gt; &quot;id&quot;, :dependent =&gt; :delete_all, :conditions =&gt; &quot;name = 'BigShot Inc.'&quot;
   has_many :dependent_conditional_clients_of_firm, :foreign_key =&gt; &quot;client_of&quot;, :class_name =&gt; &quot;Client&quot;, :order =&gt; &quot;id&quot;, :dependent =&gt; :delete_all, :conditions =&gt; [&quot;name = ?&quot;, 'BigShot Inc.']
+  has_many :dependent_hash_conditional_clients_of_firm, :foreign_key =&gt; &quot;client_of&quot;, :class_name =&gt; &quot;Client&quot;, :order =&gt; &quot;id&quot;, :dependent =&gt; :delete_all, :conditions =&gt; {:name =&gt; 'BigShot Inc.'}
 end
 
 class Client &lt; Company</diff>
      <filename>activerecord/test/models/company.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>6f4b2469fb19bb01fa0f53192eb49f8f2d95db1b</id>
    </parent>
  </parents>
  <author>
    <name>Frederick Cheung</name>
    <email>frederick.cheung@gmail.com</email>
  </author>
  <url>http://github.com/rails/rails/commit/b17b9371c6a26484eb1984d45acffcdcd91b1ae1</url>
  <id>b17b9371c6a26484eb1984d45acffcdcd91b1ae1</id>
  <committed-date>2008-12-21T07:57:48-08:00</committed-date>
  <authored-date>2008-12-21T07:38:40-08:00</authored-date>
  <message>Fix configure_dependency_for_has_many not quoting conditions properly [#1461 state:resolved]</message>
  <tree>f81c502a724e8383faf90d6b28250fd54860e9e5</tree>
  <committer>
    <name>Pratik Naik</name>
    <email>pratiknaik@gmail.com</email>
  </committer>
</commit>
