0
@@ -85,9 +85,8 @@ module ActiveRecord
0
return id_to_record_map, ids
0
def preload_has_and_belongs_to_many_association(records, reflection, preload_options={})
0
- table_name = reflection.klass.
table_name
0
+ table_name = reflection.klass.
quoted_table_name
0
id_to_record_map, ids = construct_id_map(records)
0
records.each {|record| record.send(reflection.name).loaded}
0
options = reflection.options
0
@@ -97,7 +96,7 @@ module ActiveRecord
0
associated_records = reflection.klass.find(:all, :conditions => [conditions, ids],
0
:include => options[:include],
0
- :joins => "INNER JOIN #{
options[:join_table]} as t0 ON #{reflection.klass.table_name}.#{reflection.klass.primary_key} = t0.#{reflection.association_foreign_key}",
0
+ :joins => "INNER JOIN #{
connection.quote_table_name options[:join_table]} as t0 ON #{reflection.klass.quoted_table_name}.#{reflection.klass.primary_key} = t0.#{reflection.association_foreign_key}",
0
:select => "#{options[:select] || table_name+'.*'}, t0.#{reflection.primary_key_name} as _parent_record_id",
0
:order => options[:order])
0
@@ -157,7 +156,7 @@ module ActiveRecord
0
if reflection.options[:source_type]
0
interface = reflection.source_reflection.options[:foreign_type]
0
- preload_options = {:conditions => ["#{
interface} = ?", reflection.options[:source_type]]}
0
+ preload_options = {:conditions => ["#{
connection.quote_column_name interface} = ?", reflection.options[:source_type]]}
0
records.first.class.preload_associations(records, through_association, preload_options)
0
@@ -216,7 +215,7 @@ module ActiveRecord
0
klass_name, id_map = *klass_and_id
0
klass = klass_name.constantize
0
- table_name = klass.
table_name
0
+ table_name = klass.
quoted_table_name
0
primary_key = klass.primary_key
0
conditions = "#{table_name}.#{primary_key} IN (?)"
0
conditions << append_conditions(options, preload_options)
0
@@ -229,16 +228,15 @@ module ActiveRecord
0
def find_associated_records(ids, reflection, preload_options)
0
options = reflection.options
0
- table_name = reflection.klass.
table_name
0
+ table_name = reflection.klass.
quoted_table_name
0
if interface = reflection.options[:as]
0
- conditions = "#{reflection.klass.
table_name}.#{interface}_id IN (?) and #{reflection.klass.table_name}.#{interface}_type = '#{self.base_class.name.demodulize}'"
0
+ conditions = "#{reflection.klass.
quoted_table_name}.#{connection.quote_column_name "#{interface}_id"} IN (?) and #{reflection.klass.quoted_table_name}.#{connection.quote_column_name "#{interface}_type"} = '#{self.base_class.name.demodulize}'"
0
foreign_key = reflection.primary_key_name
0
- conditions = "#{reflection.klass.
table_name}.#{foreign_key} IN (?)"
0
+ conditions = "#{reflection.klass.
quoted_table_name}.#{foreign_key} IN (?)"
0
conditions << append_conditions(options, preload_options)