aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/preloader/through_association.rb
Commit message (Collapse)AuthorAgeFilesLines
* Remove all references to `where_values` in association codeSean Griffin2015-01-251-3/+2
|
* Don't access the where values hash directly in through associationsSean Griffin2015-01-251-1/+1
| | | | See 4d7a62293e148604045a5f78a9d4312e79e90d13 for the reasoning
* Use bind values for joined tables in where statementsSean Griffin2014-11-011-0/+1
| | | | | | | | | | | | | | | In practical terms, this allows serialized columns and tz aware columns to be used in wheres that go through joins, where they previously would not behave correctly. Internally, this removes 1/3 of the cases where we rely on Arel to perform type casting for us. There were two non-obvious changes required for this. `update_all` on relation was merging its bind values with arel's in the wrong order. Additionally, through associations were assuming there would be no bind parameters in the preloader (presumably because the where would always be part of a join) [Melanie Gilman & Sean Griffin]
* Spelling errorsjbsmith862014-08-141-1/+1
|
* reset `@arel` when modifying a Relation in place.Yves Senn2014-04-241-1/+1
| | | | /cc @tenderlove
* Replace map.flatten with flat_map in activerecordErik Michaels-Ober2014-03-031-1/+1
|
* read the association instead of sendingAaron Patterson2013-10-141-1/+3
|
* simplify populating the ordering hashAaron Patterson2013-10-141-10/+5
|
* the preloader for the RHS has all the preloaded records, so ask itAaron Patterson2013-10-141-3/+3
|
* only calculate offset index once. #12537Aaron Patterson2013-10-141-6/+10
|
* Drop unused iterator varVipul A M2013-10-131-1/+1
|
* remove initialize methodAaron Patterson2013-09-251-4/+0
|
* extract association resetting to a methodAaron Patterson2013-09-251-9/+16
|
* always populate the preloaded records instance variable so we can removeAaron Patterson2013-09-251-7/+4
| | | | the @associated_records_by_owner ivar
* keep preloaded records in a list rather than extract from a hashAaron Patterson2013-09-251-2/+8
|
* all records have a preloaded, so eliminate that conditionalAaron Patterson2013-09-241-11/+7
|
* eliminate the `loaded?` conditionalAaron Patterson2013-09-241-3/+1
|
* push preloaded test up to the factory method so we can eliminateAaron Patterson2013-09-241-3/+3
| | | | conditionals from the individual preloaded classes
* we can't sort by lhs since the middle records have difference classesAaron Patterson2013-09-231-19/+19
| | | | and possibly different rules for finding those objects
* pass the preloader down so we only have to construct oneAaron Patterson2013-09-231-8/+6
|
* remove state from the preloaderAaron Patterson2013-09-231-10/+9
|
* only do the should_reset test onceAaron Patterson2013-09-231-6/+6
|
* fix variable names and speed up relation orderingAaron Patterson2013-09-231-7/+11
|
* hm:t preloading will respect order set on the RHS associationAaron Patterson2013-09-231-2/+25
|
* combine methods so we can reuse preloadersAaron Patterson2013-09-201-19/+18
|
* return a list rather than hashAaron Patterson2013-09-201-7/+13
|
* split up construction and mutationAaron Patterson2013-09-201-1/+4
|
* remove intermediate variableAaron Patterson2013-08-271-3/+1
|
* cache association reset calculationAaron Patterson2013-08-271-4/+4
|
* query the association rather than send the method for the association nameAaron Patterson2013-08-271-5/+6
|
* don't shadow `through_scope` method name with local var.Yves Senn2013-06-301-7/+7
|
* don't apply invalid ordering when preloading hmt associations.Yves Senn2013-02-241-2/+2
| | | | | | | | | | | | | | | closes #8663. When preloading a hmt association there two possible scenarios: 1.) preload with 2 queries: first hm association, then hmt with id IN () 2.) preload with join: hmt association is loaded with a join on the hm association The bug was happening in scenario 1.) with a normal order clause on the hmt association. The ordering was also applied when loading the hm association, which resulted in the error. This patch only applies the ordering the the hm-relation if we are performing a join (2). Otherwise the order will only appear in the second query (1).
* don't cache invalid subsets when preloading hmt associations.Yves Senn2013-02-141-1/+2
| | | | closes #8423.
* Represent association scope options as AR::Relations insternally.Jon Leighton2012-07-131-16/+11
|
* Revert "Deprecate implicit eager loading. Closes #950."Jon Leighton2012-01-161-1/+0
| | | | This reverts commit c99d507fccca2e9e4d12e49b4387e007c5481ae9.
* Deprecate implicit eager loading. Closes #950.Jon Leighton2011-12-291-0/+1
|
* Stop identity-mapping the through records in the preloader since I fixed the ↵Jon Leighton2011-03-041-5/+0
| | | | underlying problem in the habtm preloader.
* Merge branch 'master' into nested_has_many_throughJon Leighton2011-03-041-0/+5
|\
* | Merge branch 'master' into nested_has_many_throughJon Leighton2011-03-041-2/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: activerecord/CHANGELOG activerecord/lib/active_record/association_preload.rb activerecord/lib/active_record/associations.rb activerecord/lib/active_record/associations/class_methods/join_dependency.rb activerecord/lib/active_record/associations/class_methods/join_dependency/join_association.rb activerecord/lib/active_record/associations/has_many_association.rb activerecord/lib/active_record/associations/has_many_through_association.rb activerecord/lib/active_record/associations/has_one_association.rb activerecord/lib/active_record/associations/has_one_through_association.rb activerecord/lib/active_record/associations/through_association_scope.rb activerecord/lib/active_record/reflection.rb activerecord/test/cases/associations/has_many_through_associations_test.rb activerecord/test/cases/associations/has_one_through_associations_test.rb activerecord/test/cases/reflection_test.rb activerecord/test/cases/relations_test.rb activerecord/test/fixtures/memberships.yml activerecord/test/models/categorization.rb activerecord/test/models/category.rb activerecord/test/models/member.rb activerecord/test/models/reference.rb activerecord/test/models/tagging.rb
* Rewrote AssociationPreload.Jon Leighton2011-02-281-0/+66