Method: ActiveRecord::ConnectionAdapters::IBM_DB2_I5#columns_for_distinct
- Defined in:
- lib/active_record/connection_adapters/ibm_db_adapter.rb
#columns_for_distinct(columns, orders) ⇒ Object
T009: IBM DB requires the ORDER BY columns in the select list for distinct queries, and requires that the ORDER BY include the distinct column.
3227 3228 3229 3230 3231 3232 3233 3234 3235 |
# File 'lib/active_record/connection_adapters/ibm_db_adapter.rb', line 3227 def columns_for_distinct(columns, orders) order_columns = orders.map{ |s| # Convert Arel node to string s = s.to_sql unless s.is_a?(String) # Remove any ASC/DESC modifiers s.gsub(/\s+(ASC|DESC)\s*(NULLS\s+(FIRST|LAST)\s*)?/i, '') }.reject(&:blank?).map.with_index { |column, i| "#{column} AS alias_#{i}" } [columns, *order_columns].join(', ') end |