Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Ticket #9616: sqlserver_adapter_orderby.patch

File sqlserver_adapter_orderby.patch, 1.2 kB (added by lawrence, 1 year ago)

update for database plugin architecture

  • lib/active_record/connection_adapters/sqlserver_adapter.rb

    old new  
    394394          sql.sub!(/^\s*SELECT(\s+DISTINCT)?/i, "SELECT * FROM (SELECT TOP #{options[:limit]} * FROM (SELECT#{$1} TOP #{options[:limit] + options[:offset]} ") 
    395395          sql << ") AS tmp1" 
    396396          if options[:order] 
    397             options[:order] = options[:order].split(',').map do |field| 
     397            order = options[:order].split(',').map do |field| 
    398398              parts = field.split(" ") 
    399399              tc = parts[0] 
    400400              if sql =~ /\.\[/ and tc =~ /\./ # if column quoting used in query 
     
    408408              end 
    409409              parts.join(' ') 
    410410            end.join(', ') 
    411             sql << " ORDER BY #{change_order_direction(options[:order])}) AS tmp2 ORDER BY #{options[:order]}" 
     411            sql << " ORDER BY #{change_order_direction(order)}) AS tmp2 ORDER BY #{order}" 
    412412          else 
    413413            sql << " ) AS tmp2" 
    414414          end