aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/preloader/through_association.rb
Commit message (Collapse)AuthorAgeFilesLines
* Add more rubocop rules about whitespacesRafael Mendonça França2016-10-291-3/+3
|
* Add `Style/EmptyLines` in `.rubocop.yml` and remove extra empty linesRyuta Kamizono2016-08-071-1/+0
|
* normalizes indentation and whitespace across the projectXavier Noria2016-08-061-32/+32
|
* Merge pull request #18766 from yasyf/issue_17864Sean Griffin2016-02-291-8/+15
|\ | | | | | | | | Honour joining model order in `has_many :through` associations when eager loading
| * Honour the order of the joining model in a `has_many :through`Yasyf Mohamedali2015-03-021-8/+15
| | | | | | | | | | | | | | | | | | association when eager loading. Previously, eager loading a `has_many :through` association with no defined order would return the records in the natural order of the database. Now, these records will be returned in the order that the joining record is returned, in case there is a defined order there.
* | Merge pull request #19423 from ↵Aaron Patterson2015-12-181-2/+7
|\ \ | | | | | | | | | | | | yuroyoro/fix_performance_regression_of_preloading_has_many_through_relation Fix #12537 performance regression when preloading has_many_through association
| * | Read already loaded association records from association.targetTomohito Ozaki2015-04-171-2/+7
| |/ | | | | | | | | For performance, Avoid instantiate CollectionProxy. Fixes #12537
* / Never pass `nil` to `order`Sean Griffin2015-10-291-1/+3
|/ | | | | | | | This is part of a refactoring to make it easier to allow `order` to use sanitize like just about everything else on relation. The deleted test doesn't give any reasoning as to why passing `nil` to `order` needs to be supported, and it's rather nonsensical. I can almost see allowing an empty string being passed (though I'm tempted to just disallow it...)
* 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