aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/relation
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate Relation#sum with a block.Carlos Antonio da Silva2012-11-211-0/+6
| | | | | | | To perform a sum calculation over the array of elements, use to_a.sum(&block). Please check the discussion in f9cb645dfcb5cc89f59d2f8b58a019486c828c73 for more context.
* Revert "Yield only one argument instead of splatting."Carlos Antonio da Silva2012-11-211-14/+3
| | | | | | | | | | | | | | This reverts commit f9cb645dfcb5cc89f59d2f8b58a019486c828c73. Conflicts: activerecord/CHANGELOG.md Revert "Allow blocks for count with ActiveRecord::Relation. Document and test that sum allows blocks" This reverts commit 9cc2bf69ce296b7351dc612a8366193390a305f3. Conflicts: activerecord/lib/active_record/relation/calculations.rb
* Remove not used require and some useless test commentsCarlos Antonio da Silva2012-11-171-2/+0
|
* Merge branch 'master' of github.com:lifo/docrailsVijay Dev2012-11-175-15/+15
|\ | | | | | | | | Conflicts: actionpack/lib/action_dispatch/routing/redirection.rb
| * 1.9 Syntax related changesAvnerCohen2012-11-105-15/+15
| |
* | arel columns can be used for grouping so that "weird" column names are usableAaron Patterson2012-11-151-0/+4
| |
* | stop hardcoding FrontBase adapter conditionalsAaron Patterson2012-11-151-1/+1
| |
* | stop passing *args to generate aliasesAaron Patterson2012-11-151-4/+2
| |
* | create fewer relation objectsAaron Patterson2012-11-151-3/+6
| |
* | `#pluck` can be used on a relation with `select` clause.Yves Senn2012-11-121-1/+3
| | | | | | | | Closes #7551
* | Make ActiveRecord::Delegation#method_missing threadsafeJon Leighton2012-11-101-3/+21
| | | | | | | | | | | | | | | | | | | | | | | | Two threads may be in method_missing at the same time. If so, they might both try to define the same delegator method. Such a situation probably wouldn't result in a particularly spectacular bug as one method would probably just be overridden by an identical method, but it could cause warnings to pop up. (It could be worse if method definition is non-atomic in a particular implementation.) (We will also need this mutex shortly anyway, see #8127.)
* | Remove not used indifferent_access requires from Base and FinderMethodsCarlos Antonio da Silva2012-11-071-2/+0
| |
* | Use cached quoted_table_name instead of going through the connectionCarlos Antonio da Silva2012-11-071-1/+1
| |
* | Remove block given check from private find_with_idsCarlos Antonio da Silva2012-11-071-2/+0
| | | | | | | | | | This is already handled by #find, it's a duplicate check, since find_with_ids is not called from anywhere else.
* | Use flat_map when building AR orderCarlos Antonio da Silva2012-11-041-6/+4
|/
* Fix find_in_batches against string IDs when start option is not specified.Alexis Bernard2012-10-311-2/+2
|
* ActiveRecord::Relation#none! method.Juanjo Bazán2012-10-281-0/+5
|
* Remove ActiveRecord::ModelJon Leighton2012-10-262-4/+4
| | | | | | | | | | In the end I think the pain of implementing this seamlessly was not worth the gain provided. The intention was that it would allow plain ruby objects that might not live in your main application to be subclassed and have persistence mixed in. But I've decided that the benefit of doing that is not worth the amount of complexity that the implementation introduced.
* use columns hash to look up the column for the count fieldAaron Patterson2012-10-171-1/+1
|
* ActiveRecord: sum expression returns string '0' for no records, fixedTim Macfarlane2012-10-151-1/+1
|
* buckets hash isn't public, so use symbol keys to avoid stringAaron Patterson2012-10-151-8/+8
| | | | allocations
* performance improvements to joins!Aaron Patterson2012-10-122-5/+13
| | | | | | | | | | | | | | | | | | 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
* trailling whitespace cleanup in query_methods.rbYves Senn2012-10-121-12/+12
|
* learn ActiveRecord::QueryMethods#order work with hash argumentsTima Maslyuchenko2012-10-121-4/+47
|
* Fix typo: 'this also mean' -> 'this also means'Jeffrey Hardy2012-10-081-1/+1
|
* start could be a stringSantiago Pastorino2012-09-211-1/+1
| | | | | Related to 761bc751d31c22e2c2fdae2b4cdd435b68b6d783 and eb876c4d07130f15be2cac7be968cc393f959c62
* Revert "Fix find_in_batches with customized primary_key"Santiago Pastorino2012-09-211-7/+6
| | | | | | | This reverts commit 761bc751d31c22e2c2fdae2b4cdd435b68b6d783. This commit wasn't fixing any issue just using the same table for different models with different primary keys.
* rename AR::Model::Tag to AR::Tag - fixes #7714Francesco Rodriguez2012-09-201-1/+1
|
* fix querying with an empty hashDamien Mathieu2012-09-191-2/+6
| | | | Closes #6960
* Fix find_in_batches with customized primary_keyToshiyuki Kawanishi2012-09-161-6/+7
|
* Pass in the model class rather than engineJon Leighton2012-09-132-6/+6
| | | | | | | | | In some circumstances engine was Arel::Table.engine which for separate reasons was an ActiveRecord::Model::DeprecationProxy, which caused a deprecation warning. In any case, we want the actual model class here, since we want to use it to infer information about associations.
* Refactor to remove some duplicationJon Leighton2012-09-121-37/+20
|
* Fix nested association referencesJon Leighton2012-09-121-3/+4
| | | | | Previously the reflection would be looked up on the wrong class. However the test passed because the examples referred back to themselves.
* Accept belongs_to assoc. keys in ActiveRecord queriesbeerlington2012-09-112-4/+66
| | | | | | | | | | | | | Allows you to specify the model association key in a belongs_to relationship instead of the foreign key. The following queries are now equivalent: Post.where(:author_id => Author.first) Post.where(:author => Author.first) PriceEstimate.where(:estimate_of_type => 'Treasure', :estimate_of_id => treasure) PriceEstimate.where(:estimate_of => treasure)
* Fix pluck when columns/tables are reserved words.Ian Lesperance2012-09-051-1/+1
|
* Model.select takes a variable list of arguments.Isaac Sanders2012-08-231-11/+12
| | | | | | This is a cleaner version of #6916. Closes #3165.
* 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
* Allow Relation#merge to take a proc.Jon Leighton2012-08-031-2/+13
| | | | | | | | | | | | | | | | | | This was requested by DHH to allow creating of one's own custom association macros. For example: module Commentable def has_many_comments(extra) has_many :comments, -> { where(:foo).merge(extra) } end end class Post < ActiveRecord::Base extend Commentable has_many_comments -> { where(:bar) } end
* load active_support/core_ext/module/delegation in active_support/railsXavier Noria2012-08-021-1/+0
|
* load active_support/core_ext/object/blank in active_support/railsXavier Noria2012-08-026-6/+0
|
* AR::Relation#order: make new order prepend old oneBogdan Gusiev2012-07-312-3/+3
| | | | | | | User.order("name asc").order("created_at desc") # SELECT * FROM users ORDER BY created_at desc, name asc This also affects order defined in `default_scope` or any kind of associations.
* Revert "Removing composed_of from ActiveRecord."Rafael Mendonça França2012-07-271-1/+2
| | | | | | | | | | | This reverts commit 14fc8b34521f8354a17e50cd11fa3f809e423592. Reason: we need to discuss a better path from this removal. Conflicts: activerecord/lib/active_record/reflection.rb activerecord/test/cases/base_test.rb activerecord/test/models/developer.rb
* Changelog and doc updates for the previous changes.Jon Leighton2012-07-271-6/+6
|
* Deprecate Relation#all.Jon Leighton2012-07-272-15/+2
| | | | | | It has been moved to active_record_deprecated_finders. Use #to_a instead.
* Deprecate ActiveRecord::Base.scoped.Jon Leighton2012-07-271-1/+1
| | | | | | | It doesn't serve much purpose now that ActiveRecord::Base.all returns a Relation. The code is moved to active_record_deprecated_finders.
* improve NullRelation docs [ci skip]Vijay Dev2012-07-211-4/+4
|
* minor copy edits [ci skip]Vijay Dev2012-07-211-1/+1
|
* Add nodocs to delegation module and docs for merge!Oscar Del Ben2012-07-172-1/+2
|