<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -96,7 +96,7 @@ module ActiveRecord
         options = reflection.options
 
         conditions = &quot;t0.#{reflection.primary_key_name} #{in_or_equals_for_ids(ids)}&quot;
-        conditions &lt;&lt; append_conditions(options, preload_options)
+        conditions &lt;&lt; append_conditions(reflection, preload_options)
 
         associated_records = reflection.klass.find(:all, :conditions =&gt; [conditions, ids],
         :include =&gt; options[:include],
@@ -233,7 +233,7 @@ module ActiveRecord
             end
           end
           conditions = &quot;#{table_name}.#{connection.quote_column_name(primary_key)} #{in_or_equals_for_ids(ids)}&quot;
-          conditions &lt;&lt; append_conditions(options, preload_options)
+          conditions &lt;&lt; append_conditions(reflection, preload_options)
           associated_records = klass.find(:all, :conditions =&gt; [conditions, ids],
                                           :include =&gt; options[:include],
                                           :select =&gt; options[:select],
@@ -254,7 +254,7 @@ module ActiveRecord
           conditions = &quot;#{reflection.klass.quoted_table_name}.#{foreign_key} #{in_or_equals_for_ids(ids)}&quot;
         end
 
-        conditions &lt;&lt; append_conditions(options, preload_options)
+        conditions &lt;&lt; append_conditions(reflection, preload_options)
 
         reflection.klass.find(:all,
                               :select =&gt; (preload_options[:select] || options[:select] || &quot;#{table_name}.*&quot;),
@@ -270,9 +270,9 @@ module ActiveRecord
         instance_eval(&quot;%@#{sql.gsub('@', '\@')}@&quot;)
       end
 
-      def append_conditions(options, preload_options)
+      def append_conditions(reflection, preload_options)
         sql = &quot;&quot;
-        sql &lt;&lt; &quot; AND (#{interpolate_sql_for_preload(sanitize_sql(options[:conditions]))})&quot; if options[:conditions]
+        sql &lt;&lt; &quot; AND (#{interpolate_sql_for_preload(reflection.sanitized_conditions)})&quot; if reflection.sanitized_conditions
         sql &lt;&lt; &quot; AND (#{sanitize_sql preload_options[:conditions]})&quot; if preload_options[:conditions]
         sql
       end</diff>
      <filename>activerecord/lib/active_record/association_preload.rb</filename>
    </modified>
    <modified>
      <diff>@@ -112,6 +112,10 @@ module ActiveRecord
         name == other_aggregation.name &amp;&amp; other_aggregation.options &amp;&amp; active_record == other_aggregation.active_record
       end
 
+      def sanitized_conditions #:nodoc:
+        @sanitized_conditions ||= klass.send(:sanitize_sql, options[:conditions]) if options[:conditions]
+      end
+
       private
         def derive_class_name
           name.to_s.camelize</diff>
      <filename>activerecord/lib/active_record/reflection.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e34e6d67e3861dab5b6e21703c0fefa96e728158</id>
    </parent>
  </parents>
  <author>
    <name>Will Bryant</name>
    <email>will.bryant@gmail.com</email>
  </author>
  <url>http://github.com/rails/rails/commit/7823c50c975df975ca3237bfbe9ca0b3c60f6b6d</url>
  <id>7823c50c975df975ca3237bfbe9ca0b3c60f6b6d</id>
  <committed-date>2008-09-29T08:50:26-07:00</committed-date>
  <authored-date>2008-09-23T22:00:35-07:00</authored-date>
  <message>fix eager loading's :condition sanitizing expanding against the wrong table

Signed-off-by: Michael Koziarski &lt;michael@koziarski.com&gt;
[#1101 state:commited]</message>
  <tree>4b8f745b5e31439bd745a5a7547df1f330827212</tree>
  <committer>
    <name>Michael Koziarski</name>
    <email>michael@koziarski.com</email>
  </committer>
</commit>
