aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation/merger.rb
Commit message (Collapse)AuthorAgeFilesLines
* performance improvements to joins!Aaron Patterson2012-10-121-2/+12
| | | | | | | | | | | | | | | | | | Before: Calculating ------------------------------------- ar 87 i/100ms ------------------------------------------------- ar 823.4 (±11.8%) i/s - 4089 in 5.070234s After: Calculating ------------------------------------- ar 88 i/100ms ------------------------------------------------- ar 894.1 (±3.9%) i/s - 4488 in 5.028161s Same test as 3a6dfca7f5f5bd45cea2f6ac348178e72423e1d5
* Speed up relation merging by reducing calls to Array#-Aaron Patterson2012-10-121-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | before: Calculating ------------------------------------- ar 83 i/100ms ------------------------------------------------- ar 832.1 (±4.0%) i/s - 4233 in 5.096611s after: Calculating ------------------------------------- ar 87 i/100ms ------------------------------------------------- ar 839.0 (±9.3%) i/s - 4176 in 5.032782s Benchmark: require 'config/environment' require 'benchmark/ips' GC.disable unless User.find_by_login('tater') u = User.new u.login = 'tater' u.save! end def active_record user = User.find_by_login('tater') starred = user.starred_items.count end active_record Benchmark.ips do |x| x.report("ar") { active_record } end
* Fix "last equality wins" logic in relation mergeErnie Miller2012-08-191-10/+5
| | | | | | This is a real fix (as compared to the band-aid in b127d86c), which uses the recently-added equality methods for ARel nodes. It has the side benefit of simplifying the merge code a bit.
* Fix merge error when Equality LHS is non-attributeErnie Miller2012-08-171-2/+5
| | | | | | | | | This is at best a band-aid for a more proper fix, since it won't truly handle the removal of the previous equality condition of these other nodes. I'm planning to put in some work on ARel toward supporting that goal. Related: rails/arel#130, ernie/squeel#153, ernie/squeel#156
* load active_support/core_ext/object/blank in active_support/railsXavier Noria2012-08-021-1/+0
|
* Add nodoc to HashMerger and MergerOscar Del Ben2012-07-171-2/+2
|
* Relation#from to accept other Relation objectsRadoslav Stankov2012-05-171-1/+2
| | | | Record.from("(#{sub_query.to_sql})") -> Record.from(sub_query) Record.from("(#{sub_query.to_sql}) a") -> Record.from(sub_query, :a)
* Revert "Merge pull request #5494 from ↵Jon Leighton2012-05-051-28/+3
| | | | | | | armstrjare/active_record_relation_keep_association_join_context_on_merge" This reverts commit dcd04e76179611a9db28c9e391aa7d6c2a5b046a, reversing changes made to 58a49875df63729f07a9a81d1ee349087d258df5.
* Allow ActiveRecord::Relation merges to maintain context of joined associationsJared Armstrong2012-05-041-3/+28
|
* fix interpolation for hash mergingJon Leighton2012-04-251-15/+24
|
* allow merging a single where valueJon Leighton2012-04-251-1/+1
|
* now we can just manipulate the values hash in #only and #exceptJon Leighton2012-04-131-10/+1
|
* remove apply_finder_options call from AssociationScopeJon Leighton2012-04-131-1/+1
|
* Make Relation#extending work like other value methodsJon Leighton2012-04-131-3/+1
|
* assert valid keysJon Leighton2012-04-131-0/+5
|
* Allow Relation#merge to take a hashJon Leighton2012-04-131-44/+69
|
* we have no need for the ASSOCIATION_METHODS constantJon Leighton2012-04-131-1/+1
|
* refactoringJon Leighton2012-04-131-36/+45
|
* Extract clusterfuck method for surgeryJon Leighton2012-04-131-0/+84