make add_order a tad faster (Closes #6567)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5452 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
a3dba1ed7c
commit
57a3e44052
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* make add_order a tad faster. #6567 [Stefan Kaes]
|
||||
|
||||
* Find with :include respects scoped :order. #5850
|
||||
|
||||
* Support nil and Array in :conditions => { attr => value } hashes. #6548 [Assaf, Jeremy Kemper]
|
||||
|
|
|
@ -1096,7 +1096,7 @@ module ActiveRecord #:nodoc:
|
|||
|
||||
sql << " GROUP BY #{options[:group]} " if options[:group]
|
||||
|
||||
add_order!(sql, options[:order])
|
||||
add_order!(sql, options[:order], scope)
|
||||
add_limit!(sql, options, scope)
|
||||
add_lock!(sql, options, scope)
|
||||
|
||||
|
@ -1120,12 +1120,14 @@ module ActiveRecord #:nodoc:
|
|||
end
|
||||
end
|
||||
|
||||
def add_order!(sql, order)
|
||||
def add_order!(sql, order, scope = :auto)
|
||||
scope = scope(:find) if :auto == scope
|
||||
scoped_order = scope[:order] if scope
|
||||
if order
|
||||
sql << " ORDER BY #{order}"
|
||||
sql << ", #{scope(:find, :order)}" if scoped?(:find, :order)
|
||||
sql << ", #{scoped_order}" if scoped_order
|
||||
else
|
||||
sql << " ORDER BY #{scope(:find, :order)}" if scoped?(:find, :order)
|
||||
sql << " ORDER BY #{scoped_order}" if scoped_order
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue