Method: ArelExtensions::Visitors::MSSQL#visit_ArelExtensions_Nodes_GroupConcat
- Defined in:
- lib/arel_extensions/visitors/mssql.rb
#visit_ArelExtensions_Nodes_GroupConcat(o, collector) ⇒ Object
TODO;
612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 |
# File 'lib/arel_extensions/visitors/mssql.rb', line 612 def visit_ArelExtensions_Nodes_GroupConcat o, collector collector << '(STRING_AGG(' collector = visit o.left, collector collector << Arel::Visitors::Oracle::COMMA collector = if o.separator && o.separator != 'NULL' visit o.separator, collector else visit Arel.quoted(','), collector end collector << ') WITHIN GROUP (ORDER BY ' if o.order.present? o.order.each_with_index do |order, i| collector << Arel::Visitors::Oracle::COMMA if i != 0 collector = visit order, collector end else collector = visit o.left, collector end collector << '))' collector end |