diff options
Diffstat (limited to 'lib/arel/visitors')
-rw-r--r-- | lib/arel/visitors/postgresql.rb | 10 |
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 |