Ticket #9616: sqlserver_adapter_orderby.patch
| File sqlserver_adapter_orderby.patch, 1.2 kB (added by lawrence, 1 year ago) |
|---|
-
lib/active_record/connection_adapters/sqlserver_adapter.rb
old new 394 394 sql.sub!(/^\s*SELECT(\s+DISTINCT)?/i, "SELECT * FROM (SELECT TOP #{options[:limit]} * FROM (SELECT#{$1} TOP #{options[:limit] + options[:offset]} ") 395 395 sql << ") AS tmp1" 396 396 if options[:order] 397 o ptions[:order]= options[:order].split(',').map do |field|397 order = options[:order].split(',').map do |field| 398 398 parts = field.split(" ") 399 399 tc = parts[0] 400 400 if sql =~ /\.\[/ and tc =~ /\./ # if column quoting used in query … … 408 408 end 409 409 parts.join(' ') 410 410 end.join(', ') 411 sql << " ORDER BY #{change_order_direction(o ptions[:order])}) AS tmp2 ORDER BY #{options[:order]}"411 sql << " ORDER BY #{change_order_direction(order)}) AS tmp2 ORDER BY #{order}" 412 412 else 413 413 sql << " ) AS tmp2" 414 414 end