aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/arel/visitors/postgresql.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/arel/visitors/postgresql.rb b/lib/arel/visitors/postgresql.rb
index e8aa9b8cb3..87fc3bd60d 100644
--- a/lib/arel/visitors/postgresql.rb
+++ b/lib/arel/visitors/postgresql.rb
@@ -31,7 +31,15 @@ module Arel
def aliased_orders orders
#orders = o.orders.map { |x| visit x }.join(', ').split(',')
- (0...orders.size).map { |i| "id_list.alias_#{i}" }
+ list = []
+ orders.each_with_index do |o,i|
+ list <<
+ [
+ "id_list.alias_#{i}",
+ (o.index(/desc/i) && 'DESC')
+ ].compact.join(' ')
+ end
+ list
end
end
end