I've noticed a rather insidious 3.0.4 change to the way that chained where methods that reference the same attribute are handled. Does anyone know where I can find more information about where/when this change came in, and the justification for it? I haven't been able to find a changelog mentioning this modification.
Essentially, when you chain two where methods together that reference the same attribute, the SQL query generated uses an OR on that attribute, rather than AND. Example: Rails 3.0.3 State.where(:abbreviation => 'TX').where(:abbreviation => 'NE') SQL: SELECT `states`.* FROM `states` WHERE (`states`.`abbreviation` = 'TX') AND (`states`.`abbreviation` = 'NE') Rails 3.0.4 State.where(:abbreviation => 'TX').where(:abbreviation => 'NE') SQL: SELECT `states`.* FROM `states` WHERE (`states`.`abbreviation` = 'TX' OR `states`.`abbreviation` = 'NE') -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

